PluginProbe
GSpeech TTS – WordPress Text To Speech Plugin / 3.21.0
GSpeech TTS – WordPress Text To Speech Plugin v3.21.0
3.21.5 3.21.4 3.21.3 3.21.1 3.21.2 3.20.8 3.21.0 3.20.7 3.20.6 3.20.4 3.20.5 3.20.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.10.1 3.10.2 3.10.3 3.11.0 3.11.1 3.11.2 3.12.0 All 161 releases
gspeech / includes / js / admin.js

admin.js in GSpeech TTS – WordPress Text To Speech Plugin 3.21.0, at includes/js/admin.js

16,419 lines 817.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function($) {
2
3 window.gspeechDash = function(options) {
4
5 var $this = this,
6 thisPage = this;
7
8 var wp_ajax_url = wpgsp_ajax_obj_1.ajax_url;
9 var wp_ajax_nonce = wpgsp_ajax_obj_1.nonce;
10
11 this.initVars = function() {
12
13 console.clear();
14
15 // get options
16 this.options = options;
17 this.is_touch_devise = 'ontouchstart' in window ? true : false;
18 this.timeouts = {};
19 this.options.root_request = false;
20 this.preview_audios = {};
21 this.options.tts_url = 'https://gspeech.io';
22 this.options.token = '';
23 this.options.messages_hide_delay = 2000;
24 this.options.widget_id = $('#gsp_widget_id_val').html();
25 this.options.shortcodes_loaded = $('#gsp_load_shortcode_widgets').html();
26 this.options.sh_ = $('#gsp_sh_').html();
27
28 var user_email_written = $("#gsp_useremail_written").html();
29 this.options.user_email_written = user_email_written;
30
31 this.options.gspeech_widget_id = "01aebff6acdd3f736ddf1cb93a0c0a66";
32 this.texts_str = 'Playback Speed,Audio Language,Audio Voice,Plays,Audio plays count,Download audio,Downloaded,Open text,Open context player,Close context player,Loading,Play,Pause,Options,Select and listen,Close,Select any text and click on the icon to listen!';
33
34 var svg_inner = 'role="img" xmlns="http://www.w3.org/2000/svg"';
35 this.svgs = {
36 'lang': '<svg class="ss_svg_globe" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M504 256C504 118.815 392.705 8 256 8 119.371 8 8 118.74 8 256c0 136.938 111.041 248 248 248 136.886 0 248-110.987 248-248zm-41.625 64h-99.434c6.872-42.895 6.6-86.714.055-128h99.38c12.841 41.399 12.843 86.598-.001 128zM256.001 470.391c-30.732-27.728-54.128-69.513-67.459-118.391h134.917c-13.332 48.887-36.73 90.675-67.458 118.391zM181.442 320c-7.171-41.387-7.349-85.537.025-128h149.067c7.371 42.453 7.197 86.6.025 128H181.442zM256 41.617c33.557 30.295 55.554 74.948 67.418 118.383H188.582c11.922-43.649 33.98-88.195 67.418-118.383zM449.544 160h-93.009c-10.928-44.152-29.361-83.705-53.893-114.956C366.825 59.165 420.744 101.964 449.544 160zM209.357 45.044C184.826 76.293 166.393 115.847 155.464 160H62.456C91.25 101.975 145.162 59.169 209.357 45.044zM49.625 192h99.38c-6.544 41.28-6.818 85.1.055 128H49.625c-12.842-41.399-12.844-86.598 0-128zm12.831 160h93.122c11.002 44.176 29.481 83.824 53.833 114.968C144.875 452.786 91.108 409.738 62.456 352zm240.139 114.966c24.347-31.138 42.825-70.787 53.827-114.966h93.121c-28.695 57.827-82.504 100.802-146.948 114.966z"></path></svg>',
37 'back': '<svg class="ss_svg_back" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"></path></svg>',
38 'forw': '<svg class="ss_svg_forw" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"></path></svg>',
39 'loading': '<svg class="ss_svg_loading" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M456.433 371.72l-27.79-16.045c-7.192-4.152-10.052-13.136-6.487-20.636 25.82-54.328 23.566-118.602-6.768-171.03-30.265-52.529-84.802-86.621-144.76-91.424C262.35 71.922 256 64.953 256 56.649V24.56c0-9.31 7.916-16.609 17.204-15.96 81.795 5.717 156.412 51.902 197.611 123.408 41.301 71.385 43.99 159.096 8.042 232.792-4.082 8.369-14.361 11.575-22.424 6.92z"></path></svg>',
40 'users': '<svg class="ss_svg_users" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z"></path></svg>',
41 't': '<svg class="ss_svg_t" '+svg_inner+' viewBox="0 0 384 512"><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z"></path></svg>',
42 'download': '<svg class="ss_svg_download" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"></path></svg>',
43 'group': '<svg class="ss_svg_group" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H456.6C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM456.6 96H119.4c-5.6 9.7-13.7 17.8-23.4 23.4V392.6c9.7 5.6 17.8 13.7 23.4 23.4H456.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z"></path></svg>',
44 'ungroup': '<svg class="ss_svg_ungroup" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H328.6C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V232.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4V232.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V352h64v40.6c9.7 5.6 17.8 13.7 23.4 23.4H520.6c5.6-9.7 13.7-17.8 23.4-23.4V279.4c-9.7-5.6-17.8-13.7-23.4-23.4h-46c-5.4-15.4-14.6-28.9-26.5-39.6V192h72.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H311.4z"></path></svg>',
45 'speaker': '<svg class="ss_svg_speaker" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971zm182.056-77.876C422.982.92 403.283 5.668 394.061 20.745c-9.221 15.077-4.473 34.774 10.604 43.995C468.967 104.063 512 174.983 512 256c0 73.431-36.077 142.292-96.507 184.206-14.522 10.072-18.129 30.01-8.057 44.532 10.076 14.528 30.016 18.126 44.531 8.057C529.633 438.927 576 350.406 576 256c0-103.244-54.579-194.877-137.944-245.859zM480 256c0-68.547-36.15-129.777-91.957-163.901-15.076-9.22-34.774-4.471-43.994 10.607-9.22 15.078-4.471 34.774 10.607 43.994C393.067 170.188 416 211.048 416 256c0 41.964-20.62 81.319-55.158 105.276-14.521 10.073-18.128 30.01-8.056 44.532 6.216 8.96 16.185 13.765 26.322 13.765a31.862 31.862 0 0 0 18.21-5.709C449.091 377.953 480 318.938 480 256zm-96 0c0-33.717-17.186-64.35-45.972-81.944-15.079-9.214-34.775-4.463-43.992 10.616s-4.464 34.775 10.615 43.992C314.263 234.538 320 244.757 320 256a32.056 32.056 0 0 1-13.802 26.332c-14.524 10.069-18.136 30.006-8.067 44.53 10.07 14.525 30.008 18.136 44.53 8.067C368.546 316.983 384 287.478 384 256z"></path></svg>',
46 'speaker_empty': '<svg class="ss_svg_speaker_empty" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M576 256c0 100.586-53.229 189.576-134.123 239.04-7.532 4.606-17.385 2.241-21.997-5.304-4.609-7.539-2.235-17.388 5.304-21.997C496.549 424.101 544 345.467 544 256c0-89.468-47.452-168.101-118.816-211.739-7.539-4.609-9.913-14.458-5.304-21.997 4.608-7.539 14.456-9.914 21.997-5.304C522.77 66.424 576 155.413 576 256zm-96 0c0-66.099-34.976-124.572-88.133-157.079-7.538-4.611-17.388-2.235-21.997 5.302-4.61 7.539-2.236 17.388 5.302 21.998C418.902 152.963 448 201.134 448 256c0 54.872-29.103 103.04-72.828 129.779-7.538 4.61-9.912 14.459-5.302 21.998 4.611 7.541 14.462 9.911 21.997 5.302C445.024 380.572 480 322.099 480 256zm-138.14-75.117c-7.538-4.615-17.388-2.239-21.998 5.297-4.612 7.537-2.241 17.387 5.297 21.998C341.966 218.462 352 236.34 352 256s-10.034 37.538-26.841 47.822c-7.538 4.611-9.909 14.461-5.297 21.998 4.611 7.538 14.463 9.909 21.998 5.297C368.247 314.972 384 286.891 384 256s-15.753-58.972-42.14-75.117zM256 88.017v335.964c0 21.436-25.942 31.999-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954C230.037 56.038 256 66.551 256 88.017zm-32 19.311l-77.659 77.644A24.001 24.001 0 0 1 129.372 192H32v128h97.372a24.001 24.001 0 0 1 16.969 7.028L224 404.67V107.328z"></path></svg>',
47 'muted': '<svg class="ss_svg_muted" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M219.845 98.213l27.184-27.167C262.04 56.036 288 66.556 288 88.017v62.623l-68.155-52.427zm195.889 150.684c-2.233-30.88-18.956-58.492-45.706-74.842-13.987-8.547-31.941-5.071-41.824 7.51l87.53 67.332zM436.665 64.74C500.967 104.063 544 174.983 544 256a223.67 223.67 0 0 1-14.854 80.137l52.417 40.321C598.735 339.19 608 298.184 608 256c0-103.244-54.579-194.877-137.944-245.859-15.074-9.221-34.773-4.473-43.995 10.604-9.221 15.077-4.473 34.774 10.604 43.995zm-50.009 81.961C425.067 170.188 448 211.048 448 256c0 5.676-.39 11.301-1.128 16.849l55.604 42.772A191.69 191.69 0 0 0 512 256c0-68.547-36.15-129.777-91.957-163.901-15.076-9.22-34.774-4.471-43.994 10.607-9.22 15.078-4.471 34.775 10.607 43.995zM90.232 160H56c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h102.059l88.97 88.951c15.028 15.028 40.971 4.467 40.971-16.97V312.129L90.232 160zm360.889 277.607c-1.205.871-2.403 1.75-3.627 2.599-14.522 10.072-18.129 30.01-8.057 44.532 10.076 14.528 30.016 18.125 44.531 8.057a289.026 289.026 0 0 0 19.578-14.861l-52.425-40.327zm-71.629-55.099c-1.263 7.875.389 16.229 5.294 23.3 6.216 8.96 16.185 13.765 26.322 13.765 4.387 0 8.8-.923 12.959-2.776l-44.575-34.289zm255.53 107.442c8.071-10.493 6.123-25.54-4.356-33.63L48.389 4.978c-10.506-8.082-25.574-6.116-33.656 4.39L4.978 22.05c-8.082 10.506-6.116 25.574 4.39 33.656l582.208 451.29c10.505 8.111 25.598 6.156 33.69-4.364l9.756-12.682z"></path></svg>',
48 'close': '<svg class="ss_svg_close" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"></path></svg>',
49 'lines': '<svg class="ss_svg_lines" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm16 144h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0-128h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"></path></svg>',
50 'dots': '<svg class="ss_svg_dots" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M120 256c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zm160 0c0 30.9-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56zm104 56c-30.9 0-56-25.1-56-56s25.1-56 56-56s56 25.1 56 56s-25.1 56-56 56z"/></svg>',
51 'hand': '<svg class="ss_svg_hand" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M208 288C199.2 288 192 295.2 192 304v96C192 408.8 199.2 416 208 416s16-7.164 16-16v-96C224 295.2 216.8 288 208 288zM272 288C263.2 288 256 295.2 256 304v96c0 8.836 7.162 16 15.1 16S288 408.8 288 400l-.0013-96C287.1 295.2 280.8 288 272 288zM376.9 201.2c-13.74-17.12-34.8-27.45-56.92-27.45h-13.72c-3.713 0-7.412 .291-11.07 .8652C282.7 165.1 267.4 160 251.4 160h-11.44V72c0-39.7-32.31-72-72.01-72c-39.7 0-71.98 32.3-71.98 72v168.5C84.85 235.1 75.19 235.4 69.83 235.4c-44.35 0-69.83 37.23-69.83 69.85c0 14.99 4.821 29.51 13.99 41.69l78.14 104.2C120.7 489.3 166.2 512 213.7 512h109.7c6.309 0 12.83-.957 18.14-2.645c28.59-5.447 53.87-19.41 73.17-40.44C436.1 446.3 448 416.2 448 384.2V274.3C448 234.6 416.3 202.3 376.9 201.2zM400 384.2c0 19.62-7.219 38.06-20.44 52.06c-12.53 13.66-29.03 22.67-49.69 26.56C327.4 463.6 325.3 464 323.4 464H213.7c-32.56 0-63.65-15.55-83.18-41.59L52.36 318.2C49.52 314.4 48.02 309.8 48.02 305.2c0-16.32 14.5-21.75 21.72-21.75c4.454 0 12.01 1.55 17.34 8.703l28.12 37.5c3.093 4.105 7.865 6.419 12.8 6.419c11.94 0 16.01-10.7 16.01-16.01V72c0-13.23 10.78-24 23.1-24c13.22 0 24 10.77 24 24v130.7c0 6.938 5.451 16.01 16.03 16.01C219.5 218.7 220.1 208 237.7 208h13.72c21.5 0 18.56 19.21 34.7 19.21c8.063 0 9.805-5.487 20.15-5.487h13.72c26.96 0 17.37 27.43 40.77 27.43l14.07-.0037c13.88 0 25.16 11.28 25.16 25.14V384.2zM336 288C327.2 288 320 295.2 320 304v96c0 8.836 7.164 16 16 16s16-7.164 16-16v-96C352 295.2 344.8 288 336 288z"/></svg>',
52 'house': '<svg class="ss_svg_hause" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z"/></svg>',
53 'check_double': '<svg class="ss_svg_check_double" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M374.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7 86.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z"/></svg>',
54 'circle_play': '<svg class="ss_svg_circle_play" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M188.3 147.1C195.8 142.8 205.1 142.1 212.5 147.5L356.5 235.5C363.6 239.9 368 247.6 368 256C368 264.4 363.6 272.1 356.5 276.5L212.5 364.5C205.1 369 195.8 369.2 188.3 364.9C180.7 360.7 176 352.7 176 344V167.1C176 159.3 180.7 151.3 188.3 147.1V147.1zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"/></svg>',
55 'play': '<svg class="ss_svg_play" '+svg_inner+' viewBox="0 0 384 512"><path fill="currentColor" d="M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"/></svg>',
56 'email': '<svg class="ss_svg_email" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176V384c0 35.3 28.7 64 64 64H360.2C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"/></svg>',
57 'video': '<svg class="ss_svg_video" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"/></svg>',
58 'users_g': '<svg class="ss_svg_users_g" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M144 160c-44.2 0-80-35.8-80-80S99.8 0 144 0s80 35.8 80 80s-35.8 80-80 80zm368 0c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM416 224c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"/></svg>',
59 'chart_line': '<svg class="ss_svg_chart_line" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"/></svg>',
60 'table': '<svg class="ss_svg_table" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64H208V96zm240 0v64H360V96h88zM64 224h88v64H64V224zm232 0v64H208V224h88zm64 0h88v64H360V224zM152 352v64H64V352h88zm56 0h88v64H208V352zm240 0v64H360V352h88z"/></svg>',
61 'heart': '<svg class="ss_svg_heart" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg>',
62 'cloud': '<svg class="ss_svg_cloud" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"/></svg>',
63 'microphone': '<svg class="ss_svg_microphone" '+svg_inner+' viewBox="0 0 384 512"><path fill="currentColor" d="M96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96S96 43 96 96zM320 240v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24z"/></svg>',
64 'user_c': '<svg class="ss_svg_user_c" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>',
65 'user_x': '<svg class="ss_svg_user_x" '+svg_inner+' viewBox="0 0 640 512"><path fill="currentColor" d="M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>',
66 'paint': '<svg class="ss_svg_paint" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M371.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L600.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S549.7-4.4 531.1 9.6L294.4 187.2c-24 18-38.2 46.1-38.4 76.1L371.3 367.1zm-19.6 25.4l-116-104.4C175.9 290.3 128 339.6 128 400c0 3.9 .2 7.8 .6 11.6c1.8 17.5-10.2 36.4-27.8 36.4H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"/></svg>',
67 'images': '<svg class="ss_svg_images" '+svg_inner+' viewBox="0 0 576 512"><path fill="currentColor" d="M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM256 128c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z"/></svg>',
68 'dice': '<svg class="ss_svg_dice" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M216.3 2c4.8-2.6 10.5-2.6 15.3 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L216.3 2zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L8.3 414C3.2 411.2 0 405.9 0 400V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V400c0 5.9-3.2 11.2-8.3 14l-176 96c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z"/></svg>',
69 'blog': '<svg class="ss_svg_dice" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z"/></svg>',
70 'case': '<svg class="ss_svg_dice" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z"/></svg>',
71 'arrow_right': '<svg class="ss_svg_dice" '+svg_inner+' viewBox="0 0 512 512"><path fill="currentColor" d="M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z"/></svg>',
72 'grip': '<svg class="ss_svg_grip" '+svg_inner+' viewBox="0 0 448 512"><path fill="currentColor" d="M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V136zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z"/></svg>'
73 };
74
75 this.langsObj = [
76 {
77 "name": "Afrikaans (South Africa)",
78 "value": "af-ZA",
79 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20"
80 },
81 {
82 "name": "Albanian (Albania)",
83 "value": "sq",
84 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
85 },
86 {
87 "name": "Arabic",
88 "value": "ar-XA",
89 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
90 },
91 {
92 "name": "Armenian",
93 "value": "hy",
94 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
95 },
96 {
97 "name": "Belarusian",
98 "value": "be",
99 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
100 },
101 {
102 "name": "Basque (Spain)",
103 "value": "eu-ES",
104 "voice_data": "A:1"
105 },
106 {
107 "name": "Bengali (India)",
108 "value": "bn-IN",
109 "voice_data": "A:0,A:2,B:2,A:20,B:20,C:20,D:20,E:20,F:20"
110 },
111 {
112 "name": "Bosnian (Bosnia and Herzegovina)",
113 "value": "bs",
114 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
115 },
116 {
117 "name": "Bulgarian (Bulgaria)",
118 "value": "bg-BG",
119 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20"
120 },
121 {
122 "name": "Catalan (Spain)",
123 "value": "ca-ES",
124 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
125 },
126 {
127 "name": "Cantonese",
128 "value": "yue",
129 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
130 },
131 {
132 "name": "Chinese (Simplified)",
133 "value": "cmn-CN",
134 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
135 },
136 {
137 "name": "Chinese (Traditional)",
138 "value": "cmn-TW",
139 "voice_data": "A:0,A:2,B:2,C:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
140 },
141 {
142 "name": "Croatian (Croatia)",
143 "value": "hr",
144 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
145 },
146 {
147 "name": "Czech (Czech Republic)",
148 "value": "cs-CZ",
149 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
150 },
151 {
152 "name": "Danish (Denmark)",
153 "value": "da-DK",
154 "voice_data": "A:0,C:2,D:2,E:2,A:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
155 },
156 {
157 "name": "Dutch (Netherlands)",
158 "value": "nl-NL",
159 "voice_data": "A:0,B:2,C:2,D:2,A:2,E:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
160 },
161 {
162 "name": "English (Australia)",
163 "value": "en-AU",
164 "voice_data": "A:0,A:2,B:2,C:2,D:2"
165 },
166 {
167 "name": "English (UK)",
168 "value": "en-GB",
169 "voice_data": "A:0,A:2,B:2,C:2,D:2,F:2,G:5,H:5,I:5,J:5,K:5,L:5,M:5,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
170 },
171 {
172 "name": "English (India)",
173 "value": "en-IN",
174 "voice_data": "A:0,D:2,A:2,B:2,C:2"
175 },
176 {
177 "name": "English (United States)",
178 "value": "en-US",
179 "voice_data": "A:0,G:2,H:2,I:2,J:2,A:2,B:2,C:2,D:2,E:2,F:2,K:5,L:5,M:5,N:5,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11",
180 "voice_data_full": "A:0,G:2,H:2,I:2,J:2,A:2,B:2,C:2,D:2,E:2,F:2,K:5,L:5,M:5,N:5,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:8,F:8,G:8,H:8,I:8,J:8,K:8,L:8,M:8,N:8,O:8,P:8,Q:8,R:8,S:8,T:8,U:8,V:8,W:8,X:8,Y:8,Z:8,AA:8,AB:8,AC:8,AD:8,A:10,B:10,C:10,D:10,E:10,F:10,G:10,H:10,I:10,J:10,K:10,L:10,M:10,N:10,O:10,P:10,Q:10,R:10,S:10,T:10,U:10,V:10,W:10,X:10,Y:10,Z:10,AA:10,AB:10,AC:10,AD:10,A:11,B:11,C:11,D:11,E:11,F:11,G:11,H:11,I:11,J:11,K:11,L:11,M:11,N:11,O:11,P:11,Q:11,R:11,S:11,T:11,U:11,V:11,W:11,X:11,Y:11,Z:11,AA:11,AB:11,AC:11,AD:11"
181 },
182 {
183 "name": "Estonian (Estonia)",
184 "value": "et",
185 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
186 },
187 {
188 "name": "Filipino (Philippines)",
189 "value": "fil-PH",
190 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20"
191 },
192 {
193 "name": "Finnish (Finland)",
194 "value": "fi-FI",
195 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20"
196 },
197 {
198 "name": "French (Canada)",
199 "value": "fr-CA",
200 "voice_data": "A:0,A:2,B:2,C:2,D:2"
201 },
202 {
203 "name": "French (France)",
204 "value": "fr-FR",
205 "voice_data": "A:0,E:2,A:2,B:2,C:2,D:2,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
206 },
207 {
208 "name": "Galician (Spain)",
209 "value": "gl-ES",
210 "voice_data": "A:1"
211 },
212 {
213 "name": "German (Germany)",
214 "value": "de-DE",
215 "voice_data": "A:0,F:2,A:2,B:2,C:2,D:2,E:2,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11",
216 "voice_data_full": "A:0,F:2,A:2,B:2,C:2,D:2,E:2,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:8,F:8,G:8,H:8,I:8,J:8,K:8,L:8,M:8,N:8,O:8,P:8,Q:8,R:8,S:8,T:8,U:8,V:8,W:8,X:8,Y:8,Z:8,AA:8,AB:8,AC:8,AD:8,A:10,B:10,C:10,D:10,E:10,F:10,G:10,H:10,I:10,J:10,K:10,L:10,M:10,N:10,O:10,P:10,Q:10,R:10,S:10,T:10,U:10,V:10,W:10,X:10,Y:10,Z:10,AA:10,AB:10,AC:10,AD:10,A:11,B:11,C:11,D:11,E:11,F:11,G:11,H:11,I:11,J:11,K:11,L:11,M:11,N:11,O:11,P:11,Q:11,R:11,S:11,T:11,U:11,V:11,W:11,X:11,Y:11,Z:11,AA:11,AB:11,AC:11,AD:11"
217 },
218 {
219 "name": "Greek (Greece)",
220 "value": "el-GR",
221 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
222 },
223 {
224 "name": "Gujarati (India)",
225 "value": "gu-IN",
226 "voice_data": "A:0,A:2,B:2,A:20,B:20,C:20,D:20,E:20,F:20"
227 },
228 {
229 "name": "Hebrew",
230 "value": "iw",
231 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
232 },
233 {
234 "name": "Hindi (India)",
235 "value": "hi-IN",
236 "voice_data": "A:0,D:2,A:2,B:2,C:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
237 },
238 {
239 "name": "Hungarian (Hungary)",
240 "value": "hu-HU",
241 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20"
242 },
243 {
244 "name": "Icelandic (Iceland)",
245 "value": "is-IS",
246 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20"
247 },
248 {
249 "name": "Indonesian (Indonesia)",
250 "value": "id-ID",
251 "voice_data": "A:0,D:2,A:2,B:2,C:2,A:20,B:20,C:20,D:20,E:20,F:20"
252 },
253 {
254 "name": "Italian (Italy)",
255 "value": "it-IT",
256 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
257 },
258 {
259 "name": "Japanese (Japan)",
260 "value": "ja-JP",
261 "voice_data": "A:0,B:2,C:2,D:2,A:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
262 },
263 {
264 "name": "Javanese (Indonesia)",
265 "value": "jw",
266 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
267 },
268 {
269 "name": "Kannada (India)",
270 "value": "kn-IN",
271 "voice_data": "A:0,A:2,B:2,A:20,B:20,C:20,D:20,E:20,F:20"
272 },
273 {
274 "name": "Kazakh",
275 "value": "kk",
276 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
277 },
278 {
279 "name": "Khmer (Cambodia)",
280 "value": "km",
281 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
282 },
283 {
284 "name": "Korean (South Korea)",
285 "value": "ko-KR",
286 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
287 },
288 {
289 "name": "Latin",
290 "value": "la",
291 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
292 },
293 {
294 "name": "Latvian (Latvia)",
295 "value": "lv-LV",
296 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20"
297 },
298 {
299 "name": "Lithuanian (Lithuania)",
300 "value": "lt-LT",
301 "voice_data": "A:0,A:1"
302 },
303 {
304 "name": "Macedonian",
305 "value": "mk",
306 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
307 },
308 {
309 "name": "Malay (Malaysia)",
310 "value": "ms-MY",
311 "voice_data": "A:0,A:2,B:2,C:2,D:2"
312 },
313 {
314 "name": "Malayalam (India)",
315 "value": "ml-IN",
316 "voice_data": "A:0,A:2,B:2,C:2,D:2"
317 },
318 {
319 "name": "Marathi (India)",
320 "value": "mr-IN",
321 "voice_data": "A:0,A:2,B:2,C:2"
322 },
323 {
324 "name": "Maori",
325 "value": "mi",
326 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
327 },
328 {
329 "name": "Myanmar (Burmese)",
330 "value": "my",
331 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
332 },
333 {
334 "name": "Nepali (Nepali)",
335 "value": "ne",
336 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
337 },
338 {
339 "name": "Norwegian (Norway)",
340 "value": "nb-NO",
341 "voice_data": "A:0,A:2,B:2,C:2,D:2,E:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
342 },
343 {
344 "name": "Persian",
345 "value": "fa",
346 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
347 },
348 {
349 "name": "Polish (Poland)",
350 "value": "pl-PL",
351 "voice_data": "A:0,A:2,B:2,C:2,E:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
352 },
353 {
354 "name": "Portuguese (Brazil)",
355 "value": "pt-BR",
356 "voice_data": "A:0,A:2,B:2,C:2"
357 },
358 {
359 "name": "Portuguese (Portugal)",
360 "value": "pt-PT",
361 "voice_data": "A:0,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
362 },
363 {
364 "name": "Punjabi (Gurmukhi)",
365 "value": "pa",
366 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
367 },
368 {
369 "name": "Punjabi (Shahmukhi)",
370 "value": "pa-Arab",
371 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
372 },
373 {
374 "name": "Romanian (Romania)",
375 "value": "ro-RO",
376 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20"
377 },
378 {
379 "name": "Russian (Russia)",
380 "value": "ru-RU",
381 "voice_data": "A:0,E:2,A:2,B:2,C:2,D:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
382 },
383 {
384 "name": "Serbian (Serbia)",
385 "value": "sr-RS",
386 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20"
387 },
388 {
389 "name": "Sinhala (Sri Lanka)",
390 "value": "si",
391 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
392 },
393 {
394 "name": "Slovak (Slovakia)",
395 "value": "sk-SK",
396 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20"
397 },
398 {
399 "name": "Slovenian",
400 "value": "sl",
401 "voice_data": "A:20,B:20,C:20,D:20,E:20,F:20"
402 },
403 {
404 "name": "Spanish (Spain)",
405 "value": "es-ES",
406 "voice_data": "A:0,C:2,D:2,B:2,A:3,E:3,F:3,1:7,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
407 },
408 {
409 "name": "Spanish (United States)",
410 "value": "es-US",
411 "voice_data": "A:0,A:2,B:2,C:2,G:5,F:5,E:5,D:5,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
412 },
413 {
414 "name": "Sundanese (Indonesia)",
415 "value": "su",
416 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
417 },
418 {
419 "name": "Swahili",
420 "value": "sw",
421 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
422 },
423 {
424 "name": "Swedish (Sweden)",
425 "value": "sv-SE",
426 "voice_data": "A:0,A:2,B:2,C:2,D:2,E:2"
427 },
428 {
429 "name": "Tamil (India)",
430 "value": "ta-IN",
431 "voice_data": "A:0,A:2,B:2,C:2,D:2"
432 },
433 {
434 "name": "Telugu (India)",
435 "value": "te-IN",
436 "voice_data": "A:0,A:1,B:1"
437 },
438 {
439 "name": "Thai (Thailand)",
440 "value": "th-TH",
441 "voice_data": "A:0,A:1,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20"
442 },
443 {
444 "name": "Turkish (Turkey)",
445 "value": "tr-TR",
446 "voice_data": "A:0,B:2,C:2,D:2,E:2,A:2"
447 },
448 {
449 "name": "Ukrainian (Ukraine)",
450 "value": "uk-UA",
451 "voice_data": "A:0,A:2,A:20,B:20,C:20,D:20,E:20,F:20,G:20,H:20,I:20,A:21,B:21,C:21,D:21,E:21,F:21,G:21,H:21,I:21,J:21,K:21,A:8,B:8,C:8,D:8,E:10,F:10,G:10,H:10,I:11,J:11,K:11,L:11"
452 },
453 {
454 "name": "Urdu",
455 "value": "ur",
456 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
457 },
458 {
459 "name": "Vietnamese (Vietnam)",
460 "value": "vi-VN",
461 "voice_data": "A:0,A:2,B:2,C:2,D:2"
462 },
463 {
464 "name": "Yue Chinese (Hong Kong)",
465 "value": "yue-HK",
466 "voice_data": "A:1,B:1,C:1,D:1,A:20,B:20,C:20,D:20,E:20,F:20"
467 },
468 {
469 "name": "Welsh",
470 "value": "cy",
471 "voice_data": "A:0,A:20,B:20,C:20,D:20,E:20,F:20"
472 }
473 ];
474 };
475
476 this.runFunctions = function() {
477
478 this.applyPageFunctions();
479
480 this.applyCookies();
481
482 this.applyFunctions();
483
484 this.applyOldPlugin();
485
486 this.detectState();
487 };
488
489 this.init = function() {
490
491 this.initVars();
492
493 this.runFunctions();
494 };
495
496 this.applyFunctions = function() {
497
498 var add_gspeech_link = function() {
499
500 var gsp_h = '<span style="margin-left: 35px;">Thanks for using <a href="https://gspeech.io" target="_blank">GSpeech</a>.</span>';
501
502 $("#footer-thankyou").append(gsp_h);
503
504 };
505
506 add_gspeech_link();
507
508 $("#gsp_form").on("submit", function(e) {
509
510 if($("#gsp_form").hasClass("submit_disabled")) {
511
512 e.preventDefault();
513 }
514 });
515
516 // trigger upgrade
517 $("body").on("click", ".gsp_activate_upgrade", function(e) {
518
519 e.preventDefault();
520
521 $('.gsp_tab_upgrade').trigger("click");
522
523 });
524
525 $("body").on("click", ".gsp_left_menu_analytics", function(e) {
526
527 setTimeout(function() {
528 window.location.reload();
529 }, 800);
530
531 });
532
533 // Dynamic height textarea
534 $("body").on("focus", ".ss_textarea_dynamic_height", function() {
535 $(this).addClass("ss_textarea_active");
536
537 setTimeout(function() {
538 thisPage.generateWrapperHeight();
539 }, 400);
540 });
541 $("body").on("blur", ".ss_textarea_dynamic_height", function() {
542 $(this).removeClass("ss_textarea_active");
543
544 setTimeout(function() {
545 thisPage.generateWrapperHeight();
546 }, 400);
547 });
548
549 if($("#gsp_add_w_title").length) {
550
551 var website_title = $("#gsp_site_name").html();
552
553 website_title = website_title == '' ? 'My website' : website_title;
554 $("#gsp_add_w_title").val(website_title);
555 }
556
557 if($(".gsp_register_wrapper").length) {
558
559 var user_name = $("#gsp_realname").html();
560 var user_email = $("#gsp_useremail").html();
561
562 $("#gsp_reg_name").val(user_name);
563 $("#gsp_reg_email").val(user_email);
564 }
565
566 if($(".gsp_login_wrapper_element").length) {
567
568 var user_email = $("#gsp_useremail").html();
569 var gsp_useremail_written = $("#gsp_useremail_written").html();
570
571 user_email = gsp_useremail_written != "" ? gsp_useremail_written : user_email;
572
573 $(".gsp_login_email_uni").val(user_email);
574 }
575
576 if($("#gsp_add_w_url").length) {
577
578 var website_url = window.location.href;
579 var u_p = website_url.split('/wp-admin');
580 var website_host = u_p[0];
581
582 $("#gsp_add_w_url").val(website_host);
583 }
584
585 // plan switcher
586 $('body').on('click', '.switcher_small', function(e){
587
588 var $el = $(this);
589 if(!$el.hasClass("switcher_small"))
590 $el = $(e.target).parents('.switcher_small');
591
592 if(!$el.hasClass('switcher_small_button_on'))
593 $el.addClass('switcher_small_button_on');
594 else
595 $el.removeClass('switcher_small_button_on');
596 });
597
598 $('body').on('click', '.switcher_small', function(e){
599
600 var $el = $(this);
601 if(!$el.hasClass("switcher_small"))
602 $el = $(e.target).parents('.switcher_small');
603
604 setTimeout(function() {
605
606 if(!$el.hasClass('switcher_small_button_on')) {
607
608 if($el.hasClass("switcher_chars_count")) {
609
610 $('.gsp_package_personal .icon_ai_voice').removeClass("icon_hidden");
611 $('.gsp_package_personal .icon_mach_voice').addClass("icon_hidden");
612
613 $('.gsp_package_personal .feature_text_ai').removeClass("txt_hidden");
614 $('.gsp_package_personal .feature_text_machine').addClass("txt_hidden");
615
616 $(".switcher_voice_type").addClass("switcher_small_button_on");
617
618 $(".pers_vt_ic_plus").removeClass("icon_hidden");
619 $(".pers_vt_ic_minus").addClass("icon_hidden");
620
621 $(".pers_22_v_plus").removeClass("icon_hidden");
622 $(".pers_22_v_minus").addClass("icon_hidden");
623
624 $(".pers_l_67").removeClass("icon_hidden");
625 $(".pers_l_50").addClass("icon_hidden");
626
627 $('.product_button_personal').addClass('icon_hidden');
628 $('.product_button_personal_2').removeClass('icon_hidden');
629 }
630
631 if($el.hasClass("switcher_voice_type")) {
632
633 $('.gsp_package_personal .icon_ai_voice').addClass("icon_hidden");
634 $('.gsp_package_personal .icon_mach_voice').removeClass("icon_hidden");
635
636 $('.gsp_package_personal .feature_text_ai').addClass("txt_hidden");
637 $('.gsp_package_personal .feature_text_machine').removeClass("txt_hidden");
638
639 $(".switcher_chars_count").addClass("switcher_small_button_on");
640
641 $(".pers_vt_ic_plus").addClass("icon_hidden");
642 $(".pers_vt_ic_minus").removeClass("icon_hidden");
643
644 $(".pers_22_v_plus").addClass("icon_hidden");
645 $(".pers_22_v_minus").removeClass("icon_hidden");
646
647 $(".pers_l_67").addClass("icon_hidden");
648 $(".pers_l_50").removeClass("icon_hidden");
649
650 $('.product_button_personal').removeClass('icon_hidden');
651 $('.product_button_personal_2').addClass('icon_hidden');
652 }
653 }
654 else {
655
656 if($el.hasClass("switcher_chars_count")) {
657
658 $('.gsp_package_personal .icon_ai_voice').addClass("icon_hidden");
659 $('.gsp_package_personal .icon_mach_voice').removeClass("icon_hidden");
660
661 $('.gsp_package_personal .feature_text_ai').addClass("txt_hidden");
662 $('.gsp_package_personal .feature_text_machine').removeClass("txt_hidden");
663
664 $(".switcher_voice_type").removeClass("switcher_small_button_on");
665
666 $(".pers_vt_ic_plus").addClass("icon_hidden");
667 $(".pers_vt_ic_minus").removeClass("icon_hidden");
668
669 $(".pers_22_v_plus").addClass("icon_hidden");
670 $(".pers_22_v_minus").removeClass("icon_hidden");
671
672 $(".pers_l_67").addClass("icon_hidden");
673 $(".pers_l_50").removeClass("icon_hidden");
674
675 $('.product_button_personal').removeClass('icon_hidden');
676 $('.product_button_personal_2').addClass('icon_hidden');
677 }
678
679 if($el.hasClass("switcher_voice_type")) {
680
681
682 $('.gsp_package_personal .icon_ai_voice').removeClass("icon_hidden");
683 $('.gsp_package_personal .icon_mach_voice').addClass("icon_hidden");
684
685 $('.gsp_package_personal .feature_text_ai').removeClass("txt_hidden");
686 $('.gsp_package_personal .feature_text_machine').addClass("txt_hidden");
687
688 $(".switcher_chars_count").removeClass("switcher_small_button_on");
689
690 $(".pers_vt_ic_plus").removeClass("icon_hidden");
691 $(".pers_vt_ic_minus").addClass("icon_hidden");
692
693 $(".pers_22_v_plus").removeClass("icon_hidden");
694 $(".pers_22_v_minus").addClass("icon_hidden");
695
696 $(".pers_l_67").removeClass("icon_hidden");
697 $(".pers_l_50").addClass("icon_hidden");
698
699 $('.product_button_personal').addClass('icon_hidden');
700 $('.product_button_personal_2').removeClass('icon_hidden');
701 }
702 }
703 }, 1);
704 });
705
706 // switcher small
707 $('body').on('click', '.plan_switcher', function(e){
708
709 var pay_path = 'https://gspeech.io/subscribe/';
710
711 var $el = $(e.target).parents('.plan_switcher');
712 if(!$el.hasClass('plan_switcher_button_on')) {
713 $el.addClass('plan_switcher_button_on');
714
715 $('.gspeech_packages_wrapper').addClass('yearly_plans');
716
717 $('.product_button').each(function() {
718
719 var $button = $(this);
720
721 var y_p = $button.data("y_p");
722 var url = pay_path + y_p;
723
724 $button.attr("href", url);
725 });
726 }
727 else {
728 $el.removeClass('plan_switcher_button_on');
729
730 $('.gspeech_packages_wrapper').removeClass('yearly_plans');
731
732 $('.product_button').each(function() {
733
734 var $button = $(this);
735
736 var m_p = $button.data("m_p");
737 var url = pay_path + m_p;
738
739 $button.attr("href", url);
740 });
741 }
742 });
743
744 // gs switcher
745 $('body').on('click', '.gs_switcher', function(e){
746
747 if(!$(this).hasClass('gs_switcher_button_on')) {
748
749 $(this).addClass('gs_switcher_button_on');
750
751 // check radio on
752 $(this).parents('.gs_checkbox_wrapper').find(".gs_checkbox").eq(0).prop("checked", false);
753 $(this).parents('.gs_checkbox_wrapper').find(".gs_checkbox").eq(1).prop("checked", true);
754 }
755 else {
756
757 $(this).removeClass('gs_switcher_button_on');
758
759 // check radio off
760 $(this).parents('.gs_checkbox_wrapper').find(".gs_checkbox").eq(0).prop("checked", true);
761 $(this).parents('.gs_checkbox_wrapper').find(".gs_checkbox").eq(1).prop("checked", false);
762 }
763 });
764
765 // gs mono switcher
766 $('body').on('click', '.gs_mono_checkbox_wrapper', function(e){
767
768 if($(this).hasClass("ss_disabled"))
769 return;
770
771 if(!$(this).hasClass('gs_mono_switcher_button_on')) {
772
773 $(this).addClass('gs_mono_switcher_button_on');
774 $(this).find(".gs_mono_checkbox").prop("checked", true);
775 }
776 else {
777
778 $(this).removeClass('gs_mono_switcher_button_on');
779 $(this).find(".gs_mono_checkbox").prop("checked", false);
780 }
781 });
782
783 // ss checkbox
784 $('body').on('click', '.ss_checkbox_wrapper', function(e) {
785
786 if($(this).hasClass("ss_disabled")) {
787 thisPage.shake($(this));
788
789 return false;
790 }
791
792 if($(this).hasClass("ss_checked")) {
793
794 $(this).find(".ss_checkbox_line1").addClass("ss_tr_d_150");
795 $(this).find(".ss_checkbox_line2").addClass("ss_tr_d_0");
796 $(this).addClass("ss_apply_ripple").removeClass("ss_checked");
797 }
798 else {
799
800 $(this).find(".ss_checkbox_line1").removeClass("ss_tr_d_150");
801 $(this).find(".ss_checkbox_line2").removeClass("ss_tr_d_0");
802 $(this).removeClass("gsp_error").removeClass("ss_apply_ripple").addClass("ss_checked");
803 }
804 });
805
806 $('body').on('mouseenter', '.ss_checkbox_label', function(e) {
807
808 $(this).prev(".ss_checkbox_wrapper").addClass("ss_ch_hovered");
809 });
810
811 $('body').on('mouseleave', '.ss_checkbox_label', function(e) {
812
813 $(this).prev(".ss_checkbox_wrapper").removeClass("ss_ch_hovered");
814 });
815
816 $('body').on('click', '.ss_checkbox_label', function(e) {
817
818 var $target = $(e.target);
819
820 if($target.hasClass('ss_label_link') || $target.parents('.ss_label_link').length)
821 return;
822
823 $(this).prev(".ss_checkbox_wrapper").trigger("click");
824 });
825
826 function make_vertical_titles() {
827
828 var timeout_1 = 0;
829 var timeout_2 = 0;
830
831 $('body').on('mouseenter', '.title_holder_vertical', function() {
832
833 var $target = $(this);
834 var $title = $target.find('.gs_title_vertical');
835 $title.addClass("ss_do_not_hide_title");
836 $(".gs_title_vertical:not(.ss_do_not_hide_title)").removeClass("visible");
837 $title.removeClass("ss_do_not_hide_title");
838 // $title.removeClass("visible");
839
840 if(timeout_1 != 0)
841 clearTimeout(timeout_1);
842
843 if(timeout_2 != 0)
844 clearTimeout(timeout_2);
845
846 timeout_2 = setTimeout(function() {
847 $title.addClass("visible");
848 }, 400);
849 });
850 $('body').on('mouseleave', '.title_holder_vertical', function() {
851
852 if(timeout_2 != 0)
853 clearTimeout(timeout_2);
854
855 var $target = $(this);
856 var $title = $target.find('.gs_title_vertical');
857
858 timeout_1 = setTimeout(function() {
859 $title.removeClass("visible");
860 }, 400);
861 });
862 };
863
864 make_vertical_titles();
865
866 // tabs
867 $("body").on("click", ".gsp_tab", function() {
868
869 if($(this).hasClass("gsp_tab_selected") || $(this).hasClass("gsp_tab_link"))
870 return;
871
872 $("#gsp_tabs_wrapper").find(".gsp_tab.gsp_tab_selected").removeClass("gsp_tab_selected");
873 $(this).addClass("gsp_tab_selected");
874
875 var tab_ident = $(this).data("tab_ident");
876
877 $(".gsp_tab_active").removeClass("gsp_tab_active");
878 $(".gsp_tab_c_" + tab_ident).addClass("gsp_tab_active");
879
880 if(tab_ident == "old_basic") {
881
882 $(".gsp_tab_old_basic").addClass("gsp_tab_old_basic_pos_2");
883 $(".gsp_tab_old_styles").removeClass("gsp_hidden");
884 }
885
886 if(tab_ident != "old_basic" && tab_ident != "old_styles") {
887
888 $(".gsp_tab_old_basic").removeClass("gsp_tab_old_basic_pos_2");
889 $(".gsp_tab_old_styles").addClass("gsp_hidden");
890 }
891
892 if(tab_ident == "old_basic" || tab_ident == "old_styles") {
893
894 $(".gsp_submit_button").removeClass("gsp_hidden");
895 $("#gsp_form").removeClass("submit_disabled");
896 }
897 else {
898 $(".gsp_submit_button").addClass("gsp_hidden");
899 $("#gsp_form").addClass("submit_disabled");
900 }
901
902 if(tab_ident == "widget_id") {
903
904 $(".gsp_submit_button").removeClass("gsp_hidden");
905 $("#gsp_form").removeClass("submit_disabled");
906 }
907
908 if(tab_ident == "sign_up") {
909
910 var old_p_lang = $("#gsp_old_p_lang").html();
911
912 thisPage.createLangsListReg(old_p_lang);
913 }
914
915 if(tab_ident == 'website_settings') {
916 thisPage.loadCloudData();
917 }
918
919 thisPage.generateWrapperHeight();
920 });
921
922 // left menus
923 $("body").on("click", ".gsp_left_menu", function() {
924
925 var widget_id = thisPage.options.widget_id;
926
927 var link_sel = false;
928 if($(this).hasClass("gsp_left_m_selected"))
929 link_sel = true;
930
931 var tab_ident = $(this).data("tab_ident");
932
933 var hash = window.location.hash;
934 hash = hash == '' ? '#settings' : hash;
935 hash = hash.replace('#','');
936
937 var hash_pieces = hash.split('-');
938 var hash_0 = hash_pieces[0];
939 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
940
941 if(!link_sel) {
942
943 $(".gsp_dash_col_1").find(".gsp_left_menu.gsp_left_m_selected").removeClass("gsp_left_m_selected");
944 $(this).addClass("gsp_left_m_selected");
945
946 $(".gsp_left_m_c_active").removeClass("gsp_left_m_c_active");
947 $(".gsp_left_m_c_" + tab_ident).addClass("gsp_left_m_c_active");
948
949 window.location.hash = tab_ident;
950 }
951
952 if(tab_ident == "settings") {
953
954 $('.gsp_left_m_c_active .opts_input').val('');
955
956 // show general tab
957 $('.gsp_left_m_c_active .dashboard_tab.ss_selected').removeClass('ss_selected');
958 $('.gsp_left_m_c_active .dashboard_tab.ss_tab_link_general').addClass('ss_selected');
959
960 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_active').removeClass('ss_tab_active');
961 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_general').addClass('ss_tab_active');
962
963 thisPage.getWebsiteData(widget_id);
964 }
965 else if(tab_ident == "widgets") {
966
967 if(hash_1 == 0) {
968
969 thisPage.getWidgetsData(widget_id);
970 }
971 else {
972
973 window.location.hash = tab_ident;
974
975 $('.gsp_left_m_c_widget').removeClass('gsp_left_m_c_active');
976 $('.gsp_left_m_c_widgets').addClass('gsp_left_m_c_active');
977
978 if($.trim($('.gsp_widgets_table .items_inner_wrapper').html()) == '' || $('.gsp_left_menu_widgets').hasClass('gsp_reload_widgets')) {
979
980 thisPage.getWidgetsData(widget_id);
981 }
982 }
983 }
984 else if(tab_ident == "audios") {
985
986 if(hash_1 == 0) {
987
988 thisPage.getAudiosData(widget_id);
989 }
990 else {
991
992 window.location.hash = tab_ident;
993
994 $('.gsp_left_m_c_audio').removeClass('gsp_left_m_c_active');
995 $('.gsp_left_m_c_audios').addClass('gsp_left_m_c_active');
996
997 if($.trim($('.gsp_audios_table .items_inner_wrapper').html()) == '' || $('.gsp_left_menu_audios').hasClass('gsp_reload_audios')) {
998
999 thisPage.getAudiosData(widget_id);
1000 }
1001 }
1002 }
1003 else if(tab_ident == "analytics") {
1004
1005 thisPage.getWebsiteAnalyticsData(widget_id);
1006 }
1007 });
1008
1009 // shortcode
1010 $('.gsp_shortcode_html').focus(function() {
1011
1012 this.select();
1013 }).mouseup(function() {
1014
1015 return false;
1016 });
1017
1018 $('.gsp_shortcode_html_1').focus(function() {
1019
1020 this.select();
1021 }).mouseup(function() {
1022 return false;
1023 });
1024
1025 // login
1026 // email
1027 $('body').on('blur', '.gsp_login_email_uni', function(e) {
1028
1029 var gsp_login_email = $.trim($(this).val());
1030
1031 // trim value
1032 $(this).val(gsp_login_email);
1033
1034 if(!thisPage.validateEmail(gsp_login_email)) {
1035 $(this).addClass('gsp_error');
1036 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1037 }
1038 else {
1039 $(this).removeClass('gsp_error');
1040 }
1041 });
1042
1043 // password
1044 $('body').on('blur', '.gsp_login_password_uni', function(e) {
1045
1046 var gsp_login_password = $.trim($(this).val());
1047
1048 // trim value
1049 $(this).val(gsp_login_password);
1050
1051 if(gsp_login_password.length < 4) {
1052 $(this).addClass('gsp_error');
1053 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1054 }
1055 else {
1056 $(this).removeClass('gsp_error');
1057 }
1058 });
1059
1060 $("body").on("click", '.activate_activate_tab', function(e) {
1061
1062 $('.gsp_tab_sign_up').trigger("click");
1063
1064 e.preventDefault();
1065
1066 });
1067
1068 $("body").on("click", '.activate_login_tab', function(e) {
1069
1070 $('.gsp_tab_sign_in').trigger("click");
1071
1072 e.preventDefault();
1073
1074 });
1075
1076 $("body").on("click", '.activate_logout_tab', function(e) {
1077
1078 $('.gsp_tab_sign_out').trigger("click");
1079
1080 e.preventDefault();
1081
1082 });
1083
1084 $("body").on("click", '.gsp_input_cw_wrapper', function(e) {
1085
1086 $('.gsp_login_custom_widget').removeClass("gsp_hidden");
1087
1088 });
1089
1090 // login button
1091 $('body').on('click', '.gsp_login_button_uni', function(e) {
1092
1093 e.preventDefault();
1094
1095 var $login_form_email = $(this).parents('.gsp_login_wrapper').find(".gsp_login_email_uni");
1096 var $login_form_psw = $(this).parents('.gsp_login_wrapper').find(".gsp_login_password_uni");
1097 var login_form_psw_val = $login_form_psw.val();
1098 var login_form_email_val = $login_form_email.val();
1099
1100 var sh_ = thisPage.options.sh_;
1101 var shortcodes_loaded = thisPage.options.shortcodes_loaded;
1102
1103 sh_ = shortcodes_loaded == '1' ? 0 : sh_;
1104
1105 var form_validated = true;
1106
1107 var widget_id = $("#gsp_widget_id_val").html();
1108 var widget_id_custom = $(".gsp_login_custom_widget").val();
1109
1110 if(widget_id_custom != "") {
1111 widget_id = widget_id_custom;
1112 }
1113
1114 var page = $(this).data("page");
1115 var refresh_login = $(this).hasClass("gsp_refresh_login") ? true : false;
1116
1117 var return_data = refresh_login ? 0 : 1;
1118
1119 var hash = window.location.hash;
1120 hash = hash == '' ? '#settings' : hash;
1121 hash = hash.replace('#','');
1122
1123 var hash_pieces = hash.split('-');
1124 var hash_0 = hash_pieces[0];
1125 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
1126
1127 // validate email
1128 if(!thisPage.validateEmail(login_form_email_val)) {
1129 form_validated = false;
1130 $login_form_email.addClass('gsp_error');
1131 }
1132 else {
1133 $login_form_email.removeClass('gsp_error');
1134 }
1135
1136 // password
1137 if(login_form_psw_val.length < 4) {
1138 $login_form_psw.addClass('gsp_error');
1139 form_validated = false;
1140 }
1141 else {
1142 $login_form_psw.removeClass('gsp_error');
1143 }
1144
1145 if(form_validated) {
1146
1147 var tts_url = thisPage.options.tts_url;
1148
1149 var make_login = function() {
1150
1151 var ajax_id = 'make_login_connection';
1152
1153 var website_url = window.location.href;
1154 var u_p = website_url.split('/wp-admin');
1155 var website_host = u_p[0];
1156
1157 console.log("widget_id: " + widget_id);
1158
1159 var post_data = {
1160 'ajax_id':ajax_id,
1161 'email':login_form_email_val,
1162 'password':login_form_psw_val,
1163 'return_data':return_data,
1164 'host':website_host,
1165 'sh_':sh_,
1166 'widget':widget_id
1167 };
1168
1169 thisPage.showOverlay();
1170 thisPage.showLoading();
1171
1172 setTimeout(function() {
1173
1174 $.ajax({
1175 type: 'POST',
1176 url: tts_url + '/ajax',
1177 crossDomain: true,
1178 data: post_data,
1179 dataType: 'json',
1180 success: function(responseData, textStatus, jqXHR) {
1181
1182 thisPage.hideLoading();
1183
1184 var success = responseData.success;
1185
1186 if(success == "true") {
1187
1188 thisPage.hideOverlay();
1189
1190 var token = responseData.token;
1191 var email = responseData.email;
1192 var sh_put = responseData.sh_put;
1193 var plan_id = responseData.user_plan;
1194 var appsumo = responseData.appsumo;
1195
1196 $("#gsp_plan").html(plan_id);
1197 $("#gsp_appsumo").html(appsumo);
1198
1199 thisPage.processPlanCorrection();
1200
1201 $('.gsp_login_email').html(email);
1202
1203 $(".gsp_link_cloud_loged_in_as").removeClass('ss_hidden');
1204 $(".gsp_link_cloud_loged_in_email").removeClass('ss_hidden');
1205 $(".gsp_link_cloud_activate").addClass('ss_hidden');
1206 $(".gsp_link_cloud_login").addClass('ss_hidden');
1207 $('.gsp_link_cloud_logout').removeClass('ss_hidden');
1208
1209 var post_data_inner = {
1210
1211 action: 'wpgsp_apply_ajax_save',
1212 _ajax_nonce: wp_ajax_nonce,
1213 type: 'save_data',
1214 field: "email,sh_w_loaded,widget_id,plan,appsumo",
1215 val: email + ':' + sh_put + ':' + widget_id + ':' + plan_id + ':' + appsumo
1216 };
1217
1218 thisPage.options.shortcodes_loaded = sh_put;
1219 thisPage.options.widget_id = widget_id;
1220 $('#gsp_widget_id_val').html(widget_id);
1221
1222 if(sh_put == 1) {
1223
1224 $('.add_shortcode_widgets_event_holder').addClass('ss_hidden');
1225 }
1226
1227 $.ajax
1228 ({
1229 url: wp_ajax_url,
1230 type: "post",
1231 data: post_data_inner,
1232 dataType: "json",
1233 success: function(data) {
1234
1235 },
1236 error: function(xhr, status, error) {
1237
1238 }
1239 });
1240
1241 thisPage.registerToken(token);
1242
1243 if(!refresh_login) {
1244
1245 var website_data = responseData.website_data;
1246
1247 if(website_data.name != undefined) {
1248
1249 thisPage.makeLoginSetData();
1250 }
1251 else {
1252
1253 thisPage.makeLoginShowAddWebsite();
1254 }
1255 }
1256 else {
1257
1258 thisPage.hideMessage();
1259
1260 if(page == "website_data") {
1261
1262 thisPage.getWebsiteData(widget_id);
1263 }
1264 else if(page == "update_website_data") {
1265
1266 setTimeout(function() {
1267
1268 $("#ss_website_settings_submit").trigger("click");
1269 }, 300);
1270 }
1271 else if(page == "widgets_data") {
1272
1273 setTimeout(function() {
1274
1275 thisPage.getWidgetsData(widget_id);
1276 }, 300);
1277 }
1278 else if(page == "widget_data") {
1279
1280 setTimeout(function() {
1281
1282 thisPage.getWidgetData(widget_id, hash_1);
1283 }, 300);
1284 }
1285 }
1286 }
1287 else {
1288
1289 if(refresh_login) {
1290
1291 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1292
1293 }
1294 else {
1295
1296 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1297 thisPage.showMessage("error","Wrong data", false);
1298 }
1299 }
1300 },
1301 error: function (responseData, textStatus, errorThrown) {
1302
1303 thisPage.hideOverlay();
1304 thisPage.hideLoading();
1305 }
1306 });
1307
1308 }, 400);
1309 };
1310
1311 make_login();
1312 }
1313 else {
1314 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1315 }
1316 });
1317
1318 // register
1319 // name
1320 $('body').on('blur', '#gsp_reg_name', function(e) {
1321
1322 var gsp_reg_name = $.trim($(this).val());
1323
1324 // trim value
1325 $(this).val(gsp_reg_name);
1326
1327 if(gsp_reg_name == "") {
1328 $(this).addClass('gsp_error');
1329 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1330 }
1331 else {
1332 $(this).removeClass('gsp_error');
1333 }
1334 });
1335
1336 // email
1337 $('body').on('blur', '#gsp_reg_email', function(e) {
1338
1339 var gsp_reg_email = $.trim($(this).val());
1340
1341 // trim value
1342 $(this).val(gsp_reg_email);
1343
1344 if(!thisPage.validateEmail(gsp_reg_email)) {
1345 $(this).addClass('gsp_error');
1346 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1347 }
1348 else {
1349 $(this).removeClass('gsp_error');
1350 }
1351 });
1352
1353 // password
1354 $('body').on('blur', '#gsp_reg_password', function(e) {
1355
1356 var gsp_reg_pas = $.trim($(this).val());
1357
1358 // trim value
1359 $(this).val(gsp_reg_pas);
1360
1361 if(gsp_reg_pas.length < 4) {
1362 $(this).addClass('gsp_error');
1363 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1364 }
1365 else {
1366 $(this).removeClass('gsp_error');
1367 }
1368 });
1369
1370 // password retype
1371 $('body').on('blur', '#gsp_reg_password_retype', function(e) {
1372
1373 var gsp_reg_pas = $.trim($(this).val());
1374
1375 // trim value
1376 $(this).val(gsp_reg_pas);
1377
1378 if(gsp_reg_pas.length < 4 || gsp_reg_pas != $("#gsp_reg_password").val()) {
1379 $(this).addClass('gsp_error');
1380 $this.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1381 }
1382 else {
1383 $(this).removeClass('gsp_error');
1384 }
1385 });
1386
1387 // register button
1388 $('body').on('click', '#gsp_reg_button', function(e) {
1389
1390 var $reg_form_name = $("#gsp_reg_name"),
1391 $reg_form_email = $("#gsp_reg_email"),
1392 $reg_form_psw = $("#gsp_reg_password"),
1393 $reg_form_psw_retype = $("#gsp_reg_password_retype"),
1394 reg_form_name_val = $reg_form_name.val(),
1395 reg_form_email_val = $reg_form_email.val(),
1396 reg_form_psw_val = $reg_form_psw.val(),
1397 reg_form_psw_retype_val = $reg_form_psw_retype.val();
1398
1399 var form_validated = true;
1400
1401 var widget_id = "";
1402
1403 // validate name
1404 if(reg_form_name_val == "") {
1405 form_validated = false;
1406 $reg_form_name.addClass('gsp_error');
1407 }
1408 else {
1409 $reg_form_name.removeClass('gsp_error');
1410 }
1411
1412 // validate email
1413 if(!thisPage.validateEmail(reg_form_email_val)) {
1414 form_validated = false;
1415 $reg_form_email.addClass('gsp_error');
1416 }
1417 else {
1418 $reg_form_email.removeClass('gsp_error');
1419 }
1420
1421 // password
1422 if(reg_form_psw_val.length < 4) {
1423 $reg_form_psw.addClass('gsp_error');
1424 form_validated = false;
1425 }
1426 else {
1427 $reg_form_psw.removeClass('gsp_error');
1428 }
1429
1430 // password retype
1431 if(reg_form_psw_retype_val.length < 4 || reg_form_psw_retype_val != reg_form_psw_val) {
1432 $reg_form_psw_retype.addClass('gsp_error');
1433 form_validated = false;
1434 }
1435 else {
1436 $reg_form_psw_retype.removeClass('gsp_error');
1437 }
1438
1439 // website lang
1440 var website_lang = $("#reg_website_lang").find('.li_selected').data("val");
1441
1442 // terms
1443 if(!$("#gsp_agree_terms").hasClass("ss_checked")) {
1444
1445 form_validated = false;
1446 $("#gsp_agree_terms").addClass('gsp_error');
1447
1448 $this.shake($("#gsp_agree_terms"), {'shakes': 2,'distance': 10,'duration': 300});
1449 }
1450
1451 if(form_validated) {
1452
1453 var tts_url = thisPage.options.tts_url;
1454
1455 var make_register = function() {
1456
1457 var ajax_id = 'make_register_connection';
1458
1459 var site_name = $("#gsp_site_name").html();
1460
1461 var website_url = window.location.href;
1462 var u_p = website_url.split('/wp-admin');
1463 var website_host = u_p[0];
1464
1465 var post_data = {
1466 'ajax_id':ajax_id,
1467 'name':reg_form_name_val,
1468 'email':reg_form_email_val,
1469 'password':reg_form_psw_val,
1470 'lang':website_lang,
1471 'site_name':site_name,
1472 'host':website_host
1473 };
1474
1475 thisPage.showOverlay();
1476 thisPage.showLoading();
1477
1478 setTimeout(function() {
1479
1480 $.ajax({
1481 type: 'POST',
1482 url: tts_url + '/ajax',
1483 crossDomain: true,
1484 data: post_data,
1485 dataType: 'json',
1486 success: function(responseData, textStatus, jqXHR) {
1487
1488 thisPage.hideLoading();
1489
1490 var success = responseData.success;
1491
1492 if(success == "true") {
1493
1494 thisPage.hideOverlay();
1495
1496 var token = responseData.token;
1497 var widget_id = responseData.widget_id;
1498 var crypto = responseData.crypto;
1499 var email = responseData.email;
1500
1501 $('.gsp_login_email').html(email);
1502
1503 $(".gsp_link_cloud_loged_in_as").removeClass('ss_hidden');
1504 $(".gsp_link_cloud_loged_in_email").removeClass('ss_hidden');
1505 $(".gsp_link_cloud_activate").addClass('ss_hidden');
1506 $(".gsp_link_cloud_login").addClass('ss_hidden');
1507 $(".gsp_link_cloud_logout").removeClass('ss_hidden');
1508
1509 thisPage.registerToken(token);
1510
1511 $("#gsp_widget_id_val").html(widget_id);
1512 thisPage.options.widget_id = widget_id;
1513
1514 thisPage.makeLoginSetData();
1515
1516 var post_data_inner = {
1517 action: 'wpgsp_apply_ajax_save',
1518 _ajax_nonce: wp_ajax_nonce,
1519 type: 'save_data',
1520 field: "widget_id,crypto,email,sh_w_loaded",
1521 val: widget_id + ':' + crypto + ':' + email + ':' + '1'
1522 };
1523 $.ajax
1524 ({
1525 url: wp_ajax_url,
1526 type: "post",
1527 data: post_data_inner,
1528 dataType: "json",
1529 success: function(data) {
1530
1531 },
1532 error: function(xhr, status, error) {
1533
1534 }
1535 });
1536
1537 thisPage.options.shortcodes_loaded = 1;
1538 $('.add_shortcode_widgets_event_holder').addClass('ss_hidden');
1539
1540 }
1541 else if(success == "email_registered") {
1542
1543 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1544 thisPage.showMessage("error","Email already registered", false);
1545 }
1546 else {
1547
1548 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1549 thisPage.showMessage("error","Error", false);
1550 }
1551
1552 },
1553 error: function (responseData, textStatus, errorThrown) {
1554
1555 thisPage.hideOverlay();
1556 thisPage.hideLoading();
1557 }
1558 });
1559
1560 }, 400);
1561 };
1562
1563 make_register();
1564 }
1565 else {
1566 thisPage.shake($(".gsp_login_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1567 }
1568 });
1569
1570 // add website
1571 // validate title
1572 $('body').on('blur', '#gsp_add_w_title', function(e) {
1573 var site_title = $.trim($(this).val());
1574
1575 // trim value
1576 $(this).val(site_title);
1577
1578 if(site_title.length < 2) {
1579 $(this).addClass('gsp_error');
1580 thisPage.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1581 }
1582 else {
1583 $(this).removeClass('gsp_error');
1584 }
1585 });
1586
1587 $('body').on('click', '#add_website_lang .search_li', function(e) {
1588
1589 $(this).parents(".items_select_filter_wrapper").removeClass("gsp_error");
1590 });
1591
1592 // validate url
1593 $('body').on('blur', '#gsp_add_w_url', function(e){
1594
1595 var site_url = $.trim($(this).val());
1596
1597 // trim value
1598 $(this).val(site_url);
1599
1600 // disabled url validation, to allow local values
1601
1602 // if((!thisPage.validateUrl(site_url) && site_url != 'http://localhost') || site_url.indexOf(',') !== -1) {
1603 if(site_url == '' || site_url.indexOf(',') !== -1) {
1604
1605 $(this).addClass('gsp_error');
1606 thisPage.shake($(this), {'shakes': 2,'distance': 10,'duration': 300});
1607 }
1608 else {
1609 $(this).removeClass('gsp_error');
1610 }
1611 });
1612
1613 // submit form
1614 $('body').on('click', '#gsp_create_website_button', function(e) {
1615
1616 var $site_title = $("#gsp_add_w_title"),
1617 $site_url = $("#gsp_add_w_url"),
1618 site_title_val = $site_title.val(),
1619 site_url_val = $site_url.val(),
1620 $language_selector = $("#add_website_lang"),
1621 language_selector_val = $("#add_website_lang").find(".li_selected").data("val"),
1622 form_validated = true;
1623
1624 // validate title
1625 if(site_title_val.length < 2) {
1626 form_validated = false;
1627 $site_title.addClass('gsp_error');
1628 $site_title.focus();
1629 }
1630 else {
1631 $site_title.removeClass('gsp_error');
1632 }
1633
1634 // validate url
1635
1636 // if((!thisPage.validateUrl(site_url_val) && site_url_val != 'http://localhost') || site_url_val.indexOf(',') !== -1) {
1637 if(site_url_val == '' || site_url_val.indexOf(',') !== -1) {
1638
1639 $site_url.addClass('gsp_error');
1640 form_validated = false;
1641 }
1642 else {
1643 $site_url.removeClass('gsp_error');
1644 }
1645
1646 //validate language
1647 if(language_selector_val == undefined) {
1648 $language_selector.addClass('gsp_error');
1649 thisPage.shake($language_selector, {'shakes': 2,'distance': 10,'duration': 300});
1650 form_validated = false;
1651 }
1652 else {
1653 $language_selector.removeClass('gsp_error');
1654 }
1655
1656 if(form_validated) {
1657
1658 var tts_url = thisPage.options.tts_url;
1659 var gspeech_token = thisPage.getCookie('gspeech_token');
1660 var lang_code = language_selector_val;
1661
1662 var add_site = function() {
1663
1664 var ajax_id = 'add_website_connection';
1665
1666 var post_data = {
1667 'ajax_id':ajax_id,
1668 'token':gspeech_token,
1669 'website_url':site_url_val,
1670 'website_name':site_title_val,
1671 'language_code':lang_code
1672 };
1673
1674 thisPage.showOverlay();
1675 thisPage.showLoading();
1676
1677 $.ajax({
1678 type: 'POST',
1679 url: tts_url + '/ajax',
1680 crossDomain: true,
1681 data: post_data,
1682 dataType: 'json',
1683 success: function(responseData, textStatus, jqXHR) {
1684
1685 var result = responseData.success;
1686 if(result == 'true') {
1687
1688 var widget_id = responseData.widget_id;
1689 var crypto = responseData.crypto;
1690
1691 thisPage.hideOverlay();
1692 thisPage.hideLoading();
1693 thisPage.showMessage('success','Website has been created successfully!');
1694
1695 // store data
1696 var post_data_inner = {
1697 action: 'wpgsp_apply_ajax_save',
1698 _ajax_nonce: wp_ajax_nonce,
1699 type: 'save_data',
1700 field: "widget_id,crypto",
1701 val: widget_id + ':' + crypto
1702 };
1703 $.ajax
1704 ({
1705 url: wp_ajax_url,
1706 type: "post",
1707 data: post_data_inner,
1708 dataType: "json",
1709 success: function(data) {
1710 setTimeout(function() {
1711 window.location.reload();
1712 }, 400);
1713 },
1714 error: function(xhr, status, error) {
1715
1716 }
1717 });
1718 }
1719 else if(result == 'auth_failed') {
1720
1721 thisPage.hideOverlay();
1722 thisPage.hideLoading();
1723
1724 thisPage.makeLogout();
1725 }
1726 else {
1727 thisPage.hideOverlay();
1728 thisPage.hideLoading();
1729
1730 var message = result == 'limit_exceeded' ? 'Sites count exceeded!' : 'Error adding website!'
1731 thisPage.showMessage('error', message);
1732 }
1733 },
1734 error: function (responseData, textStatus, errorThrown) {
1735
1736 thisPage.hideOverlay();
1737 thisPage.hideLoading();
1738 thisPage.showMessage('error','Error adding website!');
1739 }
1740 });
1741 };
1742
1743 add_site();
1744 }
1745 else {
1746 thisPage.shake($(".gsp_add_website_wrapper"), {'shakes': 2,'distance': 10,'duration': 300});
1747 }
1748 });
1749
1750 // logout
1751 $('body').on('click', '#gsp_sign_out_button', function(e){
1752
1753 thisPage.makeLogout();
1754 });
1755
1756 $("body").on("click", ".dashboard_tab", function() {
1757
1758 if($(this).hasClass("ss_selected"))
1759 return;
1760
1761 $(this).parents(".dashboard_tabs_wrapper").find(".dashboard_tab.ss_selected").removeClass("ss_selected");
1762 $(this).addClass("ss_selected");
1763
1764 var tab_ident = $(this).data("tab_ident");
1765
1766 $(".ss_tab_active").removeClass("ss_tab_active");
1767 $(".ss_tab_" + tab_ident).addClass("ss_tab_active");
1768
1769 thisPage.generateWrapperHeight();
1770 });
1771
1772 //////////////////////////// Dashboard events ///////////////////////////////////////////////////////////////
1773
1774 // tables
1775 $('body').on('click', '.itm_has_ord', function(e) {
1776
1777 var $el = $(e.target);
1778
1779 if(!$el.hasClass('itm_has_ord'))
1780 $el = $el.parents('.itm_has_ord');
1781
1782 $itms_header = $el.parents('.items_body_header');
1783
1784 if($el.hasClass('itm_ord_active')) {
1785 if($el.hasClass('item_ord_asc')) {
1786 $el.removeClass('item_ord_asc');
1787 $el.addClass('item_ord_desc');
1788 }
1789 else {
1790 $el.addClass('item_ord_asc');
1791 $el.removeClass('item_ord_desc');
1792 }
1793 }
1794 else {
1795 $itms_header.find('.itm_ord_active')
1796 .removeClass('item_ord_desc')
1797 .removeClass('item_ord_asc')
1798 .removeClass('itm_ord_active');
1799
1800 $el.addClass('itm_ord_active');
1801 $el.addClass('item_ord_desc');
1802 }
1803
1804 // make table filter
1805 thisPage.makeTableFilter();
1806 });
1807
1808 // search
1809 $('body').on('click', '.search_items_wrapper', function(e) {
1810 var $el = $(e.target);
1811
1812 if(!$el.hasClass('search_items_wrapper')) {
1813 return;
1814 $el = $el.parents('.search_items_wrapper');
1815 }
1816
1817 $el.find('.search_input').focus();
1818 });
1819
1820 $('body').on('focus', '.search_input', function(e) {
1821 var $el = $(e.target);
1822
1823 if(!$el.hasClass('search_input'))
1824 $el = $el.parents('.search_input');
1825
1826 $el.parent('.search_items_wrapper').addClass('search_items_wrapper_focused');
1827 });
1828
1829 $('body').on('blur', '.search_input', function(e) {
1830 var $el = $(e.target);
1831
1832 if(!$el.hasClass('search_input'))
1833 $el = $el.parents('.search_input');
1834
1835 $el.parent('.search_items_wrapper').removeClass('search_items_wrapper_focused');
1836
1837 var old_val = $el.data('search_val');
1838 var new_val = $el.val();
1839
1840 if(old_val != new_val) {
1841 // set active page to 1
1842 $('.itms_p_sel').removeClass('itms_p_sel');
1843 $('.items_pagination_itms_holder').find('.itms_p_i:first-child').addClass('itms_p_sel');
1844
1845 thisPage.makeTableFilter();
1846 }
1847 });
1848
1849 var search_timeout = 0;
1850 $('body').on('keydown', '.search_input', function(e) {
1851
1852 // if processing, stop
1853 if($('#items_wrapper_overlay').hasClass('items_wrapper_overlay_visible')) {
1854 return false;
1855 }
1856 });
1857 $('body').on('keyup', '.search_input', function(e) {
1858
1859 var $el = $(e.target);
1860
1861 if(!$el.hasClass('search_input'))
1862 $el = $el.parents('.search_input');
1863
1864 var val = $el.val();
1865 if(val == '') {
1866 $el.prev('.search_icon_holder').addClass('search_icon_pasive');
1867 $el.next('.reset_search').removeClass('reset_search_visible');
1868 }
1869 else {
1870 $el.prev('.search_icon_holder').removeClass('search_icon_pasive');
1871 $el.next('.reset_search').addClass('reset_search_visible');
1872 }
1873
1874 var old_val = $el.data('search_val');
1875 var new_val = $el.val();
1876
1877 clearTimeout(search_timeout);
1878 search_timeout = setTimeout(function() {
1879 if(old_val != new_val) {
1880 // set active page to 1
1881 $('.itms_p_sel').removeClass('itms_p_sel');
1882 $('.items_pagination_itms_holder').find('.itms_p_i:first-child').addClass('itms_p_sel');
1883 thisPage.makeTableFilter();
1884 }
1885 }, 800);
1886
1887 if(old_val != new_val) {
1888 if (e.key === 'Enter' || e.keyCode === 13) {
1889 clearTimeout(search_timeout);
1890
1891 // set active page to 1
1892 $('.itms_p_sel').removeClass('itms_p_sel');
1893 $('.items_pagination_itms_holder').find('.itms_p_i:first-child').addClass('itms_p_sel');
1894 thisPage.makeTableFilter();
1895 }
1896 }
1897 });
1898
1899 $('body').on('click', '.reset_search', function(e) {
1900 var $el = $(e.target);
1901
1902 if(!$el.hasClass('reset_search'))
1903 $el = $el.parents('.reset_search');
1904
1905 var $search_input = $el.prev('.search_input');
1906
1907 var $search_icon = $el.parents('.search_items_wrapper').find('.search_icon_holder');
1908
1909 $search_input.val('');
1910
1911 $el.removeClass('reset_search_visible');
1912 $search_icon.addClass('search_icon_pasive');
1913
1914 // set active page to 1
1915 $('.itms_p_sel').removeClass('itms_p_sel');
1916 $('.items_pagination_itms_holder').find('.itms_p_i:first-child').addClass('itms_p_sel');
1917
1918 thisPage.makeTableFilter();
1919 });
1920
1921 $('body').on('click', '.search_icon_holder', function(e) {
1922 var $el = $(e.target);
1923
1924 if(!$el.hasClass('search_icon_holder'))
1925 $el = $el.parents('.search_icon_holder');
1926
1927 if($el.hasClass('.search_icon_pasive'))
1928 return;
1929
1930 var $search_input = $el.next('.search_input');
1931
1932 var old_val = $search_input.data('search_val');
1933 var new_val = $search_input.val();
1934
1935 if(old_val != new_val)
1936 thisPage.makeTableFilter();
1937 });
1938
1939 // pages
1940 $('body').on('click', ".itms_p_i:not(.itms_p_sel)", function(e) {
1941
1942 var $el = $(e.target);
1943
1944 if(!$el.hasClass('itms_p_i'))
1945 $el = $el.parents('.itms_p_i');
1946
1947 $('.itms_p_sel').removeClass('itms_p_sel');
1948 $el.addClass('itms_p_sel');
1949
1950 thisPage.makeTableFilter();
1951 });
1952
1953 // left tabs-menus
1954 $('body').on('click', '.gsp_left_menu', function(e) {
1955 });
1956
1957 // Website settings section /////////////////////////////////////////////////////
1958
1959 $('body').on('click', '#wbs_plan li', function() {
1960
1961 var $target = $(this);
1962
1963 if(!$target.hasClass('li_selected')) {
1964
1965 var plan_val = $target.data('val');
1966
1967 if(plan_val == 0) {
1968
1969 $("#wbs_voice").find(".ss_voice_type_1").addClass("ss_disabled");
1970 $("#wbs_voice").find(".ss_voice_type_2").addClass("ss_disabled");
1971 $("#wbs_voice").find(".ss_voice_type_3").addClass("ss_disabled");
1972 $("#wbs_voice").find(".ss_voice_type_4").addClass("ss_disabled");
1973 $("#wbs_voice").find(".ss_voice_type_5").addClass("ss_disabled");
1974
1975 $(".ss_commercial_switcher").removeClass("gs_mono_switcher_button_on").addClass("ss_disabled");
1976 $(".ss_commercial_switcher").find(".gs_mono_checkbox").prop("checked",false);
1977
1978 $('.ss_commercial_switcher').parent('div').find('.ss_locked_icon').removeClass("ss_display_none").addClass('ss_vis_par');
1979
1980 $(".gsp_option_disable_switcher").addClass("gsp_option_disabled");
1981
1982 if(!$("#wbs_voice").find('.ss_voice_type_0').length) {
1983
1984 $("#wbs_voice").find(".li_selected").removeClass("li_selected");
1985 $("#wbs_voice").find(".items_select_filter_content span").html($("#wbs_voice").data("def_txt"));
1986 }
1987 else {
1988 $("#wbs_voice").find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
1989 $("#wbs_voice").find('.ss_voice_type_0').addClass("li_selected").addClass("ss_ul_li_act");
1990 $("#wbs_voice").find(".items_select_filter_content span").html($("#wbs_voice").find(".li_selected span").html());
1991
1992 thisPage.resetPlayerWebsiteSettings();
1993 }
1994
1995 $("#wbs_multiple_voices").addClass("ss_disabled");
1996 $("#wbs_multiple_voices").find(".items_select_filter_content span").html($("#wbs_multiple_voices").data("def_txt"));
1997 $("#wbs_multiple_voices").find(".items_select_ul").html();
1998
1999 $("#ss_translation_options").addClass("ss_display_none");
2000 }
2001 else {
2002 $("#wbs_voice").find(".ss_disabled").removeClass("ss_disabled");
2003 $("#wbs_multiple_voices").removeClass("ss_disabled");
2004 $("#ss_translation_options .items_select_filter_wrapper .search_li").removeClass("ss_disabled");
2005
2006 var m_v_title = $("#wbs_voice").find(".li_selected").length ? $("#wbs_voice").find(".li_selected span").html() : $("#wbs_multiple_voices").data("def_txt");
2007 $("#wbs_multiple_voices").find(".items_select_filter_content span").html(m_v_title);
2008 $("#wbs_multiple_voices").find(".items_select_ul").html($("#wbs_voice").find(".items_select_ul").html());
2009
2010 // 3.11.0
2011 $(".ss_commercial_switcher").removeClass("ss_disabled");
2012
2013 $(".ss_commercial_switcher").each(function() {
2014
2015 var $switcher = $(this);
2016
2017 if(!$switcher.hasClass("ss_commercial_turnon_dis")) {
2018
2019 $switcher.addClass("gs_mono_switcher_button_on");
2020 $switcher.find(".gs_mono_checkbox").prop("checked",true);
2021 }
2022 })
2023
2024 $('.ss_commercial_switcher').parent('div').find('.ss_locked_icon').addClass("ss_display_none").removeClass('ss_vis_par');
2025
2026 $("#ss_translation_options").removeClass("ss_display_none");
2027
2028 var $gsLanguageSelector = $("#lng_sel"),
2029 $gsVoiceSelector = $("#wbs_voice"),
2030 $gsMultipleVoiceSelector = $("#wbs_multiple_voices");
2031
2032 // setTimeout(function() {
2033
2034 // var lang_code = $gsLanguageSelector.find("li.li_selected").data('val');
2035
2036 // $gsMultipleVoiceSelector.find(".search_li").each(function() {
2037
2038 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
2039 // });
2040 // }, 800);
2041 }
2042 }
2043 });
2044
2045 $('body').on('click', '#wbs_voice li', function(e) {
2046
2047 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2048 return;
2049
2050 var $target = $(this);
2051 var $target_inner = $(e.target);
2052
2053 if($target.hasClass('li_selected') || $target_inner.hasClass('play_voice_preview') || $target_inner.parents('.play_voice_preview').length)
2054 return;
2055
2056 // sync multiple voices
2057 var sel_val = $target.data("val");
2058 if($('#wbs_voice_enabled').find(".gs_mono_checkbox").prop("checked") == true) {
2059
2060 $gsMultipleVoiceSelector = $("#wbs_multiple_voices");
2061
2062 $gsMultipleVoiceSelector.find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
2063 $gsMultipleVoiceSelector.find('.ss_option_hardcoded').removeClass("ss_option_hardcoded");
2064 $gsMultipleVoiceSelector.find('.option-' + sel_val).addClass("ss_option_hardcoded").addClass("li_selected").addClass("ss_ul_li_act");
2065
2066 var voice_cont_val = $target.find("span").html();
2067
2068 $gsMultipleVoiceSelector.find(".items_select_filter_content span").html(voice_cont_val);
2069 }
2070 // sync languages blovk
2071 $(".ss_tr_block_hardcoded").find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
2072 $(".ss_tr_block_hardcoded").find('.option-' + sel_val).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
2073 var voice_cont_val = $target.find("span").html();
2074 $(".ss_tr_block_hardcoded").find(".items_select_filter_content span").html(voice_cont_val);
2075
2076 setTimeout(function() {
2077
2078 thisPage.resetPlayerWebsiteSettings();
2079
2080 if(!$target.hasClass("ss_voice_type_2") && !$target.hasClass("ss_voice_type_5") && !$target.hasClass("ss_voice_type_7"))
2081 $(".gsp_option_disable_switcher").addClass("gsp_option_disabled");
2082 else
2083 if(!$target.hasClass("ss_disabled"))
2084 $(".gsp_option_disable_switcher").removeClass("gsp_option_disabled");
2085
2086 },400);
2087 });
2088
2089 $('body').on('click', '#wbs_multiple_voices li', function(e) {
2090
2091 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2092 return;
2093
2094 setTimeout(function() {
2095
2096 var c_val = $(this).parents(".items_select_filter_wrapper").find('.items_select_filter_content span').html(),
2097 ul_htm = $(this).parents(".items_select_ul").html();
2098
2099 $(".ss_tr_block_hardcoded").find(".items_select_filter_content span").html(c_val);
2100 $(".ss_tr_block_hardcoded").find(".items_select_ul").html(ul_htm);
2101
2102 }.bind(this), 1);
2103 });
2104
2105 $('body').on('click', '.ss_tr_block_hardcoded .search_li', function(e) {
2106
2107 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2108 return;
2109
2110 if($('#wbs_voice_enabled').find(".gs_mono_checkbox").prop("checked")) {
2111 setTimeout(function() {
2112
2113 var c_val = $(this).parents(".items_select_filter_wrapper").find('.items_select_filter_content span').html(),
2114 ul_htm = $(this).parents(".items_select_ul").html();
2115
2116 $("#wbs_multiple_voices").find(".items_select_filter_content span").html(c_val);
2117 $("#wbs_multiple_voices").find(".items_select_ul").html(ul_htm);
2118
2119 }.bind(this), 1);
2120 }
2121 });
2122
2123 $('body').on('click', '#lng_sel li', function() {
2124
2125 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2126 return;
2127
2128 var $target = $(this);
2129
2130 if($target.hasClass('li_selected'))
2131 return;
2132
2133 setTimeout(function() {
2134
2135 thisPage.processVoiceWebsiteSettings();
2136
2137 // make preview text translation
2138 var $active_lang_selector = $target.parents('.items_select_filter_wrapper');
2139 var lang = $active_lang_selector.find('.li_selected').data('val');
2140
2141 var lang_p = lang.split('-');
2142 var lang_to = lang_p[0];
2143
2144 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
2145
2146 var $voice_preview_data = $("#voice_preview_data");
2147 var preview_txt_def = $voice_preview_data.data('preview_txt_def');
2148 var preview_txt_ready = preview_txt_def;
2149
2150 var translate_callback = function(translated) {
2151 var tr_item = translated["0"];
2152 $voice_preview_data.data('preview_txt_ready', tr_item);
2153
2154 thisPage.processVoiceWebsiteSettings();
2155 };
2156
2157 if(lang_to != 'en')
2158 window.gspeech.doSmartTranslate('en', lang_to, [preview_txt_def], translate_callback);
2159 else {
2160 $voice_preview_data.data('preview_txt_ready', preview_txt_def);
2161 thisPage.processVoiceWebsiteSettings();
2162 }
2163
2164 },400);
2165 });
2166
2167 $('body').on('click', '#wbs_voice_enabled', function() {
2168
2169 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2170 return;
2171
2172 if($(this).hasClass("gs_mono_switcher_button_on")) {
2173
2174 var m_voice_sel = $("#wbs_voice").find(".items_select_filter_content span").html();
2175 $("#wbs_multiple_voices").find(".items_select_ul").html($("#wbs_voice").find(".items_select_ul").html());
2176 $("#wbs_multiple_voices").find(".items_select_filter_content span").html(m_voice_sel);
2177 $("#wbs_multiple_voices").removeClass("ss_disabled");
2178 $("#wbs_multiple_voices").find(".li_selected").addClass("ss_option_hardcoded");
2179
2180 var ul_htm = $("#wbs_multiple_voices").find(".items_select_ul").html();
2181
2182 $(".ss_tr_block_hardcoded").find(".items_select_filter_content span").html(m_voice_sel);
2183 $(".ss_tr_block_hardcoded").find(".items_select_ul").html(ul_htm);
2184
2185 var $gsLanguageSelector = $("#lng_sel"),
2186 $gsVoiceSelector = $("#wbs_voice"),
2187 $gsMultipleVoiceSelector = $("#wbs_multiple_voices");
2188
2189 // setTimeout(function() {
2190
2191 // var lang_code = $gsLanguageSelector.find("li.li_selected").data('val');
2192
2193 // $gsMultipleVoiceSelector.find(".search_li").each(function() {
2194
2195 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
2196 // });
2197 // }, 800);
2198 }
2199 else {
2200 $("#wbs_multiple_voices").find(".items_select_ul").html("");
2201 $("#wbs_multiple_voices").find(".items_select_filter_content span").html($("#wbs_multiple_voices").data("def_txt"));
2202 $("#wbs_multiple_voices").addClass("ss_disabled");
2203 }
2204 });
2205
2206 $('body').on('click', '#wbs_lang_enabled', function() {
2207
2208 if(!$("#dashboard_content").hasClass("ss_dash_webs_set"))
2209 return;
2210
2211 if($(this).hasClass("gs_mono_switcher_button_on")) {
2212 $("#ss_translation_options").removeClass("ss_display_none");
2213 // thisPage.generateWrapperHeight();
2214 }
2215 else {
2216 $("#ss_translation_options").addClass("ss_display_none");
2217 // thisPage.generateWrapperHeight();
2218 }
2219 });
2220
2221 $('body').on('click', '.play_voice_preview', function() {
2222
2223 var $target = $(this);
2224
2225 var name_hash = $target.parents('li').data('name_hash');
2226
2227 window.gspeech.hidden_audio_holder = $target;
2228 // window.gspeech.load_from_cache = name_hash;
2229
2230 if(!$target.hasClass('play_voice_preview'))
2231 $target = $target.parents('.play_voice_preview');
2232
2233 // pause if playing
2234 if($target.parents(".items_select_ul").find('.stop_visible').length) {
2235
2236 var itm_md5 = $target.parents(".items_select_ul").find('.stop_visible').data('md5');
2237 var $audioG = $('.gsp_speech_md5_' + itm_md5).get(0);
2238 $audioG.pause();
2239 $audioG.currentTime = 0;
2240 }
2241
2242 $target.addClass('self_t');
2243
2244 // set all icons to play status
2245 $target.parents('.items_select_ul').find(".play_voice_preview:not(.self_t)").removeClass('stop_visible').addClass('play_visible');
2246
2247 if($target.hasClass("play_visible")) {
2248 $target.removeClass("play_visible");
2249 $target.addClass("stop_visible");
2250 }
2251 else {
2252 $target.addClass("play_visible");
2253 $target.removeClass("stop_visible");
2254
2255 // reset voice
2256 var md5 = $target.data('md5');
2257 var $audio = $('.gsp_speech_md5_' + md5);
2258 var $audioG = $audio.get(0);
2259
2260 $audioG.pause();
2261 $audioG.currentTime = 0;
2262
2263 window.gspeech.load_from_cache = 0;
2264
2265 return false;
2266 }
2267
2268 $target.removeClass('self_t');
2269
2270 // make preview play
2271 var voice = $target.parents('.search_li').data('val');
2272 var $lng_sel = $("#lng_sel");
2273
2274 var lang = $lng_sel.find('.li_selected').data('val');
2275 var speed = '1.00';
2276 var pitch = '0.00';
2277
2278 var preview_txt_ready = $("#voice_preview_data").data('preview_txt_ready');
2279
2280 var is_on_translation_block = false;
2281 var $tr_bl = $target.parents('.ss_translation_item');
2282 if($tr_bl.length) {
2283
2284 is_on_translation_block = true;
2285 }
2286
2287 if(is_on_translation_block && $tr_bl.hasClass('preview_txt_processed')) {
2288
2289 lang = $tr_bl.data('val');
2290 preview_txt_ready = $tr_bl.data('prev_txt');
2291 }
2292
2293 var speech_data = lang + ',' + voice + ',' + speed + ',' + pitch;
2294
2295 var ended_callback = function() {
2296 $target.removeClass("stop_visible").addClass("play_visible");
2297 };
2298
2299 window.gspeech.doSmartSpeech(preview_txt_ready, speech_data, '', true, '', null, 0, ended_callback);
2300
2301 // this.doSmartSpeech = function(str, voice_data = '', uniq = '', play_instantly = true, id_player = '', callback = null, id_block = 0, ended_callback = null) {
2302 });
2303
2304 // translate preview txt
2305 $('body').on('click', '.ss_translation_item', function() {
2306
2307 var $target = $(this);
2308
2309 if(!$target.hasClass('ss_translation_item')) {
2310
2311 $target = $target.parents('.ss_translation_item');
2312 }
2313
2314 var v = $target.data('prev_txt');
2315
2316 if($target.hasClass("preview_txt_processed")) {
2317 return;
2318 }
2319
2320 if($target.hasClass("click_fired")) {
2321 return;
2322 }
2323
2324 $target.addClass("click_fired");
2325
2326 thisPage.createTranslationBlockPreviewTxt($target);
2327 });
2328
2329 // translation ss checkbox
2330 var ss_ch_t = 0;
2331 var ss_wh_t = 0;
2332 $('body').on('click', '#ss_translation_options .ss_checkbox_wrapper', function(e) {
2333
2334 var $ch = $(this);
2335 var $l2 = $ch.parents(".ss_translation_item").find(".ss_tr_line2");
2336
2337 if(ss_ch_t != 0)
2338 clearTimeout(ss_ch_t);
2339
2340 if(ss_wh_t != 0)
2341 clearTimeout(ss_ch_t);
2342
2343 if($ch.hasClass("ss_checked")) {
2344 $l2.addClass("ss_tr_line2_v");
2345 ss_ch_t = setTimeout(function() {
2346 $l2.addClass("ss_ov_v");
2347 }, 300);
2348 }
2349 else {
2350 $l2.removeClass("ss_ov_v");
2351 $l2.removeClass("ss_tr_line2_v");
2352 }
2353
2354 ss_wh_t = setTimeout(function() {
2355 thisPage.generateWrapperHeight();
2356 }, 300);
2357 });
2358 var ss_ch_t = 0;
2359 var ss_wh_t = 0;
2360 $('body').on('click', '#ss_w_translation_options .ss_checkbox_wrapper', function(e) {
2361
2362 var $ch = $(this);
2363 var $l2 = $ch.parents(".ss_translation_item").find(".ss_tr_line2");
2364
2365 if(ss_ch_t != 0)
2366 clearTimeout(ss_ch_t);
2367
2368 if(ss_wh_t != 0)
2369 clearTimeout(ss_ch_t);
2370
2371 if($ch.hasClass("ss_checked")) {
2372 $l2.addClass("ss_tr_line2_v");
2373 ss_ch_t = setTimeout(function() {
2374 $l2.addClass("ss_ov_v");
2375 }, 300);
2376 }
2377 else {
2378 $l2.removeClass("ss_ov_v");
2379 $l2.removeClass("ss_tr_line2_v");
2380 }
2381
2382 ss_wh_t = setTimeout(function() {
2383 thisPage.generateWrapperHeight();
2384 }, 300);
2385 });
2386
2387 // stop preview audio, when hiding wrapper
2388 $("body").on("click", function(e) {
2389
2390 var $target = $(e.target);
2391 if($target.hasClass("search_li") || $target.parents(".search_li").length)
2392 return;
2393
2394 if($(".ss_audio_holder.isfw_opened").length) {
2395
2396 $(".ss_audio_holder.isfw_opened").each(function() {
2397
2398 if($(this).find('.stop_visible').length) {
2399
2400 var itm_md5 = $(this).find('.stop_visible').data('md5');
2401 $audioG = $('.gsp_speech_md5_' + itm_md5).get(0);
2402
2403 if($audioG == undefined)
2404 return;
2405
2406 $audioG.pause();
2407 $audioG.currentTime = 0;
2408
2409 $(this).find('.stop_visible').removeClass("stop_visible").addClass("play_visible");
2410 }
2411 });
2412 }
2413 });
2414
2415 // save website settings
2416 $('body').on('click', '#ss_website_settings_submit', function() {
2417
2418 var $ss_website_title = $("#ss_website_title");
2419 var ss_website_title = $.trim($ss_website_title.val());
2420 $ss_website_title.val(ss_website_title);
2421
2422 var $ss_website_url = $("#ss_website_url");
2423 var ss_website_url = $.trim($ss_website_url.val());
2424 $ss_website_url.val(ss_website_url);
2425
2426 var form_validated = true;
2427
2428 // title
2429 if(ss_website_title.length < 2) {
2430
2431 $ss_website_title.addClass('ss_error');
2432 form_validated = false;
2433 $ss_website_title.focus();
2434 thisPage.shake($ss_website_title);
2435 }
2436 else {
2437 $ss_website_title.removeClass('ss_error');
2438 }
2439
2440 // url
2441 if(ss_website_url == "" || ss_website_url.indexOf(',') !== -1) {
2442
2443 $ss_website_url.addClass('ss_error');
2444 form_validated = false;
2445 $ss_website_url.focus();
2446 thisPage.shake($ss_website_url);
2447 }
2448 else {
2449 $ss_website_url.removeClass('ss_error');
2450 }
2451
2452 // get lang
2453 var ss_website_lang = $("#lng_sel").find(".li_selected").data("val");
2454
2455 // get voice
2456 var ss_website_voice = "";
2457 if(!$("#wbs_voice").find(".li_selected").length) {
2458 form_validated = false;
2459 $("#wbs_voice").addClass("ss_error");
2460 thisPage.shake($("#wbs_voice"));
2461 }
2462 else {
2463 $("#wbs_voice").removeClass("ss_error");
2464 ss_website_voice = $("#wbs_voice").find(".li_selected").data("val");
2465 }
2466
2467 var ss_website_plan = $("#wbs_plan").find(".li_selected").data("val");
2468
2469 // get pitch,speed
2470 var ss_website_speed = $("#gsp_slider_speed").find('.gsp_value_label').val();
2471 var ss_website_pitch = $("#gsp_slider_pitch").find('.gsp_value_label').val();
2472
2473 // voice enabled
2474 var voice_enabled = $("#wbs_voice_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2475
2476 // voice enabled
2477 var website_status = $("#wbs_status").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2478
2479 var website_custom_js = $.trim($("#ss_custom_js").val());
2480 $("#ss_custom_js").val(website_custom_js);
2481
2482 var website_custom_css = $.trim($("#ss_custom_css").val());
2483 $("#ss_custom_css").val(website_custom_css);
2484
2485 var website_aliases = $.trim($("#ss_aliases").val());
2486 $("#ss_aliases").val(website_aliases);
2487
2488 // multiple voices
2489 var ss_website_multiple_voice = '';
2490 if(voice_enabled == 1 && !$("#wbs_multiple_voices").find(".li_selected").length) {
2491 form_validated = false;
2492 $("#wbs_multiple_voices").addClass("ss_error");
2493 thisPage.shake($("#wbs_multiple_voices"));
2494 }
2495 else {
2496 $("#wbs_multiple_voices").removeClass("ss_error");
2497
2498 $("#wbs_multiple_voices").find(".li_selected").each(function() {
2499
2500 ss_website_multiple_voice += $(this).data("val") + ',';
2501
2502 });
2503 ss_website_multiple_voice = ss_website_multiple_voice.slice(0, -1);
2504 }
2505
2506 // appear class
2507 var ss_website_appear_class = $("#wbs_appear_class").find(".li_selected").data("val");
2508
2509 // speed enabled
2510 var speed_enabled = $("#wbs_speed_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2511
2512 // volume enabled
2513 var volume_enabled = $("#wbs_volume_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2514
2515 // text enabled
2516 var text_enabled = $("#wbs_text_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2517
2518 // download enabled
2519 var download_enabled = $("#wbs_download_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2520
2521 // context enabled
2522 var context_enabled = $("#wbs_context_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2523
2524 // plays enabled
2525 var plays_enabled = $("#wbs_plays_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2526
2527 // lang enabled
2528 var lang_enabled = $("#wbs_lang_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2529
2530 // lazy load
2531 var wbs_lazy_load = $("#wbs_lazy_load").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2532
2533 // reload session
2534 var wbs_reload_session = $("#wbs_reload_session").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2535
2536 // 3.9.0
2537
2538 // wbs_auto_enable
2539 var wbs_auto_enable = $("#wbs_auto_enable").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2540
2541 // wbs_show_on_homepage
2542 var wbs_show_on_homepage = $("#wbs_show_on_homepage").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2543
2544 // wbs_multilang_website
2545 var wbs_multilang_website = $("#wbs_multilang_website").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2546
2547 // wbs_read_titles
2548 var wbs_read_titles = $("#wbs_read_titles").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2549
2550 // wbs_read_titles
2551 var wbs_affiliate = $("#wbs_affiliate").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2552
2553 // wbs_onfly
2554 var wbs_onfly = $("#wbs_onfly").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
2555
2556 var wbs_post_types = "";
2557 $("#gsp_post_types").find(".li_selected").each(function() {
2558
2559 if(wbs_post_types != "") {
2560 wbs_post_types += ",";
2561 }
2562 var piece_v = $(this).data("val");
2563 wbs_post_types += piece_v;
2564 });
2565 wbs_post_types = wbs_post_types == '' ? 'all' : wbs_post_types;
2566
2567 var wbs_categories = "";
2568 $("#gsp_categories").find(".li_selected").each(function() {
2569
2570 if(wbs_categories != "") {
2571 wbs_categories += ",";
2572 }
2573 var piece_v = $(this).data("val");
2574 wbs_categories += piece_v;
2575 });
2576 wbs_categories = wbs_categories == '' ? 'all' : wbs_categories;
2577
2578 var wbs_exclude_list = $.trim($('#ss_website_exclude_list').val());
2579 var wbs_allowed_urls = $.trim($('#ss_wbs_allowed_urls').val());
2580 var wbs_blocked_urls = $.trim($('#ss_wbs_blocked_urls').val());
2581
2582 var ss_website_langs = "";
2583 if(lang_enabled == 1) {
2584
2585 $("#ss_translation_options").find(".ss_checked").each(function() {
2586
2587 // website_options["sel_langs"] = "en-US|C-2,D-2,E-2,M-5;ru-RU|E-2,B-2,D-2";
2588
2589 var $lang_item = $(this).parents(".ss_translation_item");
2590 var lang_val = $lang_item.data("val");
2591 var lang_sel_voices = "";
2592 var $voice_wrapper = $lang_item.find(".items_select_filter_wrapper");
2593
2594 var lang_bl = lang_val + '|';
2595
2596 if(!$voice_wrapper.find(".li_selected").length) {
2597
2598 form_validated = false;
2599 $voice_wrapper.addClass("ss_error");
2600 thisPage.shake($voice_wrapper);
2601 }
2602 else {
2603
2604 $voice_wrapper.find(".li_selected").each(function() {
2605
2606 lang_bl += $(this).data("val") + ',';
2607 });
2608
2609 lang_bl = lang_bl.slice(0, -1);
2610 }
2611
2612 ss_website_langs += lang_bl + ';';
2613 });
2614
2615 ss_website_langs = ss_website_langs.slice(0, -1);
2616 }
2617
2618 if(form_validated) {
2619
2620 var form_data = "ss_website_title=" + encodeURIComponent(ss_website_title);
2621 form_data += "&ss_website_url=" + ss_website_url;
2622 form_data += "&ss_website_plan=" + ss_website_plan;
2623 form_data += "&ss_website_plan=" + ss_website_plan;
2624 form_data += "&ss_website_lang=" + ss_website_lang;
2625 form_data += "&ss_website_voice=" + ss_website_voice;
2626 form_data += "&ss_website_speed=" + ss_website_speed;
2627 form_data += "&ss_website_pitch=" + ss_website_pitch;
2628 form_data += "&voice_enabled=" + voice_enabled;
2629 form_data += "&sel_voices=" + ss_website_multiple_voice;
2630 form_data += "&appear_class=" + ss_website_appear_class;
2631 form_data += "&speed_enabled=" + speed_enabled;
2632 form_data += "&volume_enabled=" + volume_enabled;
2633 form_data += "&text_enabled=" + text_enabled;
2634 form_data += "&download_enabled=" + download_enabled;
2635 form_data += "&context_enabled=" + context_enabled;
2636 form_data += "&plays_enabled=" + plays_enabled;
2637 form_data += "&lang_enabled=" + lang_enabled;
2638 form_data += "&sel_langs=" + ss_website_langs;
2639 form_data += "&state=" + website_status;
2640 form_data += "&lazy_load=" + wbs_lazy_load;
2641 form_data += "&reload_session=" + wbs_reload_session;
2642
2643 form_data += "&auto_enable=" + wbs_auto_enable;
2644 form_data += "&show_on_homepage=" + wbs_show_on_homepage;
2645 form_data += "&multilang_website=" + wbs_multilang_website;
2646 form_data += "&read_titles=" + wbs_read_titles;
2647 form_data += "&post_types=" + wbs_post_types;
2648 form_data += "&categories=" + wbs_categories;
2649 form_data += "&affiliate=" + wbs_affiliate;
2650 form_data += "&onfly=" + wbs_onfly;
2651
2652 form_data += "&exclude_list=" + wbs_exclude_list;
2653 form_data += "&allowed_urls=" + encodeURIComponent(wbs_allowed_urls);
2654 form_data += "&blocked_urls=" + encodeURIComponent(wbs_blocked_urls);
2655
2656 form_data += "&aliases=" + encodeURIComponent(website_aliases);
2657 form_data += "&js=" + encodeURIComponent(website_custom_js);
2658 form_data += "&css=" + encodeURIComponent(website_custom_css);
2659
2660 var tts_url = thisPage.options.tts_url,
2661 ajax_id = 'update_website_settings_connection';
2662
2663 var gspeech_token = thisPage.getCookie('gspeech_token');
2664 var widget_id = thisPage.options.widget_id;
2665
2666 var post_data = {
2667 'ajax_id':ajax_id,
2668 'token':gspeech_token,
2669 'widget_id':widget_id,
2670 'form_data':form_data
2671 };
2672
2673 thisPage.showLoading();
2674 thisPage.showOverlay();
2675
2676 $.ajax({
2677 type: 'POST',
2678 url: tts_url + '/ajax',
2679 crossDomain: true,
2680 data: post_data,
2681 dataType: 'json',
2682 success: function(responseData, textStatus, jqXHR) {
2683
2684 thisPage.hideOverlay();
2685 thisPage.hideLoading();
2686
2687 var result = responseData['success'];
2688 var message = responseData['message'];
2689 if(result == 'true') {
2690
2691 thisPage.showMessage('success','Settings have been updated successfully.');
2692
2693 // if(window.gspeech != undefined)
2694 // window.gspeech.doSmartSpeech('Settings have been updated successfully.', 'en-US');
2695 }
2696 else if(result == "auth_failed") {
2697
2698 thisPage.refreshLogin("update_website_data");
2699 }
2700 else {
2701 thisPage.showMessage('error','Error!');
2702
2703 // if(window.gspeech != undefined)
2704 // window.gspeech.doSmartSpeech('Error!', 'en-US');
2705
2706 thisPage.shake($("#dashboard_content"), {'shakes': 2,'distance': 10,'duration': 300});
2707 }
2708 },
2709 error: function (responseData, textStatus, errorThrown) {
2710
2711 thisPage.hideOverlay();
2712 thisPage.hideLoading();
2713
2714 thisPage.showMessage('error','Error saving settings!');
2715
2716 // if(window.gspeech != undefined)
2717 // window.gspeech.doSmartSpeech('Error saving settings!', 'en-US');
2718 }
2719 });
2720
2721 // store lazy_load parameter to
2722
2723 var post_data_inner = {
2724 action: 'wpgsp_apply_ajax_save',
2725 _ajax_nonce: wp_ajax_nonce,
2726 type: 'save_data',
2727 field: "lazy_load,reload_session",
2728 val: wbs_lazy_load + ':' + wbs_reload_session
2729 };
2730 $.ajax
2731 ({
2732 url: wp_ajax_url,
2733 type: "post",
2734 data: post_data_inner,
2735 dataType: "json",
2736 success: function(data) {
2737
2738 },
2739 error: function(xhr, status, error) {
2740
2741 }
2742 });
2743
2744 // increase version index
2745 var post_data_inner = {
2746 action: 'wpgsp_apply_ajax_save',
2747 _ajax_nonce: wp_ajax_nonce,
2748 type: 'increase_index'
2749 };
2750 $.ajax
2751 ({
2752 url: wp_ajax_url,
2753 type: "post",
2754 data: post_data_inner,
2755 dataType: "json",
2756 success: function(data) {
2757
2758 },
2759 error: function(xhr, status, error) {
2760
2761 }
2762 });
2763 }
2764 else {
2765
2766 thisPage.shake($(this));
2767 }
2768 });
2769
2770 // Widget settings section /////////////////////////////////////////////////////
2771
2772 $('body').on('click', '#voice_sel_wdg li', function(e) {
2773
2774 var $target = $(this);
2775 var $target_inner = $(e.target);
2776
2777 if($target.hasClass('li_selected') || $target_inner.hasClass('play_voice_preview') || $target_inner.parents('.play_voice_preview').length)
2778 return;
2779
2780 // sync multiple voices
2781 var sel_val = $target.data("val");
2782 if($('#wbs_w_voice_enabled').find(".li_selected").data("val") == 1) {
2783
2784 $gsMultipleVoiceSelector = $("#wbs_w_multiple_voices");
2785
2786 $gsMultipleVoiceSelector.find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
2787 $gsMultipleVoiceSelector.find('.ss_option_hardcoded').removeClass("ss_option_hardcoded");
2788 $gsMultipleVoiceSelector.find('.option-' + sel_val).addClass("ss_option_hardcoded").addClass("li_selected").addClass("ss_ul_li_act");
2789
2790 var voice_cont_val = $target.find("span").html();
2791
2792 $gsMultipleVoiceSelector.find(".items_select_filter_content span").html(voice_cont_val);
2793 }
2794 // sync languages block
2795 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
2796 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find('.option-' + sel_val).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
2797 var voice_cont_val = $target.find("span").html();
2798 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find(".items_select_filter_content span").html(voice_cont_val);
2799
2800 setTimeout(function() {
2801
2802 thisPage.resetPlayerWidgetSettings();
2803
2804 if(!$target.hasClass("ss_voice_type_2") && !$target.hasClass("ss_voice_type_5") && !$target.hasClass("ss_voice_type_7"))
2805 $(".gsp_left_m_c_active .gsp_option_disable_switcher").addClass("gsp_option_disabled");
2806 else
2807 $(".gsp_left_m_c_active .gsp_option_disable_switcher").removeClass("gsp_option_disabled");
2808
2809 },400);
2810 });
2811
2812 $('body').on('click', '#wbs_w_multiple_voices li', function(e) {
2813
2814 setTimeout(function() {
2815
2816 var c_val = $(this).parents(".items_select_filter_wrapper").find('.items_select_filter_content span').html(),
2817 ul_htm = $(this).parents(".items_select_ul").html();
2818
2819 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find(".items_select_filter_content span").html(c_val);
2820 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find(".items_select_ul").html(ul_htm);
2821
2822 }.bind(this), 1);
2823 });
2824
2825 $('body').on('click', '.gsp_left_m_c_active .ss_tr_block_hardcoded .search_li', function(e) {
2826
2827 if($('#wbs_w_voice_enabled').find(".li_selected").data("val") == 1) {
2828 setTimeout(function() {
2829
2830 var c_val = $(this).parents(".items_select_filter_wrapper").find('.items_select_filter_content span').html(),
2831 ul_htm = $(this).parents(".items_select_ul").html();
2832
2833 $("#wbs_w_multiple_voices").find(".items_select_filter_content span").html(c_val);
2834 $("#wbs_w_multiple_voices").find(".items_select_ul").html(ul_htm);
2835
2836 }.bind(this), 1);
2837 }
2838 });
2839
2840 // translate texts
2841 $('body').on('mousedown', '#lng_sel_wdg li', function() {
2842
2843 var $target = $(this);
2844
2845 if($target.hasClass('li_selected'))
2846 return;
2847
2848 var block_type = $("#ss_widget_type").data("widget_type");
2849
2850 var lang_to = $target.data("val").split('-')[0];
2851 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
2852
2853 // make preview text translation
2854 var lang = $("#lng_sel_wdg").find('.li_selected').data('val');
2855 var lang_p = lang.split('-');
2856 var lang_from = lang_p[0];
2857
2858 lang_from = lang_from == 'yue' ? 'zh' : lang_from;
2859
2860 var translate_callback = function(translated) {
2861
2862 $("#ss_speed_text").val(translated[0]);
2863 $("#ss_lang_text").val(translated[1]);
2864 $("#ss_voice_text").val(translated[2]);
2865 $("#ss_plays_text").val(translated[3]);
2866 $("#ss_plays_title_text").val(translated[4]);
2867 $("#ss_download_text").val(translated[5]);
2868 $("#ss_downloaded_text").val(translated[6]);
2869 $("#ss_open_text_text").val(translated[7]);
2870 $("#ss_open_context_text").val(translated[8]);
2871 $("#ss_close_context_text").val(translated[9]);
2872 $("#ss_loading_text").val(translated[10]);
2873 $("#ss_play_text").val(translated[11]);
2874 $("#ss_pause_text").val(translated[12]);
2875 $("#ss_options_text").val(translated[13]);
2876 $("#ss_listen_text").val(translated[14]);
2877 $("#ss_close_text").val(translated[15]);
2878 $("#ss_listen_text_desc").val(translated[16]);
2879
2880 if(block_type == 3 || block_type == 4)
2881 $("#ss_player_title_text").val(translated[17]);
2882 };
2883
2884 if(lang_from != lang_to) {
2885 var player_title_text = $("#ss_player_title_text").val();
2886 player_title_text = player_title_text == "" ? "Read text" : player_title_text;
2887 var texts_array = [$("#ss_speed_text").val(),$("#ss_lang_text").val(),$("#ss_voice_text").val(),$("#ss_plays_text").val(),$("#ss_plays_title_text").val(),$("#ss_download_text").val(),$("#ss_downloaded_text").val(),$("#ss_open_text_text").val(),$("#ss_open_context_text").val(),$("#ss_close_context_text").val(),$("#ss_loading_text").val(),$("#ss_play_text").val(),$("#ss_pause_text").val(),$("#ss_options_text").val(),$("#ss_listen_text").val(),$("#ss_close_text").val(),$("#ss_listen_text_desc").val(),player_title_text];
2888 window.gspeech.doSmartTranslate(lang_from, lang_to, texts_array, translate_callback);
2889 }
2890 });
2891
2892 $('body').on('click', '#lng_sel_wdg li', function() {
2893
2894 var $target = $(this);
2895
2896 if($target.hasClass('li_selected'))
2897 return;
2898
2899 setTimeout(function() {
2900
2901 thisPage.processVoiceWidgetSettings();
2902
2903 // make preview text translation
2904 var $active_lang_selector = $target.parents('.items_select_filter_wrapper');
2905 var lang = $active_lang_selector.find('.li_selected').data('val');
2906
2907 var lang_p = lang.split('-');
2908 var lang_to = lang_p[0];
2909
2910 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
2911
2912 var $voice_preview_data = $(".voice_preview_data");
2913 var preview_txt_def = $voice_preview_data.data('preview_txt_def');
2914 var preview_txt_ready = preview_txt_def;
2915
2916 var translate_callback = function(translated) {
2917 var tr_item = translated[0];
2918 $voice_preview_data.data('preview_txt_ready', tr_item);
2919
2920 thisPage.processVoiceWidgetSettings();
2921 };
2922
2923 if(lang_to != 'en')
2924 window.gspeech.doSmartTranslate('en', lang_to, [preview_txt_def], translate_callback);
2925 else {
2926 $voice_preview_data.data('preview_txt_ready', preview_txt_def);
2927 thisPage.processVoiceWidgetSettings();
2928 }
2929
2930 },400);
2931 });
2932
2933 $('body').on('click', '#wbs_w_voice_enabled .search_li', function() {
2934
2935 if($(this).data("val") == 1) {
2936
2937 var m_voice_sel = $("#voice_sel_wdg").find(".items_select_filter_content span").html();
2938 $("#wbs_w_multiple_voices").find(".items_select_ul").html($("#voice_sel_wdg").find(".items_select_ul").html());
2939 $("#wbs_w_multiple_voices").find(".items_select_filter_content span").html(m_voice_sel);
2940 $("#wbs_w_multiple_voices").removeClass("ss_disabled");
2941 $("#wbs_w_multiple_voices").find(".li_selected").addClass("ss_option_hardcoded");
2942
2943 var ul_htm = $("#wbs_w_multiple_voices").find(".items_select_ul").html();
2944
2945 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find(".items_select_filter_content span").html(m_voice_sel);
2946 $(".gsp_left_m_c_active .ss_tr_block_hardcoded").find(".items_select_ul").html(ul_htm);
2947
2948 var lang_code = $("#lng_sel_wdg").find('.li_selected').data('val');
2949
2950 // $("#wbs_w_multiple_voices").find(".search_li").each(function() {
2951
2952 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
2953 // });
2954 }
2955 else {
2956 $("#wbs_w_multiple_voices").find(".items_select_ul").html("");
2957 $("#wbs_w_multiple_voices").find(".items_select_filter_content span").html($("#wbs_w_multiple_voices").data("def_txt"));
2958 $("#wbs_w_multiple_voices").addClass("ss_disabled");
2959 }
2960 });
2961
2962 $('body').on('click', '#wbs_custom_val', function() {
2963
2964 var website_plan = $("#ss_widget_page_data").data("website_plan");
2965
2966 if($(this).hasClass("gs_mono_switcher_button_on")) {
2967
2968 $(".ss_custom_values").removeClass("ss_display_none");
2969
2970 var voice_en = $("#wbs_w_voice_enabled").find(".li_selected").data("val");
2971 if(voice_en == -1) { // global
2972
2973 var new_val = website_plan == 0 ? 0 : 1,
2974 cont_val = "";
2975
2976 $("#wbs_w_voice_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
2977 $("#wbs_w_voice_enabled").find(".search_li").each(function() {
2978 var val = $(this).data("val");
2979 if(val == new_val) {
2980 cont_val = $(this).find("span").html();
2981 $(this).addClass("li_selected").addClass("ss_ul_li_act").trigger("click");
2982 return;
2983 }
2984 });
2985 $("#wbs_w_voice_enabled").find('.items_select_filter_content span').html(cont_val);
2986 }
2987
2988 var lang_en = $("#wbs_w_langs_enabled").find(".li_selected").data("val");
2989 if(lang_en == -1) { // global
2990
2991 var new_val = website_plan == 0 ? 0 : 1,
2992 cont_val = "";
2993
2994 $("#wbs_w_langs_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
2995 $("#wbs_w_langs_enabled").find(".search_li").each(function() {
2996 var val = $(this).data("val");
2997 if(val == new_val) {
2998 cont_val = $(this).find("span").html();
2999 $(this).addClass("li_selected").addClass("ss_ul_li_act").trigger("click");
3000 return;
3001 }
3002 });
3003
3004 $("#wbs_w_langs_enabled").find('.items_select_filter_content span').html(cont_val);
3005 }
3006
3007 $(".gsp_left_m_c_active .ss_li_donotglobal").addClass("ss_disabled");
3008 }
3009 else {
3010 $(".gsp_left_m_c_active .ss_custom_values").addClass("ss_display_none");
3011 $(".gsp_left_m_c_active .ss_li_donotglobal").removeClass("ss_disabled");
3012 }
3013
3014 thisPage.generateWrapperHeight();
3015 });
3016
3017 $('body').on('click', '#wbs_w_langs_enabled .search_li', function() {
3018
3019 if($(this).hasClass("ss_disabled"))
3020 return;
3021
3022 if($(this).data("val") == 1) {
3023 $("#ss_w_translation_options").removeClass("ss_display_none");
3024 thisPage.generateWrapperHeight();
3025 }
3026 else {
3027 $("#ss_w_translation_options").addClass("ss_display_none");
3028 thisPage.generateWrapperHeight();
3029 }
3030 });
3031
3032 $('body').on("click", ".ss_tab_link_general", function() {
3033
3034 thisPage.resetPlayerWidgetSettings();
3035 });
3036
3037 $('body').on("blur", "#ss_width", function() {
3038
3039 thisPage.resetPlayerWidgetPreview();
3040
3041 thisPage.generateWrapperHeight();
3042 });
3043
3044 $('body').on("click", "#wbs_template .search_li", function() {
3045
3046 if($(this).hasClass("li_selected"))
3047 return;
3048
3049 var template_val = $(this).data("val");
3050
3051 $("#ss_template_blocks_wrapper").find(".ss_tmp_selected").removeClass("ss_tmp_selected");
3052 $("#ss_template_blocks_wrapper").find(".ss_tmp_block").each(function() {
3053 if($(this).data("block_id") == template_val) {
3054 $(this).addClass("ss_tmp_selected");
3055
3056 return false;
3057 }
3058 });
3059
3060 setTimeout(function(){
3061 thisPage.resetPlayerWidgetPreview();
3062 }, 11);
3063 });
3064
3065 $('body').on("click", ".ss_tmp_block", function() {
3066
3067 if($(this).hasClass("ss_tmp_selected")) {
3068 thisPage.shake($(this));
3069 return;
3070 }
3071
3072 var template_val = $(this).data("block_id");
3073
3074 $("#ss_template_blocks_wrapper").find(".ss_tmp_selected").removeClass("ss_tmp_selected");
3075 $(this).addClass("ss_tmp_selected");
3076
3077 $("#wbs_template").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
3078 var l_val = "";
3079 $("#wbs_template").find(".search_li").each(function() {
3080 if($(this).data("val") == template_val) {
3081 $(this).addClass("li_selected").addClass("ss_ul_li_act");
3082 l_val = $(this).find("span").html();
3083 return false;
3084 }
3085 });
3086 $("#wbs_template").find(".items_select_filter_content span").html(l_val);
3087
3088 setTimeout(function(){
3089 thisPage.resetPlayerWidgetPreview();
3090 }, 11);
3091 });
3092
3093 $('body').on("click", "#wbs_bg_class .search_li", function() {
3094
3095 if($(this).hasClass("li_selected"))
3096 return;
3097
3098 setTimeout(function(){
3099 thisPage.resetPlayerWidgetPreview();
3100 }, 11);
3101 });
3102
3103 // 3.7.0
3104 $("body").on("click", "#ss_plr0_soundcloud_enabled", function() {
3105
3106 var $this_mono = $(this);
3107
3108 $("#ss_plr0_newyork_enabled").removeClass("gs_mono_switcher_button_on");
3109
3110 setTimeout(function() {
3111
3112 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3113
3114 if(mono_checked) {
3115 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_gsp_newyork");
3116 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_HHdeJah3hKe3Drjp");
3117 }
3118 else {
3119 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_HHdeJah3hKe3Drjp");
3120 }
3121
3122 setTimeout(function() {
3123
3124 thisPage.regeneratePlayerBar();
3125
3126 }, 10);
3127
3128 }, 20);
3129
3130 thisPage.generateWrapperHeight();
3131
3132 });
3133
3134 // 3.9.0
3135 $("body").on("click", "#ss_plr0_newyork_enabled", function() {
3136
3137 var $this_mono = $(this);
3138
3139 $("#ss_plr0_soundcloud_enabled").removeClass("gs_mono_switcher_button_on");
3140
3141 $("#ss_plr0_hide_header").removeClass("gs_mono_switcher_button_on");
3142 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_no_header");
3143
3144 setTimeout(function() {
3145
3146 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3147
3148 if(mono_checked) {
3149 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_HHdeJah3hKe3Drjp");
3150 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_gsp_newyork");
3151 }
3152 else {
3153 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_gsp_newyork");
3154 }
3155
3156 setTimeout(function() {
3157
3158 thisPage.regeneratePlayerBar();
3159
3160 }, 10);
3161
3162 }, 20);
3163
3164 thisPage.generateWrapperHeight();
3165
3166 });
3167
3168 // 3.9.0
3169 $("body").on("click", "#ss_plr0_np_hidden", function() {
3170
3171 var $this_mono = $(this);
3172
3173 setTimeout(function() {
3174
3175 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3176
3177 if(mono_checked) {
3178 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_np");
3179 }
3180 else {
3181 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_no_np");
3182 }
3183
3184 }, 20);
3185 });
3186
3187 // 3.7.0
3188 $("body").on("click", "#ss_plr0_play_style", function() {
3189
3190 var $this_mono = $(this);
3191
3192 setTimeout(function() {
3193
3194 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3195
3196 if(mono_checked) {
3197 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_play_style_1");
3198 }
3199 else {
3200 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_play_style_1");
3201 }
3202
3203 }, 20);
3204 });
3205
3206 // 3.7.0
3207 $("body").on("click", "#ss_plr0_rounded_icons", function() {
3208
3209 var $this_mono = $(this);
3210
3211 setTimeout(function() {
3212
3213 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3214
3215 if(mono_checked) {
3216 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_rounded_icons");
3217 }
3218 else {
3219 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_rounded_icons");
3220 }
3221
3222 }, 20);
3223 });
3224
3225 // 3.7.0
3226 $("body").on("click", "#ss_plr0_hide_header", function() {
3227
3228 var $this_mono = $(this);
3229
3230 setTimeout(function() {
3231
3232 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3233
3234 if(mono_checked) {
3235 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_header");
3236 }
3237 else {
3238 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_no_header");
3239 }
3240
3241 thisPage.generateWrapperHeight();
3242
3243 }, 20);
3244 });
3245
3246 // 3.7.0
3247 $("body").on("click", "#ss_plr0_no_bg", function() {
3248
3249 var $this_mono = $(this);
3250
3251 setTimeout(function() {
3252
3253 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3254
3255 if(mono_checked) {
3256 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_bg");
3257 }
3258 else {
3259 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_no_bg");
3260 }
3261
3262 }, 20);
3263 });
3264
3265 // 3.7.0
3266 $("body").on("click", "#ss_plr0_np_style", function() {
3267
3268 var $this_mono = $(this);
3269
3270 setTimeout(function() {
3271
3272 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3273
3274 if(mono_checked) {
3275 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_np_style_1");
3276 }
3277 else {
3278 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_np_style_1");
3279 }
3280
3281 }, 20);
3282 });
3283
3284 // 3.7.0
3285 $("body").on("click", "#ss_plr0_icons_bg", function() {
3286
3287 var $this_mono = $(this);
3288
3289 $("#ss_plr0_rounded_icons").addClass("gs_mono_switcher_button_on");
3290 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_rounded_icons");
3291
3292 setTimeout(function() {
3293
3294 var mono_checked = $this_mono.hasClass("gs_mono_switcher_button_on") ? true : false;
3295
3296 if(mono_checked) {
3297 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_bg_style_1");
3298 }
3299 else {
3300 $('.ss_full_player_preview').find('.ssplayer_wrapper').removeClass("ss_bg_style_1");
3301 }
3302
3303 }, 20);
3304 });
3305
3306 $('body').on("click", ".ss_tab_link_design", function() {
3307
3308 thisPage.makeStylesTabClick(true);
3309
3310
3311 });
3312
3313 $('body').on("click", "#wbs_block_sub_type .search_li", function() {
3314
3315 if($(this).hasClass("li_selected"))
3316 return;
3317
3318 if(window.gspeech == undefined)
3319 return;
3320
3321 var block_sub_type = $(this).data("val");
3322 var widget_id = 253;
3323
3324 window.gspeech.options.ssblocks['ssblock_' + widget_id]["block_sub_type"] = block_sub_type;
3325
3326 // run smart speech
3327 $(".ssblock").each(function(i) {
3328 var ssblock_id = $(this).data("id");
3329 $(".gsp_htm_processed_" + ssblock_id).removeClass("gsp_htm_processed_" + ssblock_id);
3330 $(this).remove();
3331 });
3332 $('.gsp_content_wrapper_set').removeClass("gsp_htm_processed").removeClass("gsp_content_wrapper_set");
3333 $(".sscontext_player").remove();
3334 $(".rht_banner_wrapper").remove();
3335 $(".ssplayer_rht").remove();
3336 $("#sscustom_rht").remove();
3337 window.gspeech.prepareSSBlocks();
3338
3339 setTimeout(function(){
3340 thisPage.resetPlayerWidgetPreview();
3341 }, 11);
3342
3343 var website_plan = parseInt($("#ss_widget_page_data").data("website_plan"));
3344
3345 if(website_plan == 0 && (block_sub_type == 1 || block_sub_type == 2)) {
3346
3347 setTimeout(function() {
3348
3349 thisPage.showMessage('error','To use this type, you should have translation and text panel enabled, which is available in commercial plans!', true, false);
3350
3351 }, 600);
3352 }
3353 });
3354
3355 $('body').on("click", "#wbs_show_rht", function() {
3356
3357 var v = $(this).hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3358
3359 if(v == 1)
3360 $(".ss_rht_banner_info").removeClass("ss_display_none");
3361 else
3362 $(".ss_rht_banner_info").addClass("ss_display_none");
3363
3364 thisPage.generateWrapperHeight();
3365 });
3366
3367 $('body').on("click", "#wbs_rht_hide_size .search_li", function() {
3368
3369 if($(this).hasClass("li_selected"))
3370 return;
3371
3372 var v = $(this).data("val");
3373
3374 if(v == 1)
3375 $(".ss_rht_custom_val_info").removeClass("ss_display_none");
3376 else
3377 $(".ss_rht_custom_val_info").addClass("ss_display_none");
3378
3379 thisPage.generateWrapperHeight();
3380 });
3381
3382 $('body').on("click", "#welcome_repeat_interval .search_li", function() {
3383
3384 if($(this).hasClass("li_selected"))
3385 return;
3386
3387 var v = $(this).data("val");
3388
3389 if(v == 1)
3390 $(".ss_welcome_m_custom_info").removeClass("ss_display_none");
3391 else
3392 $(".ss_welcome_m_custom_info").addClass("ss_display_none");
3393
3394 thisPage.generateWrapperHeight();
3395 });
3396
3397 $('body').on("click", ".gsp_widgets_table .gsp_row", function() {
3398
3399 var block_id = $(this).data("block_id");
3400
3401 var new_hash = "#widgets-" + block_id;
3402
3403 window.location.hash = new_hash;
3404
3405 $(".gsp_left_m_c_widgets").removeClass("gsp_left_m_c_active");
3406 $(".gsp_left_m_c_widget").addClass("gsp_left_m_c_active");
3407
3408 $('.gsp_left_m_c_active .opts_input').val('');
3409
3410 // show general tab
3411 $('.gsp_left_m_c_active .dashboard_tab.ss_selected').removeClass('ss_selected');
3412 $('.gsp_left_m_c_active .dashboard_tab.ss_tab_link_general').addClass('ss_selected');
3413
3414 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_active').removeClass('ss_tab_active');
3415 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_general').addClass('ss_tab_active');
3416
3417 // set custom val to 0
3418 $("#wbs_custom_val").removeClass("gs_mono_switcher_button_on");
3419 $(".ss_custom_values").addClass("ss_display_none");
3420
3421 var widget_id = thisPage.options.widget_id;
3422
3423 thisPage.getWidgetData(widget_id, block_id);
3424
3425 $('.gsp_left_menu_widgets').removeClass("gsp_reload_widgets");
3426 });
3427
3428 $('body').on("click", ".gsp_audios_table .gsp_row", function() {
3429
3430 thisPage.options.root_request = false;
3431
3432 var audio_id = $(this).data("audio_id");
3433
3434 var new_hash = "#audios-" + audio_id;
3435
3436 window.location.hash = new_hash;
3437
3438 $(".gsp_left_m_c_audios").removeClass("gsp_left_m_c_active");
3439 $(".gsp_left_m_c_audio").addClass("gsp_left_m_c_active");
3440
3441 $('.gsp_left_m_c_active .opts_input').val('');
3442
3443 var widget_id = thisPage.options.widget_id;
3444
3445 thisPage.getAudioData(widget_id, audio_id);
3446
3447 $('.gsp_left_menu_audios').removeClass("gsp_reload_audios");
3448
3449 $("#ss_dash_audio_player").html('');
3450 $("#gsp_player_loading").removeClass("gsp_hidden");
3451 });
3452
3453 // save widget settings
3454 $('body').on('click', '#ss_widget_settings_submit', function() {
3455
3456 var widget_id = thisPage.options.widget_id;
3457 var gspeech_token = thisPage.getCookie('gspeech_token');
3458
3459 var $ss_widget_title = $("#ss_widget_title");
3460 var ss_widget_title = $.trim($ss_widget_title.val());
3461 $ss_widget_title.val(ss_widget_title);
3462
3463 var website_plan = parseInt($("#ss_widget_page_data").data("website_plan"));
3464
3465 var form_validated = true;
3466
3467 // title
3468 if(ss_widget_title.length < 2) {
3469
3470 $ss_widget_title.addClass('ss_error');
3471 form_validated = false;
3472 $ss_widget_title.focus();
3473 thisPage.shake($ss_widget_title);
3474 }
3475 else {
3476 $ss_widget_title.removeClass('ss_error');
3477 }
3478
3479 // get use_cutom
3480 var widget_use_custom = $("#wbs_custom_val").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3481
3482 var banner_pos = $("#banner_pos").hasClass("gs_mono_switcher_button_on") ? 1 : 0,
3483 play_timeout = parseInt($("#ss_play_timeout").val()),
3484 welcome_repeat_interval = $("#welcome_repeat_interval").find(".li_selected").data("val"),
3485 welcome_repeat_interval_custom = parseInt($("#welcome_repeat_interval_custom").val());
3486
3487 play_timeout = isNaN(play_timeout) ? 0 : play_timeout;
3488 welcome_repeat_interval_custom = isNaN(welcome_repeat_interval_custom) ? 2 : welcome_repeat_interval_custom;
3489
3490 // get status
3491 var widget_status = $("#wbs_w_status").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3492
3493 // get lang
3494 var ss_website_lang = $("#lng_sel_wdg").find(".li_selected").data("val");
3495
3496 // get voice
3497 var ss_website_voice = "";
3498 if(!$("#voice_sel_wdg").find(".li_selected").length) {
3499 form_validated = false;
3500 $("#voice_sel_wdg").addClass("ss_error");
3501 thisPage.shake($("#voice_sel_wdg"));
3502 }
3503 else {
3504 $("#voice_sel_wdg").removeClass("ss_error");
3505 ss_website_voice = $("#voice_sel_wdg").find(".li_selected").data("val");
3506 }
3507
3508 var ss_website_plan = $("#ss_widget_page_data").data("website_plan");
3509
3510 // get pitch,speed
3511 var ss_website_speed = $("#gsp_w_slider_speed").find('.gsp_value_label').val();
3512 var ss_website_pitch = $("#gsp_w_slider_pitch").find('.gsp_value_label').val();
3513
3514 // voice enabled
3515 var voice_enabled = $("#wbs_w_voice_enabled").find(".li_selected").data("val");
3516
3517 // multiple voices
3518 var ss_website_multiple_voice = '';
3519 if(voice_enabled == 1 && !$("#wbs_w_multiple_voices").find(".li_selected").length) {
3520 form_validated = false;
3521 $("#wbs_w_multiple_voices").addClass("ss_error");
3522 thisPage.shake($("#wbs_w_multiple_voices"));
3523 }
3524 else {
3525 $("#wbs_w_multiple_voices").removeClass("ss_error");
3526
3527 $("#wbs_w_multiple_voices").find(".li_selected").each(function() {
3528
3529 ss_website_multiple_voice += $(this).data("val") + ',';
3530
3531 });
3532 ss_website_multiple_voice = ss_website_multiple_voice.slice(0, -1);
3533 }
3534
3535 // appear class
3536 var ss_website_appear_class = $("#wbs_w_appear_class").find(".li_selected").data("val");
3537
3538 // speed enabled
3539 var speed_enabled = $("#wbs_w_speed_enabled").find(".li_selected").data("val");
3540
3541 // volume enabled
3542 var volume_enabled = $("#wbs_w_volume_enabled").find(".li_selected").data("val");
3543
3544 // text enabled
3545 var text_enabled = $("#wbs_w_text_enabled").find(".li_selected").data("val");
3546
3547 // download enabled
3548 var download_enabled = $("#wbs_w_download_enabled").find(".li_selected").data("val");
3549
3550 // context enabled
3551 var context_enabled = $("#wbs_w_context_enabled").find(".li_selected").data("val");
3552
3553 // plays enabled
3554 var plays_enabled = $("#wbs_w_plays_enabled").find(".li_selected").data("val");
3555
3556 // lang enabled
3557 var lang_enabled = $("#wbs_w_langs_enabled").find(".li_selected").data("val");
3558
3559 var ss_website_langs = "";
3560 if(lang_enabled == 1) {
3561
3562 $("#ss_w_translation_options").find(".ss_checked").each(function() {
3563
3564 // website_options["sel_langs"] = "en-US|C-2,D-2,E-2,M-5;ru-RU|E-2,B-2,D-2";
3565
3566 var $lang_item = $(this).parents(".ss_translation_item");
3567 var lang_val = $lang_item.data("val");
3568 var lang_sel_voices = "";
3569 var $voice_wrapper = $lang_item.find(".items_select_filter_wrapper");
3570
3571 var lang_bl = lang_val + '|';
3572
3573 if(!$voice_wrapper.find(".li_selected").length) {
3574
3575 form_validated = false;
3576 $voice_wrapper.addClass("ss_error");
3577 thisPage.shake($voice_wrapper);
3578 }
3579 else {
3580
3581 $voice_wrapper.find(".li_selected").each(function() {
3582
3583 lang_bl += $(this).data("val") + ',';
3584 });
3585
3586 lang_bl = lang_bl.slice(0, -1);
3587 }
3588
3589 ss_website_langs += lang_bl + ';';
3590 });
3591
3592 ss_website_langs = ss_website_langs.slice(0, -1);
3593 }
3594
3595 // Content section from TABS
3596 var content_selector = $.trim($("#ss_content_selector").val());
3597 $("#ss_content_selector").val(content_selector);
3598
3599 var render_element = $.trim($("#ss_render_element").val());
3600 $("#ss_render_element").val(render_element);
3601
3602 var render_pos = $("#wbs_render_pos").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3603
3604 var auto_load = $("#wbs_auto_load").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3605
3606 var soundcloud_enabled = $("#ss_plr0_soundcloud_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3607 var play_style = $("#ss_plr0_play_style").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3608 var np_style = $("#ss_plr0_np_style").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3609 var rounded_icons = $("#ss_plr0_rounded_icons").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3610 var rounded_icons_bg = $("#ss_plr0_icons_bg").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3611 var hide_header = $("#ss_plr0_hide_header").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3612 var no_bg = $("#ss_plr0_no_bg").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3613
3614 // 3.9.0
3615 var newyork_enabled = $("#ss_plr0_newyork_enabled").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3616 var np_hidden = $("#ss_plr0_np_hidden").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3617
3618 var exclude_list = $.trim($("#ss_exclude_list").val());
3619 $("#ss_exclude_list").val(exclude_list);
3620
3621 var title_selector = $.trim($("#ss_player_title_selector").val());
3622 $("#ss_player_title_selector").val(title_selector);
3623
3624 var title_text = $.trim($("#ss_player_title_text").val());
3625 $("#ss_player_title_text").val(title_text);
3626
3627 var content_text = $("#ss_content_text").val().toLowerCase();
3628 $("#ss_content_text").val(content_text);
3629
3630 var allowed_urls = $.trim($("#ss_allowed_urls").val());
3631 $("#ss_allowed_urls").val(allowed_urls);
3632
3633 var blocked_urls = $.trim($("#ss_blocked_urls").val());
3634 $("#ss_blocked_urls").val(blocked_urls);
3635
3636 var widget_width = $.trim($("#ss_width").val());
3637 $("#ss_width").val(widget_width);
3638
3639 var widget_margin_top = $.trim($("#ss_margin_top").val());
3640 $("#ss_margin_top").val(widget_margin_top);
3641
3642 var widget_margin_bottom = $.trim($("#ss_margin_bottom").val());
3643 $("#ss_margin_bottom").val(widget_margin_bottom);
3644
3645 var widget_aliases = $.trim($("#ss_w_aliases").val());
3646 $("#ss_w_aliases").val(widget_aliases);
3647
3648 // block_sub_type
3649 var block_sub_type = parseInt($("#wbs_block_sub_type").find(".li_selected").data("val"));
3650
3651 block_sub_type = website_plan == 0 ? 0 : block_sub_type;
3652
3653 // template
3654 var template = $("#wbs_template").find(".li_selected").data("val");
3655
3656 // template
3657 var bg_class = $("#wbs_bg_class").find(".li_selected").data("val");
3658
3659 // texts
3660 var texts = '';
3661 texts += encodeURIComponent($("#ss_speed_text").val()) + ',';
3662 texts += encodeURIComponent($("#ss_lang_text").val()) + ',';
3663 texts += encodeURIComponent($("#ss_voice_text").val()) + ',';
3664 texts += encodeURIComponent($("#ss_plays_text").val()) + ',';
3665 texts += encodeURIComponent($("#ss_plays_title_text").val()) + ',';
3666 texts += encodeURIComponent($("#ss_download_text").val()) + ',';
3667 texts += encodeURIComponent($("#ss_downloaded_text").val()) + ',';
3668 texts += encodeURIComponent($("#ss_open_text_text").val()) + ',';
3669 texts += encodeURIComponent($("#ss_open_context_text").val()) + ',';
3670 texts += encodeURIComponent($("#ss_close_context_text").val()) + ',';
3671 texts += encodeURIComponent($("#ss_loading_text").val()) + ',';
3672 texts += encodeURIComponent($("#ss_play_text").val()) + ',';
3673 texts += encodeURIComponent($("#ss_pause_text").val()) + ',';
3674 texts += encodeURIComponent($("#ss_options_text").val()) + ',';
3675 texts += encodeURIComponent($("#ss_listen_text").val()) + ',';
3676 texts += encodeURIComponent($("#ss_close_text").val()) + ',';
3677 texts += encodeURIComponent($("#ss_listen_text_desc").val());
3678
3679 // get rht banner info
3680 var show_rht = $("#wbs_show_rht").hasClass("gs_mono_switcher_button_on") ? 1 : 0,
3681 rht_pos_class = $("#wbs_rht_pos_class").find(".li_selected").data("val"),
3682 rht_hide_size = $("#wbs_rht_hide_size").find(".li_selected").data("val"),
3683 rht_hide_size_custom = $("#wbs_rht_hide_size_custom").val(),
3684 rht_ic_pos = $("#wbs_rht_icon_pos").hasClass("gs_mono_switcher_button_on") ? 1 : 0;
3685
3686 var $ss_rht_icon_top_offset = $("#ss_rht_icon_top_offset");
3687 var ss_rht_icon_top_offset = $.trim($ss_rht_icon_top_offset.val());
3688 ss_rht_icon_top_offset = ss_rht_icon_top_offset == '' ? '15%' : ss_rht_icon_top_offset;
3689 $ss_rht_icon_top_offset.val(ss_rht_icon_top_offset);
3690
3691 if(form_validated) {
3692
3693 var form_data = "ss_widget_title=" + encodeURIComponent(ss_widget_title);
3694 form_data += "&widget_use_custom=" + widget_use_custom;
3695 form_data += "&lang=" + ss_website_lang;
3696 form_data += "&voice=" + ss_website_voice;
3697 form_data += "&speed=" + ss_website_speed;
3698 form_data += "&pitch=" + ss_website_pitch;
3699 form_data += "&voice_enabled=" + voice_enabled;
3700 form_data += "&sel_voices=" + ss_website_multiple_voice;
3701 form_data += "&appear_class=" + ss_website_appear_class;
3702 form_data += "&speed_enabled=" + speed_enabled;
3703 form_data += "&volume_enabled=" + volume_enabled;
3704 form_data += "&text_enabled=" + text_enabled;
3705 form_data += "&download_enabled=" + download_enabled;
3706 form_data += "&context_enabled=" + context_enabled;
3707 form_data += "&plays_enabled=" + plays_enabled;
3708 form_data += "&lang_enabled=" + lang_enabled;
3709 form_data += "&sel_langs=" + ss_website_langs;
3710 form_data += "&status=" + widget_status;
3711
3712 form_data += "&content_selector=" + content_selector;
3713 form_data += "&render_element=" + render_element;
3714 form_data += "&render_pos=" + render_pos;
3715 form_data += "&exclude_list=" + exclude_list;
3716 form_data += "&title_selector=" + title_selector;
3717 form_data += "&title_text=" + encodeURIComponent(title_text);
3718 form_data += "&content_text=" + encodeURIComponent(content_text);
3719 form_data += "&allowed_urls=" + encodeURIComponent(allowed_urls);
3720 form_data += "&blocked_urls=" + encodeURIComponent(blocked_urls);
3721
3722 form_data += "&texts=" + texts;
3723 form_data += "&aliases=" + encodeURIComponent(widget_aliases);
3724
3725 form_data += "&width=" + widget_width;
3726 form_data += "&margin_top=" + widget_margin_top;
3727 form_data += "&margin_bottom=" + widget_margin_bottom;
3728
3729 form_data += "&block_sub_type=" + block_sub_type;
3730 form_data += "&template=" + template;
3731 form_data += "&bg_class=" + bg_class;
3732
3733 form_data += "&auto_load=" + auto_load;
3734
3735 form_data += "&soundcloud_enabled=" + soundcloud_enabled;
3736 form_data += "&play_style=" + play_style;
3737 form_data += "&np_style=" + np_style;
3738 form_data += "&rounded_icons=" + rounded_icons;
3739 form_data += "&rounded_icons_bg=" + rounded_icons_bg;
3740 form_data += "&hide_header=" + hide_header;
3741 form_data += "&no_bg=" + no_bg;
3742
3743 form_data += "&newyork_enabled=" + newyork_enabled;
3744 form_data += "&np_hidden=" + np_hidden;
3745
3746 form_data += "&show_rht=" + show_rht;
3747 form_data += "&rht_pos_class=" + rht_pos_class;
3748 form_data += "&rht_hide_size=" + rht_hide_size;
3749 form_data += "&rht_hide_size_custom=" + rht_hide_size_custom;
3750
3751 form_data += "&banner_pos=" + banner_pos;
3752 form_data += "&play_timeout=" + play_timeout;
3753 form_data += "&welcome_repeat_interval=" + welcome_repeat_interval;
3754 form_data += "&welcome_repeat_interval_custom=" + welcome_repeat_interval_custom;
3755
3756 form_data += "&rht_ic_pos=" + rht_ic_pos;
3757 form_data += "&rht_ic_to=" + encodeURIComponent(ss_rht_icon_top_offset);
3758
3759 var tts_url = thisPage.options.tts_url,
3760 ajax_id = 'update_widget_settings_connection';
3761
3762 var hash = window.location.hash;
3763 hash = hash == '' ? '#settings' : hash;
3764
3765 var hash_pieces = hash.split('-');
3766 var hash_0 = hash_pieces[0];
3767 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
3768
3769 var post_data = {
3770 'ajax_id':ajax_id,
3771 'token':gspeech_token,
3772 'widget_id':widget_id,
3773 'block_id':hash_1,
3774 'form_data':form_data
3775 };
3776
3777 thisPage.showLoading();
3778 thisPage.showOverlay();
3779
3780 $.ajax({
3781 type: 'POST',
3782 url: tts_url + '/ajax',
3783 crossDomain: true,
3784 data: post_data,
3785 dataType: 'json',
3786 success: function(responseData, textStatus, jqXHR) {
3787
3788 thisPage.hideOverlay();
3789 thisPage.hideLoading();
3790
3791 var result = responseData['success'];
3792 var message = responseData['message'];
3793 if(result == 'true') {
3794
3795 thisPage.showMessage('success','Settings have been updated successfully.');
3796
3797 // if(window.gspeech != undefined)
3798 // window.gspeech.doSmartSpeech('Settings have been updated successfully.', 'en-US');
3799 }
3800 else {
3801 thisPage.showMessage('error','Error!');
3802
3803 // if(window.gspeech != undefined)
3804 // window.gspeech.doSmartSpeech('Error!', 'en-US');
3805
3806 thisPage.shake($("#dashboard_content"), {'shakes': 2,'distance': 10,'duration': 300});
3807 }
3808 },
3809 error: function (responseData, textStatus, errorThrown) {
3810
3811 thisPage.hideOverlay();
3812 thisPage.hideLoading();
3813
3814 thisPage.showMessage('error','Error saving settings!');
3815
3816 // if(window.gspeech != undefined)
3817 // window.gspeech.doSmartSpeech('Error saving settings!', 'en-US');
3818 }
3819 });
3820
3821 // increase version index
3822 var post_data_inner = {
3823 action: 'wpgsp_apply_ajax_save',
3824 _ajax_nonce: wp_ajax_nonce,
3825 type: 'increase_index'
3826 };
3827 $.ajax
3828 ({
3829 url: wp_ajax_url,
3830 type: "post",
3831 data: post_data_inner,
3832 dataType: "json",
3833 success: function(data) {
3834
3835 },
3836 error: function(xhr, status, error) {
3837
3838 }
3839 });
3840 }
3841 else {
3842
3843 thisPage.shake($(this));
3844 }
3845 });
3846
3847 // delete widget
3848 $('body').on('click', '#ss_widget_delete', function(e){
3849
3850 var widget_id = thisPage.options.widget_id;
3851 var gspeech_token = thisPage.getCookie('gspeech_token');
3852 var tts_url = thisPage.options.tts_url;
3853
3854 var hash = window.location.hash;
3855 hash = hash == '' ? '#settings' : hash;
3856 hash = hash.replace('#','');
3857
3858 var hash_pieces = hash.split('-');
3859 var hash_0 = hash_pieces[0];
3860 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
3861
3862 var deleteWidget = function(block_id) {
3863
3864 thisPage.hideMessage(true);
3865
3866 setTimeout(function() {
3867
3868 thisPage.showLoading();
3869 thisPage.showOverlay();
3870
3871 var ajax_id = 'delete_widget_connection';
3872
3873 var post_data = {
3874 'ajax_id':ajax_id,
3875 'widget_id':widget_id,
3876 'block_id':block_id,
3877 'token':gspeech_token
3878 };
3879
3880 $.ajax({
3881 type: 'POST',
3882 url: tts_url + '/ajax',
3883 crossDomain: true,
3884 data: post_data,
3885 dataType: 'json',
3886 success: function(responseData, textStatus, jqXHR) {
3887
3888 // thisPage.hideOverlay();
3889 thisPage.hideLoading();
3890
3891 thisPage.showMessage('success','Widget has been deleted successfully!', false, true);
3892
3893 // if(window.gspeech != undefined)
3894 // window.gspeech.doSmartSpeech('Widget has been deleted successfully.', 'en-US');
3895
3896 setTimeout(function() {
3897
3898 thisPage.resetTable();
3899
3900 // show widgetс page
3901 $('.gsp_left_m_c_widget').removeClass('gsp_left_m_c_active');
3902 $('.gsp_left_m_c_widgets').addClass('gsp_left_m_c_active');
3903
3904 thisPage.getWidgetsData(widget_id);
3905
3906 $('.gsp_left_menu_widgets').removeClass('gsp_reload_widgets');
3907
3908 window.location.hash = '#widgets';
3909
3910 }, 2000);
3911 },
3912 error: function (responseData, textStatus, errorThrown) {
3913
3914 thisPage.hideOverlay();
3915 thisPage.hideLoading();
3916
3917 thisPage.showMessage('error','Error deleting widget!');
3918 }
3919 });
3920 },300);
3921 };
3922
3923 var options = {
3924 'sub_title': '<div style="margin-top: 7px;">Are you sure you want to delete widget?</div><div style="margin-top: 10px;font-size: 13px;">This will delete all data associated to it!</div>',
3925 'button_1_txt': 'CANCEL',
3926 'button_2_txt': 'DELETE',
3927 'button_2_class': 'cmf-red',
3928 'item_id': hash_1,
3929 'callback_function': deleteWidget
3930 };
3931 thisPage.showMessage('','Delete Widget',true,true,true,options);
3932
3933 return;
3934 });
3935
3936 // Add Widget Section /////////////////////////////////////////////////////
3937
3938 var $add_widget_popup = $(".add_new_widget_popup_wrapper");
3939 $add_widget_popup.addClass('moved_to_top');
3940 $('body').append($add_widget_popup);
3941
3942 // validate title
3943 $('body').on('blur', '.add_new_widget_title', function(e) {
3944 var widget_title = $.trim($(this).val());
3945
3946 // trim value
3947 $(this).val(widget_title);
3948
3949 if(widget_title.length < 2) {
3950 $(this).addClass('error');
3951 thisPage.shake($(this));
3952 }
3953 else {
3954 $(this).removeClass('error');
3955 }
3956 });
3957
3958 // submit form
3959 $('body').on('click', '.add_new_widget_button', function(e){
3960
3961 var $widget_title = $(".add_new_widget_title"),
3962 widget_title_val = $widget_title.val(),
3963 $block_type = $("#add_widget_type"),
3964 block_type_val = $("#add_widget_type").find(".li_selected").data("val"),
3965 form_validated = true;
3966
3967 // validate title
3968 if(widget_title_val.length < 2) {
3969 form_validated = false;
3970 $widget_title.addClass('error');
3971 $widget_title.focus();
3972 }
3973 else {
3974 $widget_title.removeClass('error');
3975 }
3976
3977 // validate block type
3978 if(block_type_val == undefined) {
3979 $block_type.addClass('ss_error');
3980 thisPage.shake($block_type);
3981 form_validated = false;
3982 }
3983
3984 if(form_validated) {
3985
3986 var tts_url = thisPage.options.tts_url;
3987 var options = '';
3988
3989 var gspeech_token = thisPage.getCookie('gspeech_token');
3990 var widget_id = thisPage.options.widget_id;
3991
3992 var add_widget = function() {
3993
3994 var ajax_id = 'add_widget_connection';
3995
3996 var post_data = {
3997 'ajax_id':ajax_id,
3998 'token':gspeech_token,
3999 'widget_name':widget_title_val,
4000 'block_type':block_type_val,
4001 'widget_id':widget_id
4002 };
4003
4004 $(".add_new_widget_popup_wrapper").addClass('z_index_low');
4005 thisPage.showLoading();
4006
4007 $.ajax({
4008 type: 'POST',
4009 url: tts_url + '/ajax',
4010 crossDomain: true,
4011 data: post_data,
4012 dataType: 'json',
4013 success: function(responseData, textStatus, jqXHR) {
4014
4015 var result = responseData.success;
4016 if(result == 'true') {
4017
4018 hide_add_widget_popup(false);
4019
4020 thisPage.hideOverlay();
4021 thisPage.hideLoading();
4022
4023 setTimeout(function() {
4024 $(".add_new_widget_popup_wrapper").removeClass('z_index_low');
4025 }, 300);
4026
4027 var block_id = responseData.widget_id;
4028
4029 var new_hash = "#widgets-" + block_id;
4030 window.location.hash = new_hash;
4031
4032 // show widget page
4033 $('.gsp_left_m_c_widgets').removeClass('gsp_left_m_c_active');
4034 $('.gsp_left_m_c_widget').addClass('gsp_left_m_c_active');
4035
4036 // clear vals
4037 $('.gsp_left_m_c_active .opts_input').val('');
4038
4039 // show general tab
4040 $('.gsp_left_m_c_active .dashboard_tab.ss_selected').removeClass('ss_selected');
4041 $('.gsp_left_m_c_active .dashboard_tab.ss_tab_link_general').addClass('ss_selected');
4042
4043 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_active').removeClass('ss_tab_active');
4044 $('.gsp_left_m_c_active .ss_tab_wrapper.ss_tab_general').addClass('ss_tab_active');
4045
4046 // set custom val to 0
4047 $("#wbs_custom_val").removeClass("gs_mono_switcher_button_on");
4048 $(".ss_custom_values").addClass("ss_display_none");
4049
4050 thisPage.getWidgetData(widget_id, block_id);
4051
4052 $('.gsp_left_menu_widgets').addClass('gsp_reload_widgets');
4053 }
4054 else {
4055
4056 thisPage.hideOverlay();
4057 thisPage.hideLoading();
4058 thisPage.showMessage('error','Error adding widget!');
4059 }
4060 },
4061 error: function (responseData, textStatus, errorThrown) {
4062
4063 thisPage.hideOverlay();
4064 thisPage.hideLoading();
4065 thisPage.showMessage('error','Error adding widget!');
4066 }
4067 });
4068 };
4069
4070 add_widget();
4071 }
4072 else {
4073 thisPage.shake($("#add_new_widget_popup_inner"), {'shakes': 2,'distance': 10,'duration': 300});
4074 }
4075 });
4076
4077 function show_add_widget_popup() {
4078
4079 $(".add_new_widget_popup_wrapper").addClass('vis');
4080
4081 setTimeout(function() {
4082 $(".add_new_widget_popup_wrapper").addClass('visible');
4083 $(".add_new_widget_popup_wrapper").removeClass('vis');
4084 }, 20);
4085
4086 $('.add_new_widget_title').focus();
4087
4088 thisPage.showOverlay();
4089 };
4090
4091 function hide_add_widget_popup(hideOverlay) {
4092
4093 if($('.add_new_widget_popup_wrapper').hasClass('visible')) {
4094
4095 $('.add_new_widget_popup_wrapper').addClass('vis');
4096 $('.add_new_widget_popup_wrapper').removeClass('visible');
4097
4098 setTimeout(function() {
4099 $('.add_new_widget_popup_wrapper').removeClass('vis');
4100
4101 // reset inputs
4102 $('.add_new_widget_title').removeClass('error').val('');
4103
4104 if(hideOverlay)
4105 thisPage.hideOverlay();
4106
4107 },300);
4108 }
4109 };
4110
4111 // events
4112 $('body').on("click", ".add_widget_event_holder", function() {
4113
4114 var widgets_count = parseInt($('.add_new_widget_popup_wrapper').data('widgets_count'));
4115 if(widgets_count >= 1000) {
4116
4117 var w_message = '<div style="margin-top: 8px;text-align: center;color: #090909;margin-bottom: 20px;font-size: 22px;">Info</div>';
4118 w_message += '<div style="font-size: 16px;text-align: center;margin-bottom: 5px;">Each website can have up to 1000 widgets!</div>';
4119 thisPage.showMessage('',w_message, true, true);
4120
4121 return false;
4122 }
4123
4124 show_add_widget_popup();
4125 });
4126
4127 $('body').on('click', '.add_shortcode_widgets_event_holder', function(e){
4128
4129 var widget_id = thisPage.options.widget_id;
4130 var gspeech_token = thisPage.getCookie('gspeech_token');
4131 var tts_url = thisPage.options.tts_url;
4132
4133 var hash = window.location.hash;
4134 hash = hash == '' ? '#settings' : hash;
4135 hash = hash.replace('#','');
4136
4137 var hash_pieces = hash.split('-');
4138 var hash_0 = hash_pieces[0];
4139 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
4140
4141 var addWidgets = function(widget_id) {
4142
4143 thisPage.registerShortcodeWisgets(widget_id, 1);
4144 };
4145
4146 var options = {
4147 'sub_title': '<div style="margin-top: 7px;">This will load 3 widgets!</div><div style="margin-top: 10px;font-size: 13px;">Just yse [gspeech] shortcode.</div>',
4148 'button_1_txt': 'CANCEL',
4149 'button_2_txt': 'LOAD',
4150 'button_2_class': 'cmf-green',
4151 'item_id': widget_id,
4152 'callback_function': addWidgets
4153 };
4154 thisPage.showMessage('','Load Shortcode Widgets',true,true,true,options);
4155
4156 return;
4157 });
4158
4159 $('body').on("click", "#close_add_new_widget_wrapper", function() {
4160 hide_add_widget_popup(true);
4161 });
4162 $('body').on("click", ".cancel_new_widget_button", function() {
4163 hide_add_widget_popup(true);
4164 });
4165
4166 $('body').on('click', '.gsp_body_overlay', function() {
4167 hide_add_widget_popup(true);
4168 });
4169
4170 // init left submenуs
4171 thisPage.initLeftSubMenus('toplevel_page_gspeech');
4172
4173 // faq
4174 $('body').on('click', '.gsp_tab_faq', function() {
4175
4176 if($(this).hasClass("faq_ninited"))
4177 return;
4178
4179 thisPage.initFaq();
4180
4181 $(this).addClass("faq_ninited");
4182 });
4183
4184 $("body").on("click", ".gsp_tab_website_settings", function() {
4185
4186
4187 });
4188
4189 };
4190
4191 // back,forward functionality
4192 window.onpopstate = function() {
4193
4194 thisPage.makeBackForward();
4195 };
4196
4197 // naviagte menus/tabs
4198 $("body").on("click", ".gsp_naviagte_item", function() {
4199
4200 if($(this).hasClass("gsp_tab_selected"))
4201 return;
4202
4203 var menu_ident = $(this).data("menu_ident");
4204
4205 if(menu_ident == '' || menu_ident == undefined)
4206 return;
4207
4208 var $left_menu_a = $('.gsp_submenu_' + menu_ident);
4209
4210 $('.gsp_left_menus_wrapper').find('li.current').removeClass('current');
4211
4212 $left_menu_a.parent('li').addClass("current");
4213
4214 var href = window.location.href;
4215 var href_id = "page=";
4216 var href_0 = href.split(href_id)[0];
4217 var href_new = href_0 + href_id + menu_ident;
4218
4219 window.history.pushState({}, '', href_new);
4220
4221 var page_title = thisPage.getTitle(menu_ident);
4222
4223 $(document).prop('title',page_title);
4224
4225 });
4226
4227 this.makeStylesTabClick = function(checkLoaded) {
4228
4229 if(!$('.ss_tab_link_design').hasClass("ss_selected"))
4230 return;
4231
4232 if(checkLoaded)
4233 if(window.gspeech == undefined)
4234 return;
4235
4236 var block_sub_type = $("#wbs_block_sub_type").find(".li_selected").data("val");
4237 var widget_id = 253;
4238
4239 window.gspeech.options.ssblocks['ssblock_' + widget_id]["block_sub_type"] = block_sub_type;
4240
4241 // run smart speech
4242 $(".ssblock").each(function(i) {
4243 var ssblock_id = $(this).data("id");
4244 $(".gsp_htm_processed_" + ssblock_id).removeClass("gsp_htm_processed_" + ssblock_id);
4245 $(this).remove();
4246 });
4247 $('.gsp_content_wrapper_set').removeClass("gsp_htm_processed").removeClass("gsp_content_wrapper_set");
4248 $(".sscontext_player").remove();
4249 $(".rht_banner_wrapper").remove();
4250 $(".ssplayer_rht").remove();
4251 $("#sscustom_rht").remove();
4252
4253 window.gspeech.prepareSSBlocks();
4254
4255 setTimeout(function(){
4256 thisPage.resetPlayerWidgetPreview();
4257 }, 11);
4258
4259 // 3.7.0
4260 setTimeout(function() {
4261
4262 if($("#ss_plr0_newyork_enabled").hasClass("gs_mono_switcher_button_on")) {
4263
4264 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_gsp_newyork");
4265
4266 thisPage.generateWrapperHeight();
4267 }
4268 else {
4269
4270 if($("#ss_plr0_soundcloud_enabled").hasClass("gs_mono_switcher_button_on")) {
4271
4272 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_HHdeJah3hKe3Drjp");
4273
4274 setTimeout(function() {
4275
4276 thisPage.regeneratePlayerBar();
4277
4278 }, 10);
4279
4280 thisPage.generateWrapperHeight();
4281 }
4282 }
4283
4284 if($("#ss_plr0_play_style").hasClass("gs_mono_switcher_button_on"))
4285 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_play_style_1");
4286
4287 if($("#ss_plr0_rounded_icons").hasClass("gs_mono_switcher_button_on"))
4288 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_rounded_icons");
4289
4290 if($("#ss_plr0_hide_header").hasClass("gs_mono_switcher_button_on")) {
4291 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_header");
4292
4293 thisPage.generateWrapperHeight();
4294 }
4295
4296 if($("#ss_plr0_np_hidden").hasClass("gs_mono_switcher_button_on"))
4297 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_np");
4298
4299 if($("#ss_plr0_no_bg").hasClass("gs_mono_switcher_button_on"))
4300 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_no_bg");
4301
4302 if($("#ss_plr0_np_style").hasClass("gs_mono_switcher_button_on"))
4303 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_np_style_1");
4304
4305 if($("#ss_plr0_icons_bg").hasClass("gs_mono_switcher_button_on"))
4306 $('.ss_full_player_preview').find('.ssplayer_wrapper').addClass("ss_bg_style_1");
4307
4308 thisPage.initSSCarousel();
4309
4310 }, 800);
4311
4312 };
4313
4314 this.getTitle = function(ident) {
4315
4316 var title_start = 'GSpeech - ';
4317 var site_name = $("#gsp_site_name").html();
4318 var title_end = ' - ' + site_name + ' - WordPress';
4319 var title_middle = '';
4320 switch(ident) {
4321 case 'gspeech':
4322 title_middle = 'Dashboard';
4323 break;
4324 case 'gspeech_2x':
4325 title_middle = '2.X';
4326 break;
4327 case 'gspeech_faq':
4328 title_middle = 'FAQ';
4329 break;
4330 case 'gspeech_upgrade':
4331 title_middle = 'Upgrade';
4332 break;
4333 case 'gspeech_cloud_console':
4334 title_middle = 'Cloud Console';
4335 break;
4336 }
4337
4338 var title = title_start + title_middle + title_end;
4339
4340 return title;
4341 };
4342
4343 this.initLeftSubMenus = function(menu_ident) {
4344
4345 $("#" + menu_ident).addClass('gsp_left_menus_wrapper').find('a').each(function() {
4346
4347 // e.preventDefault();
4348
4349 var href = $(this).attr("href");
4350
4351 var page_ = href.split('page=')[1];
4352
4353 $(this).addClass("gsp_left_submenu").addClass("gsp_submenu_" + page_).data("page",page_);
4354 });
4355
4356 $('.gsp_left_submenu').on("click", function(e) {
4357
4358 // e.preventDefault();
4359
4360 var page_ = $(this).data("page");
4361
4362 if(page_ == 'gspeech_contact_us')
4363 return;
4364 });
4365 };
4366
4367 this.makeBackForward = function() {
4368
4369 var href = window.location.href;
4370 var href_id = "page=";
4371 var menu_ident = href.split(href_id)[1];
4372
4373 var $left_menu_a = $('.gsp_submenu_' + menu_ident);
4374
4375 $('.gsp_left_menus_wrapper').find('li.current').removeClass('current');
4376
4377 $left_menu_a.parent('li').addClass("current");
4378
4379 var page_title = thisPage.getTitle(menu_ident);
4380
4381 $(document).prop('title',page_title);
4382
4383 $tab_item = $('.menu_ident_' + menu_ident);
4384
4385 if($tab_item.length) {
4386
4387 var tab_ident = $tab_item.data("tab_ident");
4388
4389 if(tab_ident != '' && tab_ident != undefined) {
4390
4391 $(".gsp_tab_selected").removeClass("gsp_tab_selected");
4392 $(".gsp_tab_" + tab_ident).addClass("gsp_tab_selected");
4393
4394 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
4395 $(".gsp_tab_c_" + tab_ident).addClass("gsp_tab_active");
4396
4397 if(tab_ident == 'old_basic') {
4398 $(".gsp_submit_button").removeClass("gsp_hidden");
4399 $("#gsp_form").removeClass("submit_disabled");
4400 }
4401 else {
4402 $(".gsp_submit_button").addClass("gsp_hidden")
4403 $("#gsp_form").addClass("submit_disabled");
4404 }
4405 }
4406 }
4407 };
4408
4409 this.initFaq = function() {
4410
4411 setTimeout(function() {
4412
4413 $(".gsp_faq_item").each(function() {
4414
4415 var $b = $(this).find('.gsp_faq_body_inner');
4416 var h = parseInt($b.css('height'));
4417
4418 $b.data('h', h);
4419 });
4420 }, 600);
4421
4422 $('body').on('click', '.gsp_faq_header', function() {
4423
4424 var $faq_wrapper = $(this).parents('.gsp_faq_items_wrapper');
4425 var $faq_li = $(this).parents('.gsp_faq_item');
4426 var h = $faq_li.find('.gsp_faq_body_inner').data('h');
4427
4428 if($faq_li.hasClass("gsp_faq_opened")) {
4429
4430 $faq_li.removeClass("gsp_faq_opened");
4431 $faq_li.find('.gsp_faq_body').height("0px");
4432 }
4433 else {
4434
4435 $faq_wrapper.find('.gsp_faq_opened').removeClass('gsp_faq_opened').find('.gsp_faq_body').height("0px");
4436 $faq_li.addClass("gsp_faq_opened");
4437 $faq_li.find('.gsp_faq_body').height(h);
4438 }
4439 });
4440 };
4441
4442 // 3.7.0
4443 this.initSSCarousel = function() {
4444
4445 if(!$('.ss_carousel_wrapper').length)
4446 return;
4447
4448 $('.ss_carousel_wrapper').each(function() {
4449
4450 $carousel = $(this);
4451
4452 init_carousel($carousel);
4453 });
4454
4455 function init_carousel($car) {
4456
4457 if($car.data("processed") == "1")
4458 return;
4459
4460 var $inner = $car.find(".ss_carousel_inner");
4461 var $left = $car.find(".ss_carousel_arrow_left");
4462 var $right = $car.find(".ss_carousel_arrow_right");
4463
4464 // connect to ss select
4465 var connection_id = $car.data("connection_id");
4466 var $ss_select = $("#" + connection_id);
4467
4468 var car_sel_item_order = 0;
4469 var sel_index = '';
4470 if($ss_select.length) {
4471 sel_index = $ss_select.find(".li_selected").data("val");
4472
4473 $ss_select.find(".search_li").each(function() {
4474
4475 var val = $(this).data("val");
4476 var val_cl = 'ss_sel_val_' + val;
4477 $(this).addClass(val_cl);
4478
4479 });
4480 }
4481
4482 // set carousel processed
4483 $car.data("processed","1");
4484
4485 // calculate margin
4486 var inner_w = $inner.width();
4487
4488 var items_count = parseInt($inner.find(".ss_carousel_item").length);
4489
4490 var item_w = parseInt($inner.find(".ss_carousel_item").width());
4491 item_w += 2;
4492
4493 var visible_items = parseInt(inner_w / item_w);
4494 var visible_items_m1 = visible_items - 1;
4495 var visible_w = visible_items * item_w;
4496 var w_delta = inner_w - visible_w;
4497 var item_margin = w_delta / visible_items_m1;
4498
4499 $inner.find(".ss_carousel_item").css("margin-right", item_margin);
4500
4501 // make orders
4502 $inner.find(".ss_carousel_item").each(function(i) {
4503
4504 var item_order = i;
4505 var item_class = "ss_item_" + item_order;
4506
4507 var item = $(this).data("item");
4508 var item_class_par = 'ss_item_par_' + item;
4509
4510 $(this).addClass(item_class);
4511 $(this).addClass(item_class_par);
4512 $(this).data("item_order", item_order);
4513
4514 if(sel_index != '' && item == sel_index) {
4515 $car.find(".ss_carousel_selected").removeClass("ss_carousel_selected");
4516 $(this).addClass("ss_carousel_selected");
4517
4518 car_sel_item_order = item_order;
4519 }
4520 });
4521
4522 var pages_count = Math.ceil(items_count / visible_items) - 1;
4523
4524 var current_page = 0;
4525
4526 $car.data("w", inner_w);
4527 $car.data("current_page", current_page);
4528 $car.data("pages_count", pages_count);
4529 $car.data("visible_items", visible_items);
4530 $car.data("items_count", items_count);
4531 $car.data("items_count", items_count);
4532 $car.data("item_w", item_w);
4533 $car.data("item_margin", item_margin);
4534
4535 $right.on("click", function() {
4536
4537 move_carousel($car, 'right');
4538 });
4539
4540 $left.on("click", function() {
4541
4542 move_carousel($car, 'left');
4543 });
4544
4545 // move to right page
4546 move_carousel_page($car, car_sel_item_order);
4547
4548 // click event
4549 $car.find(".ss_carousel_item").on("click", function() {
4550
4551 if($(this).hasClass("ss_carousel_selected"))
4552 return;
4553
4554 $car.find(".ss_carousel_selected").removeClass("ss_carousel_selected");
4555 $(this).addClass("ss_carousel_selected");
4556
4557 var item = $(this).data("item");
4558
4559 if($ss_select.length) {
4560
4561 $ss_select.find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
4562
4563 $ss_select.find(".ss_sel_val_" + item).addClass("li_selected").addClass("ss_ul_li_act")
4564 var l_val = $ss_select.find(".ss_sel_val_" + item).find("span").html();
4565 $ss_select.find(".items_select_filter_content span").html(l_val);
4566
4567 setTimeout(function(){
4568 thisPage.resetPlayerWidgetPreview();
4569 }, 11);
4570 }
4571
4572 });
4573
4574 // ss select chamnge connection to carousel
4575 if($ss_select.length) {
4576
4577 $ss_select.find(".search_li").on("click", function() {
4578
4579 if($(this).hasClass("li_selected"))
4580 return;
4581
4582 var item = $(this).data("val");
4583
4584 var $car_item = $car.find(".ss_item_par_" + item);
4585
4586 if($car_item.length) {
4587
4588 var item_order = $car_item.data("item_order");
4589
4590 $car_item.find('.ss_carousel_selected').removeClass("ss_carousel_selected");
4591 $car_item.addClass("ss_carousel_selected");
4592
4593 move_carousel_page($car, item_order);
4594 }
4595
4596 });
4597 }
4598
4599 }
4600
4601 function move_carousel_page($car, active_item) {
4602
4603 var $inner_row = $car.find(".ss_carousel_inner_row");
4604 var $left = $car.find(".ss_carousel_arrow_left");
4605 var $right = $car.find(".ss_carousel_arrow_right");
4606
4607 var w = $car.data("w");
4608 var current_page = $car.data("current_page");
4609 var pages_count = $car.data("pages_count");
4610 var visible_items = $car.data("visible_items");
4611 var items_count = $car.data("items_count");
4612 var item_margin = $car.data("item_margin");
4613 var item_w = $car.data("item_w");
4614
4615 active_item += 1;
4616
4617 var new_page = Math.ceil(active_item / visible_items) - 1;
4618
4619 if(new_page == current_page) {
4620 return;
4621 }
4622
4623 if(new_page == 0) {
4624 $left.addClass("ss_arrow_disabled");
4625 }
4626 else {
4627 $left.removeClass("ss_arrow_disabled");
4628 }
4629
4630 if(new_page == pages_count) {
4631 $right.addClass("ss_arrow_disabled");
4632 }
4633 else {
4634 $right.removeClass("ss_arrow_disabled");
4635 }
4636
4637 $car.data("current_page", new_page);
4638
4639 // for last page. ,ake correctioon to not scroll not needed size
4640 var ratio_w = 0;
4641 if(new_page == pages_count) {
4642
4643 var max_items = (pages_count + 1) * visible_items;
4644 var ratio_items_count = max_items - items_count;
4645
4646 ratio_w = ratio_items_count * (item_w + item_margin);
4647 }
4648
4649 var translate_size = new_page * w * -1 - new_page * item_margin + ratio_w;
4650
4651 $inner_row.css('transform', 'translateX(' + translate_size + 'px)');
4652
4653 }
4654
4655 function move_carousel($car, dir) {
4656
4657 var $inner_row = $car.find(".ss_carousel_inner_row");
4658 var $left = $car.find(".ss_carousel_arrow_left");
4659 var $right = $car.find(".ss_carousel_arrow_right");
4660
4661 var w = $car.data("w");
4662 var current_page = $car.data("current_page");
4663 var pages_count = $car.data("pages_count");
4664 var visible_items = $car.data("visible_items");
4665 var items_count = $car.data("items_count");
4666 var item_margin = $car.data("item_margin");
4667 var item_w = $car.data("item_w");
4668
4669 var new_page = 0;
4670
4671 if(dir == 'left') {
4672 if(current_page == 0) {
4673 return;
4674 }
4675 else {
4676 new_page = current_page - 1;
4677 }
4678 }
4679 else {
4680 if(current_page == pages_count) {
4681 return;
4682 }
4683 else {
4684 new_page = current_page + 1;
4685 }
4686 }
4687
4688 if(new_page == 0) {
4689 $left.addClass("ss_arrow_disabled");
4690 }
4691 else {
4692 $left.removeClass("ss_arrow_disabled");
4693 }
4694
4695 if(new_page == pages_count) {
4696 $right.addClass("ss_arrow_disabled");
4697 }
4698 else {
4699 $right.removeClass("ss_arrow_disabled");
4700 }
4701
4702 $car.data("current_page", new_page);
4703
4704 // for last page. ,ake correctioon to not scroll not needed size
4705 var ratio_w = 0;
4706 if(new_page == pages_count) {
4707
4708 var max_items = (pages_count + 1) * visible_items;
4709 var ratio_items_count = max_items - items_count;
4710
4711 ratio_w = ratio_items_count * (item_w + item_margin);
4712 }
4713
4714 var translate_size = new_page * w * -1 - new_page * item_margin + ratio_w;
4715
4716 $inner_row.css('transform', 'translateX(' + translate_size + 'px)');
4717 }
4718 };
4719
4720 // 3.7.0
4721 this.regeneratePlayerBar = function() {
4722
4723 var $player = $(".ss_full_player_preview").find(".ssplayer_wrapper");
4724
4725 if(!$player.length)
4726 return;
4727
4728 var $this = thisPage,
4729 $eq = $player.find('.ss_equalizer'),
4730 $lines_wrapper = $eq.find(".ss_ss_bar-lines-wrapper"),
4731 ssbar_items_count = $lines_wrapper.find('.ssbar_item').length,
4732 total_dur = 0, // total duration of audio
4733 step_size = 10, // amount of time for back/forward buttons
4734 back_f_int = 0,
4735 rand_index = $player.attr("id"),
4736 player_options_str = $player.data("options"),
4737 player_options = {},
4738 $playerEl = undefined,
4739 $playerElG = undefined,
4740 $context_player = undefined,
4741 plays_count = 0,
4742 downloads_count = 0;
4743
4744
4745 var setBars = function() {
4746
4747 var $verical_item = $lines_wrapper.find('.ssbar_item').eq(0),
4748 item_w = $verical_item.width(),
4749 item_m = parseInt($verical_item.css('margin-right')),
4750 bars_total_w = $lines_wrapper.width(),
4751 bars_count = Math.round(bars_total_w / (item_w + item_m)),
4752 bars_html = '',
4753 bar_html = '<span class="ssbar_item"></span>';
4754
4755 for(var t = 0; t <= bars_count; t++) {
4756
4757 bars_html += bar_html;
4758 }
4759
4760 $eq.find(".ss_bar-lines").html(bars_html);
4761 ssbar_items_count = $lines_wrapper.find('.ssbar_item').length;
4762 };
4763
4764 var setBarsWave = function() {
4765
4766 var $lines_wrapper = $eq.find(".ss_ss_bar-lines-wrapper"),
4767 $verical_item = $lines_wrapper.find('.ssbar_item:first-child'),
4768 item_w = $verical_item.width(),
4769 item_m = parseInt($verical_item.css('margin-right')),
4770 item_w_t = item_w + item_m,
4771 bars_total_w = $lines_wrapper.width(),
4772 ssbar_items_count = $lines_wrapper.find('.ssbar_item').length;
4773
4774 // set period classes
4775 var short_period_w_perc = 5,
4776 short_period_w_perc_2 = 25;
4777
4778 var short_period_w = bars_total_w * short_period_w_perc / 100,
4779 short_period_w_2 = bars_total_w * short_period_w_perc_2 / 100,
4780 short_elements_c = Math.round(short_period_w / item_w_t),
4781 middle_elements_c = Math.round(short_period_w_2 / item_w_t);
4782
4783 // last short period
4784 var last_sh_start = ssbar_items_count - short_elements_c,
4785 last_sh_2_start = Math.round((bars_total_w - short_period_w) / item_w_t)
4786
4787 // middle period
4788 var middle_range_start = short_elements_c,
4789 middle_range_end = ssbar_items_count - short_elements_c - middle_elements_c,
4790 middle_start = $this.getRundBetween(middle_range_start, middle_range_end),
4791 middle_end = middle_start + middle_elements_c;
4792
4793 // midle short periods
4794 var middle_short_range_start = short_elements_c,
4795 middle_short_range_end = ssbar_items_count - short_elements_c * 2,
4796 middle_short_start = $this.getRundBetween(middle_short_range_start, middle_short_range_end),
4797 middle_short_start_2 = $this.getRundBetween(middle_short_range_start, middle_short_range_end),
4798 middle_short_end = middle_short_start + short_elements_c,
4799 middle_short_end_2 = middle_short_start_2 + short_elements_c;
4800
4801 $lines_wrapper.find('.ssbar_item').removeClass('ss_short_item').removeClass('ss_middle_short_item').removeClass('ss_middle_item');
4802 $lines_wrapper.find('.ssbar_item').each(function(i) {
4803
4804 $ssbar_item = $(this);
4805
4806 // first short period
4807 if(i >= 0 && i <= short_elements_c)
4808 $ssbar_item.addClass('ss_short_item');
4809 // last short period
4810 else if(i >= last_sh_start && i <= ssbar_items_count)
4811 $ssbar_item.addClass('ss_short_item');
4812 // middle short periods
4813 else if((i >= middle_short_start && i <= middle_short_end) || (i >= middle_short_start_2 && i <= middle_short_end_2))
4814 $ssbar_item.addClass('ss_middle_short_item');
4815 // middle period
4816 else if(i >= middle_start && i <= middle_end)
4817 $ssbar_item.addClass('ss_middle_item');
4818
4819 // set vals
4820 var h_p_start = 50,
4821 h_p_end = 100;
4822
4823 if($ssbar_item.hasClass('ss_short_item')) {
4824 h_p_start = 15;
4825 h_p_end = 50;
4826 }
4827 else if($ssbar_item.hasClass('ss_middle_short_item')) {
4828 h_p_start = 25;
4829 h_p_end = 50;
4830 }
4831 else if($ssbar_item.hasClass('ss_middle_item')) {
4832 h_p_start = 30;
4833 h_p_end = 70;
4834 }
4835
4836 var h_val = $this.getRundBetween(h_p_start, h_p_end);
4837 $ssbar_item.height(h_val + '%');
4838 });
4839 };
4840
4841 var setActivePeriod = function(n_second, removeHover) {
4842
4843 removeHover = removeHover == undefined ? false : removeHover;
4844
4845 n_second = n_second == undefined ? $player.data('cur_s') : n_second;
4846 n_second = isNaN(n_second) ? 0 : n_second;
4847
4848 var active_el_c = Math.round(n_second * ssbar_items_count / total_dur);
4849
4850 var cur_s_h = $player.data('cur_s_h');
4851 cur_s_h = cur_s_h == undefined ? -1 : cur_s_h;
4852 cur_s_h = parseInt(cur_s_h);
4853
4854 if(removeHover)
4855 $lines_wrapper.find('.ssbar_item').removeClass('ssbar_item_hovered');
4856
4857 $lines_wrapper.find('.ssbar_item_active').addClass('was_active');
4858 $lines_wrapper.find('.ssbar_item').removeClass('ssbar_item_active').each(function(i) {
4859
4860 if(i >= active_el_c)
4861 return false;
4862
4863 // hovered magic
4864 if(cur_s_h != -1) {
4865 if(cur_s_h >= n_second)
4866 $(this).removeClass('ssbar_item_hovered');
4867 else {
4868 if(!$(this).hasClass('was_active') && !$(this).hasClass('ssbar_item_hovered'))
4869 $(this).addClass('ssbar_item_hovered');
4870 }
4871 }
4872
4873 $(this).addClass('ssbar_item_active');
4874 });
4875 $lines_wrapper.find('.was_active').removeClass('was_active');
4876
4877 if(cur_s_h == -1) {
4878 var time_start_formated = $this.formatTime(n_second);
4879 $player.find('.sstimeline_time_start').html(time_start_formated);
4880 }
4881 };
4882
4883 setBars();
4884 setBarsWave();
4885 // setActivePeriod();
4886 };
4887
4888 this.createTranslationBlockPreviewTxt = function($target) {
4889
4890 var lang_item = $target.data('val');
4891 var lang_p = lang_item.split('-');
4892 var lang_to = lang_p[0];
4893
4894 var $voice_preview_data = $("#voice_preview_data");
4895 var preview_txt_def = $voice_preview_data.data('preview_txt_def');
4896
4897 if(lang_to == 'en') {
4898
4899 $target.data('prev_txt', preview_txt_def);
4900 $target.addClass("preview_txt_processed");
4901 }
4902 else {
4903
4904 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
4905
4906 var translate_callback = function(translated) {
4907
4908 var tr_item = translated[0];
4909 $target.data('prev_txt', tr_item);
4910 $target.addClass("preview_txt_processed");
4911 };
4912
4913 var interval_counter = 0;
4914 var check_int = setInterval(function() {
4915
4916 if(window.gspeech != undefined) {
4917
4918 clearInterval(check_int);
4919
4920 setTimeout(function() {
4921
4922 window.gspeech.doSmartTranslate('en', lang_to, [preview_txt_def], translate_callback);
4923
4924 }, 200);
4925 }
4926
4927 if(interval_counter > 1000) {
4928 clearInterval(check_int);
4929 }
4930
4931 interval_counter ++;
4932 }, 25);
4933 }
4934 };
4935
4936 this.registerToken = function(token) {
4937
4938 this.options.token = token;
4939
4940 this.eraseCookie('gspeech_token');
4941 this.setCookie('gspeech_token', token, -1);
4942 };
4943
4944 this.makeLoginShowAddWebsite = function() {
4945
4946 this.createLangsListAddWebsite();
4947
4948 $(".gsp_tab_sign_in").addClass("gsp_hidden");
4949 $(".gsp_tab_sign_up").addClass("gsp_hidden");
4950 $(".gsp_tab_add_website").removeClass("gsp_hidden").addClass("gsp_tab_selected");
4951 $(".gsp_tab_sign_out").removeClass("gsp_hidden");
4952
4953 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
4954 $(".gsp_tab_c_add_website").addClass("gsp_tab_active");
4955 };
4956
4957 this.makeLoginSetData = function() {
4958
4959 $(".gsp_tab_sign_in").addClass("gsp_hidden");
4960 $(".gsp_tab_sign_up").addClass("gsp_hidden");
4961 $(".gsp_tab_website_settings").removeClass("gsp_hidden").addClass("gsp_tab_selected");
4962 $(".gsp_tab_sign_out").removeClass("gsp_hidden");
4963
4964 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
4965 $(".gsp_tab_c_website_settings").addClass("gsp_tab_active");
4966
4967 var widget_id = thisPage.options.widget_id;
4968 thisPage.getWebsiteData(widget_id);
4969 };
4970
4971 this.makeLogout = function() {
4972
4973 this.eraseCookie('gspeech_token');
4974
4975 $(".gsp_tab_sign_in").removeClass("gsp_hidden").addClass("gsp_tab_selected");
4976 $(".gsp_tab_sign_up").removeClass("gsp_hidden");
4977 $(".gsp_tab_add_website").addClass("gsp_hidden");
4978 $(".gsp_tab_sign_out").addClass("gsp_hidden");
4979 $(".gsp_tab_website_settings").addClass("gsp_hidden");
4980
4981 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
4982 $(".gsp_tab_c_sign_in").addClass("gsp_tab_active");
4983
4984 window.location.hash = '';
4985
4986 // show settings tab
4987 $('.gsp_left_menu.gsp_left_m_selected').removeClass('gsp_left_m_selected');
4988 $('.gsp_left_menu.gsp_left_menu_settings').addClass('gsp_left_m_selected');
4989
4990 $('.gsp_left_m_c.gsp_left_m_c_active').removeClass('gsp_left_m_c_active');
4991 $('.gsp_left_m_c.gsp_left_m_c_settings').addClass('gsp_left_m_c_active');
4992
4993
4994 $(".gsp_link_cloud_login").removeClass('ss_hidden');
4995
4996 user_email_written = this.options.user_email_written;
4997
4998 if(user_email_written != "") {
4999
5000 $(".gsp_link_cloud_activate").addClass('ss_hidden');
5001 $(".gsp_link_cloud_loged_in_as").removeClass('ss_hidden');
5002 $(".gsp_link_cloud_loged_in_email").removeClass('ss_hidden');
5003 $(".gsp_login_email").html(user_email_written);
5004
5005 $(".gsp_login_email_uni").val(user_email_written);
5006 }
5007
5008 $('.gsp_link_cloud_logout').addClass('ss_hidden');
5009 };
5010
5011 this.loadCloudData = function() {
5012
5013 var widget_id = this.options.widget_id;
5014 var gspeech_token = this.getCookie('gspeech_token');
5015
5016 var hash = window.location.hash;
5017
5018 hash = hash == '' ? '#settings' : hash;
5019
5020 if(hash != '') {
5021
5022 var hash_striped = hash.replace('#','');
5023
5024 var hash_pieces = hash_striped.split('-');
5025 var hash_0 = hash_pieces[0];
5026 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
5027
5028 $('.gsp_left_m_selected').removeClass('gsp_left_m_selected');
5029 $('.gsp_left_menu_' + hash_0).addClass('gsp_left_m_selected');
5030
5031 if(hash_0 == 'settings') {
5032
5033 this.getWebsiteData(widget_id);
5034 }
5035 else if(hash_0 == 'widgets') {
5036
5037 if(hash_1 == 0)
5038 this.getWidgetsData(widget_id);
5039 else
5040 this.getWidgetData(widget_id, hash_1);
5041 }
5042 else if(hash_0 == 'audios') {
5043
5044 if(hash_1 == 0)
5045 this.getAudiosData(widget_id);
5046 else {
5047 this.options.root_request = true;
5048 this.getAudioData(widget_id, hash_1);
5049 }
5050 }
5051 else if(hash_0 == 'analytics') {
5052
5053 this.getWebsiteAnalyticsData(widget_id);
5054 }
5055
5056 var page_ident = hash_0;
5057 page_ident = hash_0 == 'widgets' && hash_1 != 0 ? 'widget' : page_ident;
5058 page_ident = hash_0 == 'audios' && hash_1 != 0 ? 'audio' : page_ident;
5059
5060 $(".gsp_left_m_c_active").removeClass("gsp_left_m_c_active");
5061 $(".gsp_left_m_c_" + page_ident).addClass("gsp_left_m_c_active");
5062
5063 $('.ss_tab_general').addClass("ss_tab_active");
5064 }
5065
5066 };
5067
5068 this.processPlanCorrection_ = function() {
5069
5070 var plan_id = parseInt($("#gsp_plan").html());
5071 var is_appsumo = parseInt($("#gsp_appsumo").html());
5072 is_appsumo = is_appsumo ?? 0;
5073
5074 is_appsumo = 1;
5075
5076 if(is_appsumo == 0)
5077 var plans_obj = {
5078 "plan_0": "Free",
5079 "plan_1": "Personal",
5080 "plan_2": "PRO",
5081 "plan_3": "Business",
5082 "plan_4": "Enterprise",
5083 "plan_5": "Personal-2"
5084 };
5085 else
5086 var plans_obj = {
5087 "plan_0": "Free",
5088 "plan_1": "AppSumo Tier 1",
5089 "plan_2": "AppSumo Tier 2",
5090 "plan_3": "AppSumo Tier 3",
5091 "plan_4": "AppSumo Tier 4",
5092 "plan_5": "Personal-2"
5093 };
5094
5095 var plan_name = plans_obj["plan_" + plan_id];
5096
5097 if(plan_id != 0) {
5098
5099 $('.plan_title').html(plan_name);
5100
5101 $(".ss_upgrade_info_top").addClass("ss_hidden");
5102 $(".ss_upgrade_info").addClass("ss_hidden");
5103 // $(".gsp_upgrade_wrapper").addClass("ss_hidden");
5104
5105 $(".gsp_upg_link").addClass("ss_hidden");
5106
5107 $(".gsp_package_free .product_button").html("-");
5108
5109 var plan_id_ident = plan_id == 5 ? 1 : plan_id;
5110
5111 var plan_ident_name = plans_obj["plan_" + plan_id_ident].toLowerCase();
5112
5113 $(".gsp_package_" + plan_ident_name + " .product_button").html("Active");
5114 }
5115
5116 var plg_v = $('#gsp_version').html();
5117
5118 var v_ht = '(Version ' + plg_v + ') - ' + plan_name;
5119 $('.gsp_v_i').html(v_ht);
5120
5121 v_ht = plg_v + ' - ' + plan_name;
5122 $('.gsp_link_info_plg_v').html(v_ht);
5123
5124 };
5125
5126 this.processPlanCorrection = function () {
5127
5128 // Fetch and sanitize plan ID and AppSumo status
5129 const planId = parseInt($("#gsp_plan").html(), 10) || 0;
5130 let isAppSumo = parseInt($("#gsp_appsumo").html(), 10) || 0;
5131
5132 // Define plan mappings based on AppSumo status
5133 const plansObj = isAppSumo
5134 ? {
5135 plan_0: "Free",
5136 plan_1: "AppSumo Tier 1",
5137 plan_2: "AppSumo Tier 2",
5138 plan_3: "AppSumo Tier 3",
5139 plan_4: "AppSumo Tier 4",
5140 plan_5: "AppSumo Tier 5",
5141 }
5142 : {
5143 plan_0: "Free",
5144 plan_1: "Personal",
5145 plan_2: "PRO",
5146 plan_3: "Business",
5147 plan_4: "Enterprise",
5148 plan_5: "Personal-2",
5149 };
5150
5151 // Get plan name with fallback
5152 const planName = plansObj[`plan_${planId}`] || "Unknown Plan";
5153
5154 // Update UI for non-Free plans
5155 if (planId !== 0) {
5156 $(".plan_title").html(planName);
5157 $(".ss_upgrade_info_top, .ss_upgrade_info, .gsp_upg_link").addClass(
5158 "ss_hidden"
5159 );
5160 // $(".gsp_upgrade_wrapper").addClass("ss_hidden"); // Uncomment if needed
5161 $(".gsp_package_free .product_button").html("-");
5162
5163 // Map plan 5 to 1 for identifier (e.g., Personal-2 uses Personal styling)
5164 const planIdIdent = planId == 5 && isAppSumo == 0 ? 1 : planId;
5165 const planIdentName = plansObj[`plan_${planIdIdent}`].toLowerCase();
5166
5167 $(`.gsp_package_${planIdentName} .product_button`).html("Active");
5168 }
5169
5170 // Update version info
5171 const pluginVersion = $("#gsp_version").html() || "N/A";
5172 const versionText = `(Version ${pluginVersion}) - ${planName}`;
5173 $(".gsp_v_i").html(versionText);
5174
5175 const linkVersionText = `${pluginVersion} - ${planName}`;
5176 $(".gsp_link_info_plg_v").html(linkVersionText);
5177
5178 // set active class
5179 if(isAppSumo) {
5180 let $btn = $(`.product_button_plan_${planId}`);
5181 $btn.addClass("gsp_plan_active").html("Current Tier");
5182
5183 $btn.on('click', function(event) { // Prevent any remaining/default behavior
5184 event.preventDefault();
5185 return false;
5186 });
5187 }
5188 };
5189
5190 this.detectState = function() {
5191
5192 // console.log("detect state");
5193
5194 // this.eraseCookie('gspeech_token');
5195
5196 var widget_id = this.options.widget_id;
5197 var gspeech_token = this.getCookie('gspeech_token');
5198
5199 var active_tab_ident = $("#gsp_tabs_wrapper").data('active_tab');
5200
5201 // console.log("active_tab_ident: " + active_tab_ident);
5202
5203 this.processPlanCorrection();
5204
5205 var sh_ = this.options.sh_;
5206 var shortcodes_loaded = this.options.shortcodes_loaded;
5207
5208 sh_ = shortcodes_loaded == '1' ? '0' : sh_;
5209
5210 if(sh_ == '0') {
5211 $(".add_shortcode_widgets_event_holder").addClass('ss_hidden');
5212 }
5213
5214 var old_p_lang = $("#gsp_old_p_lang").html();
5215 var old_p_speak_any_text = $("#gsp_old_p_speak_any_text").html();
5216
5217 var user_email = $("#gsp_useremail").html();
5218
5219 if(gspeech_token != "" && gspeech_token != null) { // logged in
5220
5221 $('.gsp_link_cloud_logout').removeClass('ss_hidden');
5222
5223 $('.gsp_login_email').html(user_email);
5224
5225 // hide loged out items
5226 $(".gsp_tab_sign_in").addClass("gsp_hidden");
5227 $(".gsp_tab_sign_up").addClass("gsp_hidden");
5228 $(".gsp_tab_sign_out").removeClass("gsp_hidden");
5229
5230 if(widget_id != "") { // we have a website
5231
5232 if(sh_ == '1') {
5233 this.registerShortcodeWisgets(widget_id, 0);
5234 }
5235
5236 $(".gsp_link_cloud_loged_in_as").removeClass('ss_hidden');
5237 $(".gsp_link_cloud_loged_in_email").removeClass('ss_hidden');
5238
5239 $(".gsp_link_cloud_activate").addClass('ss_hidden');
5240 $(".gsp_link_cloud_login").addClass('ss_hidden');
5241
5242 var hash = window.location.hash;
5243
5244 if(active_tab_ident == 'cloud')
5245 hash = hash == '' ? '#settings' : hash;
5246
5247 if(hash != '') {
5248
5249 var hash_striped = hash.replace('#','');
5250
5251 var hash_pieces = hash_striped.split('-');
5252 var hash_0 = hash_pieces[0];
5253 var hash_1 = hash_pieces[1] != undefined ? parseInt(hash_pieces[1]) : 0;
5254
5255 $('.gsp_left_m_selected').removeClass('gsp_left_m_selected');
5256 $('.gsp_left_menu_' + hash_0).addClass('gsp_left_m_selected');
5257
5258
5259 // $(".ss_tab_active").removeClass("ss_tab_active");
5260 // $(".ss_tab_" + hash_striped).addClass("ss_tab_active");
5261
5262 if(hash_0 == 'settings') {
5263
5264 this.getWebsiteData(widget_id);
5265 }
5266 else if(hash_0 == 'widgets') {
5267
5268 if(hash_1 == 0)
5269 this.getWidgetsData(widget_id);
5270 else
5271 this.getWidgetData(widget_id, hash_1);
5272 }
5273 else if(hash_0 == 'audios') {
5274
5275 if(hash_1 == 0)
5276 this.getAudiosData(widget_id);
5277 else {
5278 this.options.root_request = true;
5279 this.getAudioData(widget_id, hash_1);
5280 }
5281 }
5282 else if(hash_0 == 'analytics') {
5283
5284 this.getWebsiteAnalyticsData(widget_id);
5285 }
5286
5287 var page_ident = hash_0;
5288 page_ident = hash_0 == 'widgets' && hash_1 != 0 ? 'widget' : page_ident;
5289 page_ident = hash_0 == 'audios' && hash_1 != 0 ? 'audio' : page_ident;
5290
5291 $(".gsp_tab_selected").removeClass("gsp_tab_selected");
5292 $(".gsp_tab_website_settings").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5293
5294 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5295 $(".gsp_tab_c_website_settings").addClass("gsp_tab_active");
5296
5297 $(".gsp_left_m_c_active").removeClass("gsp_left_m_c_active");
5298 $(".gsp_left_m_c_" + page_ident).addClass("gsp_left_m_c_active");
5299 }
5300
5301 $(".gsp_tab_website_settings").removeClass("gsp_hidden");
5302
5303 }
5304 else {
5305
5306 $('.gsp_link_cloud_logout').addClass('ss_hidden');
5307
5308 $(".gsp_link_cloud_loged_in_as").addClass('ss_hidden');
5309 $(".gsp_link_cloud_loged_in_email").addClass('ss_hidden');
5310 $(".gsp_link_cloud_activate").removeClass('ss_hidden');
5311 $(".gsp_link_cloud_login").removeClass('ss_hidden');
5312
5313 this.createLangsListAddWebsite();
5314
5315 $(".gsp_tab.gsp_tab_selected").removeClass("gsp_tab_selected");
5316 $(".gsp_tab_add_website").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5317
5318 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5319 $(".gsp_tab_c_add_website").addClass("gsp_tab_active");
5320 }
5321 }
5322 else {
5323
5324 $(".gsp_link_cloud_login").removeClass('ss_hidden');
5325
5326 if(widget_id == "") {
5327
5328 this.createLangsListReg(old_p_lang);
5329
5330 $(".gsp_tab_selected").removeClass("gsp_tab_selected");
5331 $(".gsp_tab_video_demo").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5332
5333 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5334 $(".gsp_tab_c_video_demo").addClass("gsp_tab_active");
5335
5336 }
5337 else {
5338
5339 user_email_written = this.options.user_email_written;
5340
5341 if(user_email_written != '') {
5342
5343 $(".gsp_link_cloud_activate").addClass('ss_hidden');
5344
5345 $(".gsp_link_cloud_loged_in_email").removeClass("ss_hidden");
5346 $(".gsp_link_cloud_loged_in_as").removeClass("ss_hidden");
5347 $(".gsp_login_email").html(user_email_written);
5348 }
5349 }
5350 }
5351
5352 // tab navigation
5353 if(active_tab_ident == 'upgrade') {
5354
5355 $(".gsp_tab.gsp_tab_selected").removeClass("gsp_tab_selected");
5356 $(".gsp_tab_upgrade").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5357
5358 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5359 $(".gsp_tab_c_upgrade").addClass("gsp_tab_active");
5360
5361
5362 }
5363 else if(active_tab_ident == 'cloud') {
5364
5365 if(widget_id == "") {
5366
5367 $(".gsp_tab_selected").removeClass("gsp_tab_selected");
5368 $(".gsp_tab_sign_up").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5369
5370 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5371 $(".gsp_tab_c_sign_up").addClass("gsp_tab_active");
5372
5373 }
5374 else {
5375
5376 if(gspeech_token != "" && gspeech_token != null) {
5377
5378 }
5379 else {
5380
5381 $(".gsp_tab_selected").removeClass("gsp_tab_selected");
5382 $(".gsp_tab_sign_in").removeClass("gsp_hidden").addClass("gsp_tab_selected");
5383
5384 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5385 $(".gsp_tab_c_sign_in").addClass("gsp_tab_active");
5386 }
5387 }
5388 }
5389 else if(active_tab_ident == 'gspeech_2x') {
5390
5391 $(".gsp_tab.gsp_tab_selected").removeClass("gsp_tab_selected");
5392 $(".gsp_tab_old_basic").removeClass("gsp_hidden").addClass("gsp_tab_selected").addClass("gsp_tab_old_basic_pos_2");
5393 $(".gsp_tab_old_styles").removeClass("gsp_hidden");
5394
5395 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5396 $(".gsp_tab_c_old_basic").addClass("gsp_tab_active");
5397
5398 $(".gsp_submit_button").removeClass("gsp_hidden");
5399 $("#gsp_form").removeClass("submit_disabled");
5400 }
5401 else if(active_tab_ident == 'faq') {
5402
5403 $(".gsp_tab.gsp_tab_selected").removeClass("gsp_tab_selected");
5404 $(".gsp_tab_faq").removeClass("gsp_hidden").addClass("gsp_tab_selected").addClass("faq_ninited");
5405
5406 $(".gsp_tab_c.gsp_tab_active").removeClass("gsp_tab_active");
5407 $(".gsp_tab_c_faq").addClass("gsp_tab_active");
5408
5409 thisPage.initFaq();
5410 }
5411
5412 this.makeUi();
5413 };
5414
5415 this.makeUi = function() {
5416
5417 // checked icons
5418 $('.gsp_icon_checked').html(this.svgs['check_double']);
5419
5420 // links icons
5421 $('.gsp_link_info_demos .gsp_link_icon').html(this.svgs['play']);
5422 $('.gsp_link_info_docs .gsp_link_icon').html(this.svgs['dice']);
5423 $('.gsp_link_info_contact .gsp_link_icon').html(this.svgs['email']);
5424 $('.gsp_link_info_reviews .gsp_link_icon').html(this.svgs['users_g']);
5425
5426 // tabs icons
5427 $('.gsp_tab_video_demo').find('.ss_top_menu_icon').html(this.svgs['house']);
5428 $('.gsp_tab_sign_up').find('.ss_top_menu_icon').html(this.svgs['check_double']);
5429 $('.gsp_tab_sign_in').find('.ss_top_menu_icon').html(this.svgs['user_c']);
5430 $('.gsp_tab_sign_out').find('.ss_top_menu_icon').html(this.svgs['user_x']);
5431 $('.gsp_tab_website_settings').find('.ss_top_menu_icon').html(this.svgs['cloud']);
5432 $('.gsp_tab_add_website').find('.ss_top_menu_icon').html(this.svgs['check_double']);
5433 $('.gsp_tab_old_basic').find('.ss_top_menu_icon').html(this.svgs['grip']);
5434 $('.gsp_tab_old_styles').find('.ss_top_menu_icon').html(this.svgs['paint']);
5435 $('.gsp_tab_contact_us').find('.ss_top_menu_icon').html(this.svgs['email']);
5436 $('.gsp_tab_rate_us').find('.ss_top_menu_icon').html(this.svgs['heart']);
5437 $('.gsp_tab_faq').find('.ss_top_menu_icon').html(this.svgs['dice']);
5438 $('.gsp_tab_upgrade').find('.ss_top_menu_icon').html(this.svgs['check_double']);
5439
5440 $('.gsp_info_sep').html(this.svgs['arrow_right']);
5441
5442 // dashboard link icons
5443 $('.gsp_link_list_1').find('.gsp_link_icon').html(this.svgs['house']);
5444 $('.gsp_link_list_2').find('.gsp_link_icon').html(this.svgs['play']);
5445 $('.gsp_link_list_3').find('.gsp_link_icon').html(this.svgs['video']);
5446 $('.gsp_link_list_4').find('.gsp_link_icon').html(this.svgs['email']);
5447 $('.gsp_link_list_5').find('.gsp_link_icon').html(this.svgs['users_g']);
5448 $('.gsp_link_list_6').find('.gsp_link_icon').html(this.svgs['heart']);
5449 $('.gsp_link_list_7').find('.gsp_link_icon').html(this.svgs['cloud']);
5450 $('.gsp_link_list_8').find('.gsp_link_icon').html(this.svgs['images']);
5451 $('.gsp_link_list_9').find('.gsp_link_icon').html(this.svgs['dice']);
5452 $('.gsp_link_list_10').find('.gsp_link_icon').html(this.svgs['blog']);
5453 $('.gsp_link_list_11').find('.gsp_link_icon').html(this.svgs['case']);
5454 $('.gsp_link_list_20').find('.gsp_link_icon').html(this.svgs['check_double']);
5455
5456 // hide loader
5457 $(".gsp_magic_wrapper").addClass("ss_bg_ff");
5458
5459 $(".gsp_gspeech_info_wrapper").addClass("ss_flex");
5460 $(".gsp_videos_wrapper").addClass("ss_flex");
5461
5462 setTimeout(function() {
5463
5464 $(".ss_dash_loader").addClass("ss_hidden");
5465
5466 if($('.gsp_tab_video_demo').hasClass("gsp_tab_selected"))
5467 thisPage.setVideos();
5468
5469 }, 400);
5470
5471 $("body").on("click", ".gsp_tab_video_demo", function() {
5472
5473 thisPage.setVideos();
5474
5475 });
5476 };
5477
5478 this.setVideos = function() {
5479
5480 setTimeout(function() {
5481
5482 $('.ss_video_item_holder').each(function() {
5483
5484 var $v_w = $(this);
5485
5486 if($v_w.hasClass('gsp_video_processed'))
5487 return;
5488
5489 $v_w.addClass('gsp_video_processed');
5490
5491 var video_id = $v_w.data('video_id');
5492 var video_htm = '<iframe width="100%" height="480px" src="https://www.youtube.com/embed/'+video_id+'" title="" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>';
5493
5494 $v_w.html(video_htm);
5495 });
5496
5497 }, 1500);
5498 };
5499
5500 this.getWebsiteData = function(widget_id) {
5501
5502 var gspeech_token = this.getCookie('gspeech_token');
5503 var tts_url = thisPage.options.tts_url;
5504
5505 var user_email_written = this.options.user_email_written;
5506
5507 var request_email = user_email_written == "" ? 1 : 0;
5508
5509 var get_website_data = function() {
5510
5511 var ajax_id = 'get_website_data_connection';
5512
5513 var post_data = {
5514 'token':gspeech_token,
5515 'ajax_id':ajax_id,
5516 'request_email':request_email,
5517 'widget_id':widget_id
5518 };
5519
5520 thisPage.showOverlay();
5521 thisPage.showLoading();
5522
5523 setTimeout(function() {
5524
5525 $.ajax({
5526 type: 'POST',
5527 url: tts_url + '/ajax',
5528 crossDomain: true,
5529 data: post_data,
5530 dataType: 'json',
5531 success: function(responseData, textStatus, jqXHR) {
5532
5533 thisPage.hideLoading();
5534
5535 $('.gsp_link_cloud_logout').removeClass('ss_hidden');
5536
5537 var success = responseData.success;
5538 var em_ret = responseData.em_ret;
5539 var website_data = responseData.website_data;
5540 var plan_id = -1;
5541 var appsumo = 0;
5542
5543 if(success == "true") {
5544 plan_id = website_data.user_plan;
5545 appsumo = website_data.appsumo;
5546 }
5547
5548 if(request_email == 1 && em_ret != "") {
5549
5550 $('.gsp_login_email').html(em_ret);
5551
5552 if(plan_id != -1)
5553 var post_data_inner = {
5554 action: 'wpgsp_apply_ajax_save',
5555 _ajax_nonce: wp_ajax_nonce,
5556 type: 'save_data',
5557 field: "email,plan,appsumo",
5558 val: em_ret + ':' + plan_id + ':' + appsumo
5559 };
5560 else
5561 var post_data_inner = {
5562 action: 'wpgsp_apply_ajax_save',
5563 _ajax_nonce: wp_ajax_nonce,
5564 type: 'save_data',
5565 field: "email",
5566 val: em_ret
5567 };
5568
5569 $.ajax
5570 ({
5571 url: wp_ajax_url,
5572 type: "post",
5573 data: post_data_inner,
5574 dataType: "json",
5575 success: function(data) {
5576
5577 },
5578 error: function(xhr, status, error) {
5579
5580 }
5581 });
5582 }
5583 else if(plan_id != -1) {
5584
5585 // update plan
5586 var post_data_inner = {
5587 action: 'wpgsp_apply_ajax_save',
5588 _ajax_nonce: wp_ajax_nonce,
5589 type: 'save_data',
5590 field: "plan,appsumo",
5591 val: plan_id + ':' + appsumo
5592 };
5593 $.ajax
5594 ({
5595 url: wp_ajax_url,
5596 type: "post",
5597 data: post_data_inner,
5598 dataType: "json",
5599 success: function(data) {
5600
5601 },
5602 error: function(xhr, status, error) {
5603
5604 }
5605 });
5606 }
5607
5608 if(success == "true") {
5609
5610 thisPage.hideOverlay();
5611
5612 thisPage.generateWrapperHeight();
5613
5614 thisPage.setValsWebsiteSettings(website_data);
5615
5616 $("#gsp_plan").html(plan_id);
5617 $("#gsp_appsumo").html(appsumo);
5618
5619 thisPage.processPlanCorrection();
5620 }
5621 else if(success == "auth_failed") {
5622
5623 thisPage.refreshLogin("website_data");
5624 }
5625 else {
5626
5627 thisPage.showMessage("error","Error", false);
5628 }
5629
5630 },
5631 error: function (responseData, textStatus, errorThrown) {
5632
5633 thisPage.hideOverlay();
5634 thisPage.hideLoading();
5635 }
5636 });
5637
5638 }, 400);
5639 };
5640
5641 get_website_data();
5642 };
5643
5644 this.registerShortcodeWisgets = function(widget_id, after_action) {
5645
5646 var gspeech_token = this.getCookie('gspeech_token');
5647 var tts_url = thisPage.options.tts_url;
5648
5649 var get_website_data = function() {
5650
5651 var ajax_id = 'add_shortcode_widgets_connection';
5652
5653 var post_data = {
5654 'token':gspeech_token,
5655 'ajax_id':ajax_id,
5656 'widget_id':widget_id
5657 };
5658
5659 thisPage.showOverlay();
5660 thisPage.showLoading();
5661
5662 setTimeout(function() {
5663
5664 $.ajax({
5665 type: 'POST',
5666 url: tts_url + '/ajax',
5667 crossDomain: true,
5668 data: post_data,
5669 dataType: 'json',
5670 success: function(responseData, textStatus, jqXHR) {
5671
5672 thisPage.hideLoading();
5673
5674 var success = responseData.success;
5675
5676 if(success == "true") {
5677
5678 thisPage.hideOverlay();
5679 thisPage.hideMessage(true);
5680
5681 $('.add_shortcode_widgets_event_holder').addClass("ss_hidden");
5682
5683 var post_data_inner = {
5684 action: 'wpgsp_apply_ajax_save',
5685 _ajax_nonce: wp_ajax_nonce,
5686 type: 'save_data',
5687 field: "sh_w_loaded",
5688 val: '1'
5689 };
5690 $.ajax
5691 ({
5692 url: wp_ajax_url,
5693 type: "post",
5694 data: post_data_inner,
5695 dataType: "json",
5696 success: function(data) {
5697 thisPage.options.shortcodes_loaded = 1;
5698 },
5699 error: function(xhr, status, error) {
5700
5701 }
5702 });
5703
5704 if(after_action == 1) {
5705 thisPage.getWidgetsData(widget_id);
5706 }
5707
5708 }
5709 else if(success == "auth_failed") {
5710
5711 thisPage.refreshLogin("website_data");
5712 }
5713 else {
5714
5715 thisPage.showMessage("error","Error", false);
5716 }
5717
5718 },
5719 error: function (responseData, textStatus, errorThrown) {
5720
5721 thisPage.hideOverlay();
5722 thisPage.hideLoading();
5723 }
5724 });
5725
5726 }, 400);
5727 };
5728
5729 get_website_data();
5730 };
5731
5732 this.getWebsiteAnalyticsData = function(widget_id) {
5733
5734 var gspeech_token = this.getCookie('gspeech_token');
5735 var tts_url = thisPage.options.tts_url;
5736
5737 var get_website_analytics_data = function() {
5738
5739 var ajax_id = 'get_website_analytics_data_connection';
5740
5741 var post_data = {
5742 'token':gspeech_token,
5743 'ajax_id':ajax_id,
5744 'widget_id':widget_id
5745 };
5746
5747 thisPage.showOverlay();
5748 thisPage.showLoading();
5749
5750 setTimeout(function() {
5751
5752 $.ajax({
5753 type: 'POST',
5754 url: tts_url + '/ajax',
5755 crossDomain: true,
5756 data: post_data,
5757 dataType: 'json',
5758 success: function(responseData, textStatus, jqXHR) {
5759
5760 thisPage.hideLoading();
5761
5762 var success = responseData.success;
5763
5764 if(success == "true") {
5765
5766 thisPage.hideOverlay();
5767
5768 analytics_data = responseData.analytics_data;
5769
5770 thisPage.generateWrapperHeight();
5771
5772 thisPage.setValsWebsiteAnalytics(analytics_data);
5773 }
5774 else if(success == "auth_failed") {
5775
5776 thisPage.refreshLogin("website_analytics_data");
5777 }
5778 else {
5779
5780 thisPage.showMessage("error","Error", false);
5781 }
5782
5783 },
5784 error: function (responseData, textStatus, errorThrown) {
5785
5786 thisPage.hideOverlay();
5787 thisPage.hideLoading();
5788 }
5789 });
5790
5791 }, 400);
5792 };
5793
5794 get_website_analytics_data();
5795 };
5796
5797 this.resetTable = function() {
5798
5799 var $table = $('.gsp_left_m_c_active .items_filter_table');
5800
5801 if(!$table.length)
5802 return;
5803
5804 // $table.find('.items_count').html('');
5805 $table.find('.search_items_wrapper .search_input').val('');
5806 $table.find('.itm_ord_active').removeClass('item_ord_asc').removeClass('item_ord_desc').removeClass('itm_ord_active');
5807 // $table.find('.items_pagination_itms_holder').html('');
5808
5809 $table.find('.gsp_default_order').addClass('item_ord_desc').addClass('itm_ord_active');
5810
5811 $table.find('.items_select_filter_wrapper').each(function(e) {
5812
5813 var $ss_select = $(this);
5814 var filter_id = $ss_select.data('filter_id');
5815 var sel_index = filter_id == 'limit' ? 2 : 0;
5816 var $active_li = $ss_select.find('.search_li').eq(sel_index);
5817 var act_txt = $active_li.find('span').html();
5818
5819 if(!$active_li.hasClass('li_selected')) {
5820
5821 $ss_select.find('.li_selected').removeClass('li_selected').removeClass('ss_ul_li_act');
5822 $active_li.addClass('li_selected').addClass('ss_ul_li_act');
5823
5824 $ss_select.find('.items_select_filter_content span').html(act_txt);
5825 $ss_select.find('.items_select_filter_content .li_search_input').attr('placeholder', act_txt);
5826 }
5827 });
5828
5829 };
5830
5831 this.getWidgetsData = function(widget_id) {
5832
5833 var gspeech_token = this.getCookie('gspeech_token');
5834 var tts_url = thisPage.options.tts_url;
5835
5836 // reset table
5837 this.resetTable();
5838
5839 var get_website_data = function() {
5840
5841 var ajax_id = 'get_widgets_data_connection';
5842
5843 var post_data = {
5844 'token':gspeech_token,
5845 'ajax_id':ajax_id,
5846 'widget_id':widget_id
5847 };
5848
5849 thisPage.showOverlay();
5850 thisPage.showLoading();
5851
5852 setTimeout(function() {
5853
5854 $.ajax({
5855 type: 'POST',
5856 url: tts_url + '/ajax',
5857 crossDomain: true,
5858 data: post_data,
5859 dataType: 'json',
5860 success: function(responseData, textStatus, jqXHR) {
5861
5862 thisPage.hideLoading();
5863
5864 var success = responseData.success;
5865
5866 if(success == "true") {
5867
5868 thisPage.hideOverlay();
5869
5870 var htm = decodeURIComponent(responseData.html);
5871 var pages = decodeURIComponent(responseData.pages);
5872 var count_txt = decodeURIComponent(responseData.count_txt);
5873 var pages_state = parseInt(responseData.pages_state);
5874
5875 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_inner_wrapper').html(htm);
5876 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').html(pages);
5877 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_count').html(count_txt);
5878
5879 if(pages_state == 1) {
5880
5881 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').addClass("p_hid");
5882 }
5883 else {
5884
5885 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').removeClass("p_hid");
5886 }
5887
5888 thisPage.generateWrapperHeight();
5889
5890 thisPage.setValsWidgets();
5891 }
5892 else if(success == "auth_failed") {
5893
5894 thisPage.refreshLogin("widgets_data");
5895 }
5896 else {
5897
5898 thisPage.showMessage("error","Error", false);
5899 }
5900
5901 },
5902 error: function (responseData, textStatus, errorThrown) {
5903
5904 thisPage.hideOverlay();
5905 thisPage.hideLoading();
5906 }
5907 });
5908
5909 }, 400);
5910 };
5911
5912 get_website_data();
5913 };
5914
5915 this.getAudiosData = function(widget_id) {
5916
5917 var gspeech_token = this.getCookie('gspeech_token');
5918 var tts_url = thisPage.options.tts_url;
5919
5920 // reset table
5921 this.resetTable();
5922
5923 var get_audios_data = function() {
5924
5925 var ajax_id = 'get_audios_data_connection';
5926
5927 var post_data = {
5928 'token':gspeech_token,
5929 'ajax_id':ajax_id,
5930 'widget_id':widget_id
5931 };
5932
5933 thisPage.showOverlay();
5934 thisPage.showLoading();
5935
5936 setTimeout(function() {
5937
5938 $.ajax({
5939 type: 'POST',
5940 url: tts_url + '/ajax',
5941 crossDomain: true,
5942 data: post_data,
5943 dataType: 'json',
5944 success: function(responseData, textStatus, jqXHR) {
5945
5946 thisPage.hideLoading();
5947
5948 var success = responseData.success;
5949
5950 if(success == "true") {
5951
5952 thisPage.hideOverlay();
5953
5954 var htm = decodeURIComponent(responseData.html);
5955 var pages = decodeURIComponent(responseData.pages);
5956 var count_txt = decodeURIComponent(responseData.count_txt);
5957 var widgets_lis = decodeURIComponent(responseData.widgets_lis);
5958 var pages_state = parseInt(responseData.pages_state);
5959
5960 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_inner_wrapper').html(htm);
5961 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').html(pages);
5962 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_count').html(count_txt);
5963 $("#gsp_widget_filter").find('.items_select_ul').html(widgets_lis);
5964
5965 if(pages_state == 1) {
5966
5967 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').addClass("p_hid");
5968 }
5969 else {
5970
5971 $('.gsp_left_m_c.gsp_left_m_c_active').find('.items_pagination_itms_holder').removeClass("p_hid");
5972 }
5973
5974 thisPage.generateWrapperHeight();
5975
5976 thisPage.setValsAudios();
5977 }
5978 else if(success == "auth_failed") {
5979
5980 thisPage.refreshLogin("widgets_data");
5981 }
5982 else {
5983
5984 thisPage.showMessage("error","Error", false);
5985 }
5986
5987 },
5988 error: function (responseData, textStatus, errorThrown) {
5989
5990 thisPage.hideOverlay();
5991 thisPage.hideLoading();
5992 }
5993 });
5994
5995 }, 400);
5996 };
5997
5998 get_audios_data();
5999 };
6000
6001 this.getWidgetData = function(widget_id, block_id) {
6002
6003 var gspeech_token = this.getCookie('gspeech_token');
6004 var tts_url = thisPage.options.tts_url;
6005
6006 var get_widgets_data = function() {
6007
6008 var ajax_id = 'get_widget_data_connection';
6009
6010 var post_data = {
6011 'token':gspeech_token,
6012 'ajax_id':ajax_id,
6013 'widget_id':widget_id,
6014 'block_id':block_id
6015 };
6016
6017 thisPage.showOverlay();
6018 thisPage.showLoading();
6019
6020 setTimeout(function() {
6021
6022 $.ajax({
6023 type: 'POST',
6024 url: tts_url + '/ajax',
6025 crossDomain: true,
6026 data: post_data,
6027 dataType: 'json',
6028 success: function(responseData, textStatus, jqXHR) {
6029
6030 thisPage.hideLoading();
6031
6032 var success = responseData.success;
6033
6034 if(success == "true") {
6035
6036 thisPage.hideOverlay();
6037
6038 var widget_data = responseData.widget_data;
6039 var website_options = widget_data.website_options;
6040
6041 thisPage.setValsWidget(block_id, widget_data, website_options);
6042 }
6043 else if(success == "auth_failed") {
6044
6045 thisPage.refreshLogin("widget_data");
6046 }
6047 else {
6048
6049 thisPage.showMessage("error","Error", false);
6050 }
6051
6052 },
6053 error: function (responseData, textStatus, errorThrown) {
6054
6055 thisPage.hideOverlay();
6056 thisPage.hideLoading();
6057 }
6058 });
6059
6060 }, 400);
6061 };
6062
6063 get_widgets_data();
6064 };
6065
6066 this.getAudioData = function(widget_id, audio_id) {
6067
6068 var gspeech_token = this.getCookie('gspeech_token');
6069 var tts_url = thisPage.options.tts_url;
6070
6071 var get_audio_data = function() {
6072
6073 var ajax_id = 'get_audio_data_connection';
6074
6075 var post_data = {
6076 'token':gspeech_token,
6077 'ajax_id':ajax_id,
6078 'widget_id':widget_id,
6079 'audio_id':audio_id
6080 };
6081
6082 thisPage.showOverlay();
6083 thisPage.showLoading();
6084
6085 setTimeout(function() {
6086
6087 $.ajax({
6088 type: 'POST',
6089 url: tts_url + '/ajax',
6090 crossDomain: true,
6091 data: post_data,
6092 dataType: 'json',
6093 success: function(responseData, textStatus, jqXHR) {
6094
6095 thisPage.hideLoading();
6096
6097 var success = responseData.success;
6098
6099 if(success == "true") {
6100
6101 thisPage.hideOverlay();
6102
6103 var audio_data = responseData.audio_data;
6104
6105 thisPage.setValsAudio(audio_id, audio_data);
6106 }
6107 else if(success == "auth_failed") {
6108
6109 thisPage.refreshLogin("audio_data");
6110 }
6111 else {
6112
6113 thisPage.showMessage("error","Error", false);
6114 }
6115 },
6116 error: function (responseData, textStatus, errorThrown) {
6117
6118 thisPage.hideOverlay();
6119 thisPage.hideLoading();
6120 }
6121 });
6122
6123 }, 400);
6124 };
6125
6126 get_audio_data();
6127 };
6128
6129 this.process_lang_change = function() {
6130
6131 var lang_change_page = "";
6132 if($(".gsp_left_m_c_active #lng_sel").length)
6133 lang_change_page = "website_settings";
6134 else if($(".gsp_left_m_c_active #lng_sel_wdg").length)
6135 lang_change_page = "widget_settings";
6136
6137 if(lang_change_page == "")
6138 return;
6139
6140 var $active_lang_selector = lang_change_page == "website_settings" ? $('#lng_sel') : $('#lng_sel_wdg');
6141 var lang = $active_lang_selector.find('.li_selected').data('val');
6142
6143 var lang_p = lang.split('-');
6144 var lang_to = lang_p[0];
6145
6146 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
6147
6148 var $voice_preview_data = lang_change_page == "website_settings" ? $("#voice_preview_data") : $(".voice_preview_data");
6149 var preview_txt_def = $voice_preview_data.data('preview_txt_def');
6150 var preview_txt_ready = preview_txt_def;
6151
6152 var translate_callback = function(translated) {
6153 var tr_item = translated[0];
6154 $voice_preview_data.data('preview_txt_ready', tr_item);
6155
6156 if(lang_change_page == "website_settings")
6157 thisPage.resetPlayerWebsiteSettings();
6158 else
6159 thisPage.resetPlayerWidgetSettings();
6160 };
6161
6162 if(lang_to != 'en')
6163 window.gspeech.doSmartTranslate('en', lang_to, [preview_txt_def], translate_callback);
6164 else {
6165 $voice_preview_data.data('preview_txt_ready', preview_txt_def);
6166
6167 if(lang_change_page == "website_settings")
6168 thisPage.resetPlayerWebsiteSettings();
6169 else
6170 thisPage.resetPlayerWidgetSettings();
6171 }
6172 };
6173
6174 this.setValsWidget = function(block_id, widget_data, website_options) {
6175
6176 var $this = this;
6177
6178 var widget_id = block_id;
6179 var widget_options = widget_data.options;
6180 var widget_type_txt = widget_data.block_type_txt;
6181 var render_element = widget_data.render_element;
6182 var content_selector = widget_data.content_selector;
6183 var player_title_text = decodeURIComponent(widget_data.player_title_text);
6184 var content_txt = decodeURIComponent(widget_data.content_txt);
6185 var player_title_selector = decodeURIComponent(widget_data.player_title_selector);
6186 var widget_aliases = decodeURIComponent(widget_data.aliases);
6187 var exclude_list = decodeURIComponent(widget_data.exclude_list);
6188 var widget_texts = decodeURIComponent(widget_data.texts);
6189 var widget_type = parseInt(widget_data.block_type);
6190 var user_plan = parseInt(widget_data.user_plan);
6191 var website_plan = parseInt(widget_data.plan);
6192 var margin_top = parseInt(widget_data.margin_top);
6193 var margin_bottom = parseInt(widget_data.margin_bottom);
6194
6195 widget_options = decodeURIComponent(widget_options);
6196 website_options = decodeURIComponent(website_options);
6197
6198 // shortcode section
6199 var short_detected = false;
6200 var new_c = '';
6201 var new_c_1 = '';
6202 if(render_element == '.gsp_full_player') {
6203
6204 short_detected = true;
6205 new_c = 'gsp_full_player';
6206 new_c_1 = 'full';
6207
6208 }
6209 else if(render_element == '.gsp_circle_player') {
6210
6211 short_detected = true;
6212 new_c = 'gsp_circle_player';
6213 new_c_1 = 'circle';
6214 }
6215 else if(render_element == '.gsp_button_player') {
6216
6217 short_detected = true;
6218 new_c = 'gsp_button_player';
6219 new_c_1 = 'button';
6220 }
6221
6222 if(short_detected) {
6223
6224 $('.gsp_opts_sh_wrapper').removeClass('ss_hidden');
6225 $('.gsp_opts_ch_wrapper').removeClass('ss_hidden');
6226
6227 var sh_v = '[gspeech type=ss_class]';
6228 sh_v = sh_v.replace('ss_class', new_c_1);
6229 $('.gsp_opts_sh').html(sh_v);
6230
6231 var ch_v = '<div class="ss_class"></div>';
6232 ch_v = ch_v.replace('ss_class', new_c);
6233 $('.gsp_opts_ch').html(ch_v);
6234
6235 }
6236 else {
6237
6238 $('.gsp_opts_sh_wrapper').addClass('ss_hidden');
6239 $('.gsp_opts_ch_wrapper').addClass('ss_hidden');
6240
6241 }
6242
6243 // set website options
6244 $(".gsp_left_m_c_active .wbs_website_options").data("val", website_options);
6245
6246 // set type class
6247 $('.gsp_left_m_c_active .dashboard_content').removeClass("ss_dash_page_type_0").removeClass("ss_dash_page_type_1").removeClass("ss_dash_page_type_2").removeClass("ss_dash_page_type_3").removeClass("ss_dash_page_type_4").removeClass("ss_dash_page_type_5").addClass("ss_dash_page_type_" + widget_type);
6248 $('.gsp_left_m_c_active .dashcontwrapper').removeClass("ss_dash_page_type_0").removeClass("ss_dash_page_type_1").removeClass("ss_dash_page_type_2").removeClass("ss_dash_page_type_3").removeClass("ss_dash_page_type_4").removeClass("ss_dash_page_type_5").addClass("ss_dash_page_type_" + widget_type).addClass("ss_user_plan_" + website_plan);
6249 $('.gsp_left_m_c_active .dashcontwrapper').data("plan_id", user_plan);
6250 $('#ss_widget_page_data').data("website_plan", website_plan).data("options", widget_options);
6251
6252 var options_data_array = website_options.split('&');
6253 var website_options_array = {};
6254 for(var t = 0;t < options_data_array.length;t ++) {
6255
6256 var opt_b = options_data_array[t].split('=');
6257 website_options_array[opt_b[0]] = opt_b[1];
6258 }
6259
6260 var options_data_array = widget_options.split('&');
6261 var widget_options_array = {};
6262 for(var t = 0;t < options_data_array.length;t ++) {
6263
6264 var opt_b = options_data_array[t].split('=');
6265 widget_options_array[opt_b[0]] = opt_b[1];
6266 }
6267
6268 var ss_website_lang = website_options_array["ss_website_lang"],
6269 ss_website_voice = website_options_array["ss_website_voice"],
6270 ss_website_speed = website_options_array["ss_website_speed"],
6271 ss_website_pitch = website_options_array["ss_website_pitch"],
6272 ss_website_plan = website_options_array["ss_website_plan"],
6273 ss_website_sel_voices = website_options_array["sel_voices"],
6274 ss_website_sel_langs = website_options_array["sel_langs"];
6275
6276 var widget_use_custom = widget_options_array["widget_use_custom"] != undefined ? widget_options_array["widget_use_custom"] : 0,
6277 widget_title = widget_options_array["ss_widget_title"] != undefined ? decodeURIComponent(widget_options_array["ss_widget_title"]) : '',
6278 widget_appear_class = widget_options_array["appear_class"] != undefined ? widget_options_array["appear_class"] : -1,
6279 widget_lang = widget_options_array["lang"] != undefined ? widget_options_array["lang"] : "",
6280 widget_voice = widget_options_array["voice"] != undefined ? widget_options_array["voice"] : "",
6281 widget_speed = widget_options_array["speed"] != undefined ? widget_options_array["speed"] : "",
6282 widget_pitch = widget_options_array["pitch"] != undefined ? widget_options_array["pitch"] : "",
6283 widget_sel_voices = widget_options_array["sel_voices"] != undefined ? widget_options_array["sel_voices"] : -1,
6284 widget_sel_langs = widget_options_array["sel_langs"] != undefined ? widget_options_array["sel_langs"] : -1,
6285 widget_speed_enabled = widget_options_array["speed_enabled"] != undefined ? widget_options_array["speed_enabled"] : -1,
6286 widget_volume_enabled = widget_options_array["volume_enabled"] != undefined ? widget_options_array["volume_enabled"] : -1,
6287 widget_text_enabled = widget_options_array["text_enabled"] != undefined ? widget_options_array["text_enabled"] : -1,
6288 widget_context_enabled = widget_options_array["context_enabled"] != undefined ? widget_options_array["context_enabled"] : -1,
6289 widget_download_enabled = widget_options_array["download_enabled"] != undefined ? widget_options_array["download_enabled"] : -1,
6290 widget_plays_enabled = widget_options_array["plays_enabled"] != undefined ? widget_options_array["plays_enabled"] : -1,
6291 widget_voice_enabled = widget_options_array["voice_enabled"] != undefined ? widget_options_array["voice_enabled"] : -1,
6292 widget_lang_enabled = widget_options_array["lang_enabled"] != undefined ? widget_options_array["lang_enabled"] : -1,
6293 widget_status = widget_options_array["status"] != undefined ? widget_options_array["status"] : 1;
6294 render_pos = widget_options_array["render_pos"] != undefined ? widget_options_array["render_pos"] : 0;
6295 block_sub_type = widget_options_array["block_sub_type"] != undefined ? widget_options_array["block_sub_type"] : 0;
6296 widget_template = widget_options_array["template"] != undefined ? widget_options_array["template"] : (widget_type == 0 ? "sstemplate_8" : "sstemplate_1");
6297 widget_bg_class = widget_options_array["bg_class"] != undefined ? widget_options_array["bg_class"] : "ss_bg_19";
6298 widget_auto_load = widget_options_array["auto_load"] != undefined ? widget_options_array["auto_load"] : 0,
6299
6300 soundcloud_enabled = widget_options_array["soundcloud_enabled"] != undefined ? widget_options_array["soundcloud_enabled"] : 0,
6301 newyork_enabled = widget_options_array["newyork_enabled"] != undefined ? widget_options_array["newyork_enabled"] : 0,
6302 np_hidden = widget_options_array["np_hidden"] != undefined ? widget_options_array["np_hidden"] : 0,
6303 play_style = widget_options_array["play_style"] != undefined ? widget_options_array["play_style"] : 0,
6304 np_style = widget_options_array["np_style"] != undefined ? widget_options_array["np_style"] : 0,
6305 rounded_icons = widget_options_array["rounded_icons"] != undefined ? widget_options_array["rounded_icons"] : 0,
6306 rounded_icons_bg = widget_options_array["rounded_icons_bg"] != undefined ? widget_options_array["rounded_icons_bg"] : 0,
6307 hide_header = widget_options_array["hide_header"] != undefined ? widget_options_array["hide_header"] : 0,
6308 no_bg = widget_options_array["no_bg"] != undefined ? widget_options_array["no_bg"] : 0,
6309
6310 show_rht = widget_options_array["show_rht"] != undefined ? widget_options_array["show_rht"] : 1,
6311 rht_pos_class = widget_options_array["rht_pos_class"] != undefined ? widget_options_array["rht_pos_class"] : "ss_b_r",
6312 rht_hide_size = widget_options_array["rht_hide_size"] != undefined ? widget_options_array["rht_hide_size"] : -1,
6313 rht_hide_size_custom = widget_options_array["rht_hide_size_custom"] != undefined ? widget_options_array["rht_hide_size_custom"] : 1,
6314 welcome_repeat_interval_custom = widget_options_array["welcome_repeat_interval_custom"] != undefined ? widget_options_array["welcome_repeat_interval_custom"] : 1,
6315 banner_pos = widget_options_array["banner_pos"] != undefined ? widget_options_array["banner_pos"] : 0,
6316 welcome_repeat_interval = widget_options_array["welcome_repeat_interval"] != undefined ? widget_options_array["welcome_repeat_interval"] : 0,
6317 allowed_urls = widget_options_array["allowed_urls"] != undefined ? decodeURIComponent(widget_options_array["allowed_urls"]) : '',
6318 blocked_urls = widget_options_array["allowed_urls"] != undefined ? decodeURIComponent(widget_options_array["blocked_urls"]) : '',
6319 widget_width = widget_options_array["width"] != undefined ? widget_options_array["width"] : '',
6320 play_timeout = widget_options_array["play_timeout"] != undefined ? decodeURIComponent(widget_options_array["play_timeout"]) : '',
6321 rht_ic_pos = widget_options_array["rht_ic_pos"] != undefined ? widget_options_array["rht_ic_pos"] : 0;
6322 rht_ic_to = widget_options_array["rht_ic_to"] != undefined ? decodeURIComponent(widget_options_array["rht_ic_to"]) : '15%';
6323
6324 if(widget_use_custom == 0) {
6325 widget_lang = ss_website_lang;
6326 widget_voice = ss_website_voice;
6327 widget_speed = ss_website_speed;
6328 widget_pitch = ss_website_pitch;
6329 }
6330 else {
6331 widget_lang = widget_lang == "" ? ss_website_lang : widget_lang;
6332 widget_voice = widget_voice == "" ? ss_website_voice : widget_voice;
6333 widget_speed = widget_speed == "" ? ss_website_speed : widget_speed;
6334 widget_pitch = widget_pitch == "" ? ss_website_pitch : widget_pitch;
6335 widget_sel_voices = widget_sel_voices == "" ? ss_website_sel_voices : widget_sel_voices;
6336 }
6337
6338 widget_sel_langs = widget_sel_langs == -1 ? ss_website_sel_langs : widget_sel_langs;
6339
6340 widget_voice_enabled = (ss_website_plan == 0 && widget_voice_enabled == 1) ? 0 : widget_voice_enabled;
6341 widget_lang_enabled = (ss_website_plan == 0 && widget_lang_enabled == 1) ? 0 : widget_lang_enabled;
6342 widget_text_enabled = (ss_website_plan == 0 && widget_text_enabled == 1) ? 0 : widget_text_enabled;
6343 widget_context_enabled = (ss_website_plan == 0 && widget_context_enabled == 1) ? 0 : widget_context_enabled;
6344 widget_download_enabled = (ss_website_plan == 0 && widget_download_enabled == 1) ? 0 : widget_download_enabled;
6345 widget_plays_enabled = (ss_website_plan == 0 && widget_plays_enabled == 1) ? 0 : widget_plays_enabled;
6346
6347 // set sliders disabled
6348 var voice_type = parseInt(widget_voice.split('-')[1]);
6349 if(voice_type != 2 && voice_type != 5 && voice_type != 7) {
6350 $('.gsp_left_m_c_active .ss_slider_element_wrapper').addClass('gsp_option_disabled');
6351 }
6352
6353 if(ss_website_plan == 0)
6354 $(".gsp_left_m_c_active .ss_premium_feature_li").addClass("ss_disabled");
6355
6356 if(ss_website_plan == 0) {
6357
6358 $(".ss_commercial_switcher").removeClass("gs_mono_switcher_button_on").addClass("ss_disabled");
6359 $(".ss_commercial_switcher").find(".gs_mono_checkbox").prop("checked",false);
6360
6361 $(".ss_commercial_switcher.opts_input").attr("readonly", true);
6362 }
6363
6364 // set widget title
6365 $("#ss_widget_title").val(widget_title);
6366
6367 // set block type txt
6368 $("#ss_widget_type").data('widget_type', widget_type).val(widget_type_txt);
6369
6370 // set data
6371 $("#lng_sel_wdg").data('val', widget_lang);
6372 $("#voice_sel_wdg").data('sel_voice', widget_voice);
6373 $("#wbs_w_voice_enabled").data('sel_voice', widget_sel_voices);
6374 $("#gsp_w_slider_speed .gsp_slider_wrapper").data('start_value', widget_speed);
6375 $("#gsp_w_slider_pitch .gsp_slider_wrapper").data('start_value', widget_pitch);
6376
6377 $("#wbs_w_multiple_voices").data("sel_voice", widget_sel_voices);
6378 $("#ss_w_translation_options").data("sel_langs", widget_sel_langs);
6379
6380 thisPage.createLangsListWidget();
6381
6382 // set language
6383 var l_val = "";
6384 $("#lng_sel_wdg").find(".search_li").each(function() {
6385 if($(this).data("val") == widget_lang) {
6386 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6387 l_val = $(this).find("span").html();
6388
6389 return false;
6390 }
6391 });
6392 $("#lng_sel_wdg").find(".items_select_filter_content span").html(l_val);
6393
6394 // set data
6395 if(content_selector != "")
6396 $("#ss_content_selector").val(content_selector);
6397 if(render_element != "")
6398 $("#ss_render_element").val(render_element);
6399 if(exclude_list != "")
6400 $("#ss_exclude_list").val(exclude_list);
6401 if(player_title_text != "")
6402 $("#ss_player_title_text").val(player_title_text);
6403 if(content_txt != "")
6404 $("#ss_content_text").val(content_txt);
6405 if(player_title_selector != "")
6406 $("#ss_player_title_selector").val(player_title_selector);
6407 if(allowed_urls != "")
6408 $("#ss_allowed_urls").val(allowed_urls);
6409 if(blocked_urls != "")
6410 $("#ss_blocked_urls").val(blocked_urls);
6411 if(widget_aliases != "")
6412 $("#ss_w_aliases").val(widget_aliases);
6413 if(margin_top !== "")
6414 $("#ss_margin_top").val(margin_top);
6415 if(margin_bottom !== "")
6416 $("#ss_margin_bottom").val(margin_bottom);
6417 if(widget_width != "")
6418 $("#ss_width").val(widget_width);
6419 if(rht_hide_size_custom != "")
6420 $("#wbs_rht_hide_size_custom").val(rht_hide_size_custom);
6421 if(play_timeout != "")
6422 $("#ss_play_timeout").val(play_timeout);
6423 $("#welcome_repeat_interval_custom").val(welcome_repeat_interval_custom);
6424 $("#ss_rht_icon_top_offset").val(rht_ic_to);
6425
6426 // set texts
6427 if(widget_texts != '') {
6428
6429 var widget_texts_arr = widget_texts.split('GSPEECH_DELIMETER');
6430
6431 $("#ss_speed_text").val($this.escapeHTML(widget_texts_arr[0]));
6432 $("#ss_lang_text").val($this.escapeHTML(widget_texts_arr[1]));
6433 $("#ss_voice_text").val($this.escapeHTML(widget_texts_arr[2]));
6434 $("#ss_plays_text").val($this.escapeHTML(widget_texts_arr[3]));
6435 $("#ss_plays_title_text").val($this.escapeHTML(widget_texts_arr[4]));
6436 $("#ss_download_text").val($this.escapeHTML(widget_texts_arr[5]));
6437 $("#ss_downloaded_text").val($this.escapeHTML(widget_texts_arr[6]));
6438 $("#ss_open_text_text").val($this.escapeHTML(widget_texts_arr[7]));
6439 $("#ss_open_context_text").val($this.escapeHTML(widget_texts_arr[8]));
6440 $("#ss_close_context_text").val($this.escapeHTML(widget_texts_arr[9]));
6441 $("#ss_loading_text").val($this.escapeHTML(widget_texts_arr[10]));
6442 $("#ss_play_text").val($this.escapeHTML(widget_texts_arr[11]));
6443 $("#ss_pause_text").val($this.escapeHTML(widget_texts_arr[12]));
6444 $("#ss_options_text").val($this.escapeHTML(widget_texts_arr[13]));
6445 $("#ss_listen_text").val($this.escapeHTML(widget_texts_arr[14]));
6446 $("#ss_close_text").val($this.escapeHTML(widget_texts_arr[15]));
6447 $("#ss_listen_text_desc").val($this.escapeHTML(widget_texts_arr[16]));
6448
6449 }
6450
6451 if(widget_type == 3 && $("#ss_render_element").val() == "")
6452 $("#ss_render_element").val("body");
6453
6454 if(widget_type == 4 && $("#ss_render_element").val() == "")
6455 $("#ss_render_element").val("body");
6456
6457 if(show_rht == 1) {
6458 $("#wbs_show_rht").addClass("gs_mono_switcher_button_on");
6459 $("#wbs_show_rht").find(".gs_mono_checkbox").prop("checked", true);
6460
6461 $(".ss_rht_banner_info").removeClass("ss_display_none");
6462 thisPage.generateWrapperHeight();
6463 }
6464
6465 // set status
6466 if(widget_status == 1) {
6467 $("#wbs_w_status").addClass("gs_mono_switcher_button_on");
6468 $("#wbs_w_status").find(".gs_mono_checkbox").prop("checked", true);
6469 }
6470 else {
6471 $("#wbs_w_status").removeClass("gs_mono_switcher_button_on");
6472 $("#wbs_w_status").find(".gs_mono_checkbox").prop("checked", false);
6473 }
6474
6475 // set icon pos
6476 if(rht_ic_pos == 1) {
6477 $("#wbs_rht_icon_pos").addClass("gs_mono_switcher_button_on");
6478 $("#wbs_rht_icon_pos").find(".gs_mono_checkbox").prop("checked", true);
6479 }
6480 else {
6481 $("#wbs_rht_icon_pos").removeClass("gs_mono_switcher_button_on");
6482 $("#wbs_rht_icon_pos").find(".gs_mono_checkbox").prop("checked", false);
6483 }
6484
6485 // set render_pos
6486 if(render_pos == 1) {
6487 $("#wbs_render_pos").addClass("gs_mono_switcher_button_on");
6488 $("#wbs_render_pos").find(".gs_mono_checkbox").prop("checked", true);
6489 }
6490 else {
6491 $("#wbs_render_pos").removeClass("gs_mono_switcher_button_on");
6492 $("#wbs_render_pos").find(".gs_mono_checkbox").prop("checked", false);
6493 }
6494
6495 // set auto load
6496 if(widget_auto_load == 1) {
6497 $("#wbs_auto_load").addClass("gs_mono_switcher_button_on");
6498 $("#wbs_auto_load").find(".gs_mono_checkbox").prop("checked", true);
6499 }
6500 else {
6501 $("#wbs_auto_load").removeClass("gs_mono_switcher_button_on");
6502 $("#wbs_auto_load").find(".gs_mono_checkbox").prop("checked", false);
6503 }
6504
6505 // set soundcloud_enabled
6506 if(soundcloud_enabled == 1) {
6507 $("#ss_plr0_soundcloud_enabled").addClass("gs_mono_switcher_button_on");
6508 $("#ss_plr0_soundcloud_enabled").find(".gs_mono_checkbox").prop("checked", true);
6509 }
6510 else {
6511 $("#ss_plr0_soundcloud_enabled").removeClass("gs_mono_switcher_button_on");
6512 $("#ss_plr0_soundcloud_enabled").find(".gs_mono_checkbox").prop("checked", false);
6513 }
6514
6515 // set newyork_enabled
6516 if(newyork_enabled == 1) {
6517 $("#ss_plr0_newyork_enabled").addClass("gs_mono_switcher_button_on");
6518 $("#ss_plr0_newyork_enabled").find(".gs_mono_checkbox").prop("checked", true);
6519 }
6520 else {
6521 $("#ss_plr0_newyork_enabled").removeClass("gs_mono_switcher_button_on");
6522 $("#ss_plr0_newyork_enabled").find(".gs_mono_checkbox").prop("checked", false);
6523 }
6524
6525 // set np_hidden
6526 if(np_hidden == 1) {
6527 $("#ss_plr0_np_hidden").addClass("gs_mono_switcher_button_on");
6528 $("#ss_plr0_np_hidden").find(".gs_mono_checkbox").prop("checked", true);
6529 }
6530 else {
6531 $("#ss_plr0_np_hidden").removeClass("gs_mono_switcher_button_on");
6532 $("#ss_plr0_np_hidden").find(".gs_mono_checkbox").prop("checked", false);
6533 }
6534
6535 // set play_style
6536 if(play_style == 1) {
6537 $("#ss_plr0_play_style").addClass("gs_mono_switcher_button_on");
6538 $("#ss_plr0_play_style").find(".gs_mono_checkbox").prop("checked", true);
6539 }
6540 else {
6541 $("#ss_plr0_play_style").removeClass("gs_mono_switcher_button_on");
6542 $("#ss_plr0_play_style").find(".gs_mono_checkbox").prop("checked", false);
6543 }
6544
6545 // set np_style
6546 if(np_style == 1) {
6547 $("#ss_plr0_np_style").addClass("gs_mono_switcher_button_on");
6548 $("#ss_plr0_np_style").find(".gs_mono_checkbox").prop("checked", true);
6549 }
6550 else {
6551 $("#ss_plr0_np_style").removeClass("gs_mono_switcher_button_on");
6552 $("#ss_plr0_np_style").find(".gs_mono_checkbox").prop("checked", false);
6553 }
6554
6555 // set rounded_icons
6556 if(rounded_icons == 1) {
6557 $("#ss_plr0_rounded_icons").addClass("gs_mono_switcher_button_on");
6558 $("#ss_plr0_rounded_icons").find(".gs_mono_checkbox").prop("checked", true);
6559 }
6560 else {
6561 $("#ss_plr0_rounded_icons").removeClass("gs_mono_switcher_button_on");
6562 $("#ss_plr0_rounded_icons").find(".gs_mono_checkbox").prop("checked", false);
6563 }
6564
6565 // set rounded_icons_bg
6566 if(rounded_icons_bg == 1) {
6567 $("#ss_plr0_icons_bg").addClass("gs_mono_switcher_button_on");
6568 $("#ss_plr0_icons_bg").find(".gs_mono_checkbox").prop("checked", true);
6569 }
6570 else {
6571 $("#ss_plr0_icons_bg").removeClass("gs_mono_switcher_button_on");
6572 $("#ss_plr0_icons_bg").find(".gs_mono_checkbox").prop("checked", false);
6573 }
6574
6575 // set hide_header
6576 if(hide_header == 1) {
6577 $("#ss_plr0_hide_header").addClass("gs_mono_switcher_button_on");
6578 $("#ss_plr0_hide_header").find(".gs_mono_checkbox").prop("checked", true);
6579 }
6580 else {
6581 $("#ss_plr0_hide_header").removeClass("gs_mono_switcher_button_on");
6582 $("#ss_plr0_hide_header").find(".gs_mono_checkbox").prop("checked", false);
6583 }
6584
6585 // set no_bg
6586 if(no_bg == 1) {
6587 $("#ss_plr0_no_bg").addClass("gs_mono_switcher_button_on");
6588 $("#ss_plr0_no_bg").find(".gs_mono_checkbox").prop("checked", true);
6589 }
6590 else {
6591 $("#ss_plr0_no_bg").removeClass("gs_mono_switcher_button_on");
6592 $("#ss_plr0_no_bg").find(".gs_mono_checkbox").prop("checked", false);
6593 }
6594
6595 // set widget_use_custom
6596 if(widget_use_custom == 1) {
6597 $("#wbs_custom_val").addClass("gs_mono_switcher_button_on");
6598 $("#wbs_custom_val").find(".gs_mono_checkbox").prop("checked", true);
6599
6600 $(".ss_custom_values").removeClass("ss_display_none");
6601 thisPage.generateWrapperHeight();
6602 }
6603 else {
6604 $("#wbs_custom_val").removeClass("gs_mono_switcher_button_on");
6605 $("#wbs_custom_val").find(".gs_mono_checkbox").prop("checked", false);
6606
6607 $(".ss_custom_values").addClass("ss_display_none");
6608 thisPage.generateWrapperHeight();
6609 }
6610
6611 // set voice enabled
6612 $("#wbs_w_voice_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6613 $("#wbs_w_voice_enabled").find(".search_li").each(function() {
6614 if($(this).data("val") == widget_voice_enabled) {
6615 $(this).addClass("li_selected").addClass("ss_ul_li_act").trigger("click");
6616 l_val = $(this).find("span").html();
6617
6618 return false;
6619 }
6620 });
6621 $("#wbs_w_voice_enabled").find(".items_select_filter_content span").html(l_val);
6622 if(widget_voice_enabled == 1) {
6623 $("#wbs_w_multiple_voices").removeClass("ss_disabled");
6624 }
6625
6626 // set wbs_appear_class
6627 $("#wbs_w_appear_class").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6628 $("#wbs_w_appear_class").find(".search_li").each(function() {
6629 if($(this).data("val") == widget_appear_class) {
6630 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6631 l_val = $(this).find("span").html();
6632
6633 return false;
6634 }
6635 });
6636 $("#wbs_w_appear_class").find(".items_select_filter_content span").html(l_val);
6637
6638 // set langs enabled
6639 $("#wbs_w_langs_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6640 $("#wbs_w_langs_enabled").find(".search_li").each(function() {
6641 if($(this).data("val") == widget_lang_enabled) {
6642 $(this).addClass("li_selected").addClass("ss_ul_li_act").trigger("click");;
6643 l_val = $(this).find("span").html();
6644
6645 return false;
6646 }
6647 });
6648 $("#wbs_w_langs_enabled").find(".items_select_filter_content span").html(l_val);
6649
6650 // set speed enabled
6651 $("#wbs_w_speed_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6652 $("#wbs_w_speed_enabled").find(".search_li").each(function() {
6653 if($(this).data("val") == widget_speed_enabled) {
6654 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6655 l_val = $(this).find("span").html();
6656
6657 return false;
6658 }
6659 });
6660 $("#wbs_w_speed_enabled").find(".items_select_filter_content span").html(l_val);
6661
6662 // set volume enabled
6663 $("#wbs_w_volume_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6664 $("#wbs_w_volume_enabled").find(".search_li").each(function() {
6665 if($(this).data("val") == widget_volume_enabled) {
6666 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6667 l_val = $(this).find("span").html();
6668
6669 return false;
6670 }
6671 });
6672 $("#wbs_w_volume_enabled").find(".items_select_filter_content span").html(l_val);
6673
6674 // set text enabled
6675 $("#wbs_w_text_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6676 $("#wbs_w_text_enabled").find(".search_li").each(function() {
6677 if($(this).data("val") == widget_text_enabled) {
6678 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6679 l_val = $(this).find("span").html();
6680
6681 return false;
6682 }
6683 });
6684 $("#wbs_w_text_enabled").find(".items_select_filter_content span").html(l_val);
6685
6686 // set context enabled
6687 $("#wbs_w_context_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6688 $("#wbs_w_context_enabled").find(".search_li").each(function() {
6689 if($(this).data("val") == widget_context_enabled) {
6690 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6691 l_val = $(this).find("span").html();
6692
6693 return false;
6694 }
6695 });
6696 $("#wbs_w_context_enabled").find(".items_select_filter_content span").html(l_val);
6697
6698 // set download enabled
6699 $("#wbs_w_download_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6700 $("#wbs_w_download_enabled").find(".search_li").each(function() {
6701 if($(this).data("val") == widget_download_enabled) {
6702 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6703 l_val = $(this).find("span").html();
6704
6705 return false;
6706 }
6707 });
6708 $("#wbs_w_download_enabled").find(".items_select_filter_content span").html(l_val);
6709
6710 // set plays enabled
6711 $("#wbs_w_plays_enabled").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6712 $("#wbs_w_plays_enabled").find(".search_li").each(function() {
6713 if($(this).data("val") == widget_plays_enabled) {
6714 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6715 l_val = $(this).find("span").html();
6716
6717 return false;
6718 }
6719 });
6720 $("#wbs_w_plays_enabled").find(".items_select_filter_content span").html(l_val);
6721
6722 // set banner info
6723 var l_val = "";
6724 $("#wbs_rht_pos_class").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6725 $("#wbs_rht_pos_class").data("val", rht_pos_class).find(".search_li").each(function() {
6726 if($(this).data("val") == rht_pos_class) {
6727 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6728 l_val = $(this).find("span").html();
6729
6730 return false;
6731 }
6732 });
6733 $("#wbs_rht_pos_class").find(".items_select_filter_content span").html(l_val);
6734
6735 var l_val = "";
6736 $("#wbs_rht_hide_size").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6737 $("#wbs_rht_hide_size").data("val", rht_hide_size).find(".search_li").each(function() {
6738 if($(this).data("val") == rht_hide_size) {
6739 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6740 l_val = $(this).find("span").html();
6741
6742 return false;
6743 }
6744 });
6745 $("#wbs_rht_hide_size").find(".items_select_filter_content span").html(l_val);
6746 if(rht_hide_size == 1) {
6747 $('.ss_rht_custom_val_info').removeClass("ss_display_none");
6748
6749 thisPage.generateWrapperHeight();
6750 }
6751
6752 // set block sub type
6753 var l_val = "";
6754 $("#wbs_block_sub_type").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6755 $("#wbs_block_sub_type").data("val", block_sub_type).find(".search_li").each(function() {
6756 if($(this).data("val") == block_sub_type) {
6757 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6758 l_val = $(this).find("span").html();
6759
6760 return false;
6761 }
6762 });
6763 $("#wbs_block_sub_type").find(".items_select_filter_content span").html(l_val);
6764
6765 // set template
6766 var l_val = "";
6767 $("#wbs_template").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6768 $("#wbs_template").data("val", widget_template).find(".search_li").each(function() {
6769 if($(this).data("val") == widget_template) {
6770 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6771 l_val = $(this).find("span").html();
6772
6773 return false;
6774 }
6775 });
6776 $("#wbs_template").find(".items_select_filter_content span").html(l_val);
6777
6778 // template preview
6779 $("#ss_template_blocks_wrapper").find(".ss_tmp_selected").removeClass("ss_tmp_selected")
6780 $("#ss_template_blocks_wrapper").find(".ss_tmp_block").each(function() {
6781 if($(this).data("block_id") == widget_template) {
6782 $(this).addClass("ss_tmp_selected");
6783
6784 return false;
6785 }
6786 });
6787
6788 var l_val = "";
6789 $("#wbs_bg_class").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6790 $("#wbs_bg_class").data("val", widget_bg_class).find(".search_li").each(function() {
6791 if($(this).data("val") == widget_bg_class) {
6792 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6793 l_val = $(this).find("span").html();
6794
6795 return false;
6796 }
6797 });
6798 $("#wbs_bg_class").find(".items_select_filter_content span").html(l_val);
6799
6800 // welcome message
6801 if(banner_pos == 1) {
6802 $("#banner_pos").addClass("gs_mono_switcher_button_on");
6803 $("#banner_pos").find(".gs_mono_checkbox").prop("checked", true);
6804 }
6805
6806 var l_val = "";
6807 $("#welcome_repeat_interval").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
6808 $("#welcome_repeat_interval").data("val", welcome_repeat_interval).find(".search_li").each(function() {
6809 if($(this).data("val") == welcome_repeat_interval) {
6810 $(this).addClass("li_selected").addClass("ss_ul_li_act");
6811 l_val = $(this).find("span").html();
6812
6813 return false;
6814 }
6815 });
6816 $("#welcome_repeat_interval").find(".items_select_filter_content span").html(l_val);
6817
6818 if(welcome_repeat_interval == 1) {
6819 $('.ss_welcome_m_custom_info').removeClass("ss_display_none");
6820
6821 thisPage.generateWrapperHeight();
6822 }
6823
6824 // create translation
6825 this.createTranslationListWidget();
6826
6827 // voice tuning sliders
6828 var slider_callback = function() {
6829 $this.resetPlayerWidgetSettings();
6830 };
6831 this.applySliderFunctionality('.gsp_left_m_c_active .ss_slider_element_wrapper', slider_callback);
6832
6833 // process voice
6834 this.processVoiceWidgetSettings();
6835
6836 var lang = $("#lng_sel_wdg").find('.li_selected').data('val'),
6837 lang_p = lang.split('-');
6838 lang_to = lang_p[0];
6839
6840 lang_to = lang_to == 'yue' ? 'zh' : lang_to;
6841
6842 var set_vals_txts = function() {
6843
6844 // set title text
6845 if(widget_type == 3 && $("#ss_player_title_text").val() == "") {
6846
6847 var title_txt = "Read text";
6848
6849 $("#ss_player_title_text").val(title_txt);
6850 }
6851
6852 // title for welcome message
6853 if(widget_type == 4 && $("#ss_player_title_text").val() == "") {
6854
6855 var title_txt = "This page wants to play audio";
6856
6857 $("#ss_player_title_text").val(title_txt);
6858 }
6859
6860 // set texts
6861 if($("#ss_speed_text").val() == "") {
6862
6863 var texts = thisPage.texts_str.split(',');
6864
6865 $("#ss_speed_text").val(texts[0]);
6866 $("#ss_lang_text").val(texts[1]);
6867 $("#ss_voice_text").val(texts[2]);
6868 $("#ss_plays_text").val(texts[3]);
6869 $("#ss_plays_title_text").val(texts[4]);
6870 $("#ss_download_text").val(texts[5]);
6871 $("#ss_downloaded_text").val(texts[6]);
6872 $("#ss_open_text_text").val(texts[7]);
6873 $("#ss_open_context_text").val(texts[8]);
6874 $("#ss_close_context_text").val(texts[9]);
6875 $("#ss_loading_text").val(texts[10]);
6876 $("#ss_play_text").val(texts[11]);
6877 $("#ss_pause_text").val(texts[12]);
6878 $("#ss_options_text").val(texts[13]);
6879 $("#ss_listen_text").val(texts[14]);
6880 $("#ss_close_text").val(texts[15]);
6881 $("#ss_close_text").val(texts[15]);
6882 $("#ss_listen_text_desc").val(texts[16]);
6883 }
6884 };
6885
6886 if(lang_to == "en")
6887 set_vals_txts();
6888
6889 var run_translations_block = function() {
6890
6891 // set title text
6892 if(widget_type == 3 && $("#ss_player_title_text").val() == "") {
6893
6894 var title_txt = "Read text";
6895
6896 var translate_callback = function(translated) {
6897
6898 $("#ss_player_title_text").val(translated[0]);
6899 };
6900
6901 if(lang_to != 'en')
6902 window.gspeech.doSmartTranslate('en', lang_to, [title_txt], translate_callback);
6903 }
6904
6905 // title for welcome message
6906 if(widget_type == 4 && $("#ss_player_title_text").val() == "") {
6907
6908 var title_txt = "This page wants to play audio";
6909
6910 var translate_callback = function(translated) {
6911
6912 $("#ss_player_title_text").val(translated[0]);
6913 };
6914
6915 if(lang_to != 'en')
6916 window.gspeech.doSmartTranslate('en', lang_to, [title_txt], translate_callback);
6917 }
6918
6919 // set texts
6920 if($("#ss_speed_text").val() == "") {
6921
6922 var texts = thisPage.texts_str.split(',');
6923
6924 var translate_callback = function(translated) {
6925
6926 $("#ss_speed_text").val(translated[0]);
6927 $("#ss_lang_text").val(translated[1]);
6928 $("#ss_voice_text").val(translated[2]);
6929 $("#ss_plays_text").val(translated[3]);
6930 $("#ss_plays_title_text").val(translated[4]);
6931 $("#ss_download_text").val(translated[5]);
6932 $("#ss_downloaded_text").val(translated[6]);
6933 $("#ss_open_text_text").val(translated[7]);
6934 $("#ss_open_context_text").val(translated[8]);
6935 $("#ss_close_context_text").val(translated[9]);
6936 $("#ss_loading_text").val(translated[10]);
6937 $("#ss_play_text").val(translated[11]);
6938 $("#ss_pause_text").val(translated[12]);
6939 $("#ss_options_text").val(translated[13]);
6940 $("#ss_listen_text").val(translated[14]);
6941 $("#ss_close_text").val(translated[15]);
6942 $("#ss_listen_text_desc").val(translated[16]);
6943 };
6944
6945 if(lang_to != 'en')
6946 window.gspeech.doSmartTranslate('en', lang_to, [texts[0],texts[1],texts[2],texts[3],texts[4],texts[5],texts[6],texts[7],texts[8],texts[9],texts[10],texts[11],texts[12],texts[13],texts[14],texts[15],texts[16]], translate_callback);
6947 }
6948 };
6949
6950 // run gspeech
6951 if(!$("#gspeech_js").length) {
6952
6953 var id_script = "gspeech_js";
6954 var js_path = "https://widget.gspeech.io/" + this.options.gspeech_widget_id;
6955
6956 $('<script>').appendTo('head').attr({type: 'text/javascript', id: id_script, src: js_path});
6957 }
6958
6959 var interval_counter = 0;
6960 var check_int = setInterval(function() {
6961
6962 if(window.gspeech != undefined) {
6963
6964 clearInterval(check_int);
6965
6966 setTimeout(function() {
6967
6968 thisPage.resetPlayerWidgetSettings();
6969
6970 thisPage.makeStylesTabClick(false);
6971
6972 thisPage.process_lang_change();
6973
6974 if(lang_to != "en")
6975 run_translations_block();
6976
6977 }, 200);
6978 }
6979
6980 if(interval_counter > 50000) {
6981 clearInterval(check_int);
6982 }
6983
6984 interval_counter ++;
6985
6986 }, 25);
6987 };
6988
6989 this.setValsAudio = function(audio_id, audio_data) {
6990
6991 var $this = this;
6992
6993 var audio_url = audio_data.audio_url;
6994 var audio_content = audio_data.audio_content;
6995 var audio_content_length = audio_data.audio_content_length;
6996 var audio_content_length = audio_data.audio_content_length;
6997 var audio_lang = audio_data.audio_lang;
6998 var audio_voice = audio_data.audio_voice;
6999 var audio_speed = audio_data.audio_speed;
7000 var audio_pitch = audio_data.audio_pitch;
7001 var widget_type_title = audio_data.widget_type_title;
7002 var plays_html = audio_data.plays_html;
7003 var countries_html = audio_data.countries_html;
7004 var cities_html = audio_data.cities_html;
7005 var devices_html = audio_data.devices_html;
7006
7007 // set vals
7008 $('.ss_audio_url_holder a').html(audio_url).attr('href', audio_url);
7009 $('#ss_audio_content').html(audio_content);
7010 $('#ss_audio_c_l').html(audio_content_length);
7011 $('#ss_audio_plays_wrapper').html(plays_html);
7012 $('#ss_audio_countries_wrapper').html(countries_html);
7013 $('#ss_audio_cities_wrapper').html(cities_html);
7014 $('#ss_audio_devices_wrapper').html(devices_html);
7015
7016 this.generateCharts('audio_analytics');
7017
7018 // run gspeech
7019 if(!$("#gspeech_js").length) {
7020
7021 var id_script = "gspeech_js";
7022 var js_path = "https://widget.gspeech.io/" + this.options.gspeech_widget_id;
7023
7024 $('<script>').appendTo('head').attr({type: 'text/javascript', id: id_script, src: js_path});
7025 }
7026
7027 var reset_ss_prv = function() {
7028
7029 if(!thisPage.options.root_request) {
7030
7031 $(".ssblock").each(function(i) {
7032 var ssblock_id = $(this).data("id");
7033 $(".gsp_htm_processed_" + ssblock_id).removeClass("gsp_htm_processed_" + ssblock_id);
7034 $(this).remove();
7035 });
7036 $('.gsp_content_wrapper_set').removeClass("gsp_htm_processed").removeClass("gsp_content_wrapper_set");
7037 $(".sscontext_player").remove();
7038 $(".rht_banner_wrapper").remove();
7039 $(".ssplayer_rht").remove();
7040 $("#sscustom_rht").remove();
7041
7042 window.gspeech.prepareSSBlocks();
7043 }
7044
7045 $("#gsp_player_loading").addClass("gsp_hidden");
7046
7047 var $player = $("#ss_dash_audio_player").find(".ssplayer_wrapper");
7048
7049 $player.data("lang", audio_lang);
7050 $player.data("voice", audio_voice);
7051 $player.data("speed", audio_speed);
7052 $player.data("pitch", audio_pitch);
7053 };
7054
7055 var interval_counter = 0;
7056 var check_int = setInterval(function() {
7057
7058 if(window.gspeech != undefined) {
7059
7060 clearInterval(check_int);
7061
7062 setTimeout(function() {
7063
7064 reset_ss_prv();
7065
7066 }, 200);
7067 }
7068
7069 if(interval_counter > 1000) {
7070 clearInterval(check_int);
7071 }
7072
7073 interval_counter ++;
7074
7075 }, 25);
7076 };
7077
7078 this.setValsWebsiteAnalytics = function(analytics_data) {
7079
7080 var $this = this;
7081
7082 var plays_html = analytics_data.plays_html;
7083 var countries_html = analytics_data.countries_html;
7084 var cities_html = analytics_data.cities_html;
7085 var devices_html = analytics_data.devices_html;
7086
7087 // set vals
7088 $('#ss_web_an_plays_wrapper').html(plays_html);
7089 $('#ss_web_an_countries_wrapper').html(countries_html);
7090 $('#ss_web_an_cities_wrapper').html(cities_html);
7091 $('#ss_web_an_devices_wrapper').html(devices_html);
7092
7093 this.generateCharts('website_analytics');
7094 };
7095
7096 this.generateCharts = function(type) {
7097
7098 this.generateStatChart(type);
7099
7100 this.generatePieChartCountries(type);
7101
7102 this.generatePieChartCities(type);
7103
7104 this.generatePieChartDevices(type);
7105 }
7106
7107 this.generateStatChart = function(type) {
7108
7109 var $active_element = '',
7110 element_id = '';
7111 if(type == 'audio_analytics') {
7112
7113 $active_element = $("#ss_audio_plays_wrapper");
7114 element_id = 'graph_container1';
7115 }
7116 else if(type == 'website_analytics') {
7117
7118 $active_element = $("#ss_web_an_plays_wrapper");
7119 element_id = 'graph_container1_wa';
7120 }
7121
7122 var data_array = [];
7123 var points_count = $active_element.find(".ss_play_item").length;
7124
7125 if(points_count < 2 || points_count == undefined) {
7126
7127 $("#" + element_id).html('<div class="graph_no_data_wrapper">No data available for plays statistics.</div>');
7128 return;
7129 }
7130
7131 $active_element.find(".ss_play_item").each(function(i) {
7132
7133 var $date_item = $(this);
7134
7135 var point_date = $date_item.data("date"),
7136 point_val = $date_item.data("plays");
7137
7138 var date_pieces = point_date.split('-'),
7139 date_y = date_pieces[0],
7140 date_m = date_pieces[1],
7141 date_d = date_pieces[2];
7142
7143 date_m = parseInt(date_m);
7144 date_m --;
7145 date_m = date_m < 10 ? "0" + date_m : date_m;
7146 date_m = date_m == "00" ? "0" : date_m;
7147
7148 var date_key = Date.UTC(date_y, date_m, date_d),
7149 d_array_item = [date_key, point_val];
7150
7151 data_array.push(d_array_item);
7152 });
7153
7154 Highcharts.theme = {
7155 // scroll charts
7156 rangeSelector: {
7157 buttonTheme: {
7158 fill: {
7159 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7160 stops: [
7161 [0.4, '#333'],
7162 [0.6, '#000']
7163 ]
7164 },
7165 stroke: '#000000',
7166 style: {
7167 color: '#888',
7168 fontWeight: 'bold'
7169 },
7170 states: {
7171 hover: {
7172 fill: {
7173 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7174 stops: [
7175 [0.4, '#555'],
7176 [0.6, '#111']
7177 ]
7178 },
7179 stroke: '#000000',
7180 style: {
7181 color: 'white'
7182 }
7183 },
7184 select: {
7185 fill: {
7186 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7187 stops: [
7188 [0.1, '#000'],
7189 [0.3, '#333']
7190 ]
7191 },
7192 stroke: '#000000',
7193 style: {
7194 color: 'yellow'
7195 }
7196 }
7197 }
7198 },
7199 inputStyle: {
7200 backgroundColor: '#333',
7201 color: 'silver'
7202 },
7203 labelStyle: {
7204 color: 'silver'
7205 }
7206 },
7207 };
7208
7209 window.chart = new Highcharts.StockChart({
7210 colors: ["#9765bb", "#55BF3B", "#DF5353", "#9765bb", "#aaeeee", "#ff0066", "#eeaaee",
7211 "#55BF3B", "#DF5353", "#9765bb", "#aaeeee"],
7212
7213 chart : {
7214 renderTo : element_id,
7215 backgroundColor:'rgba(0, 0, 0, 0.2)',
7216 color: "#fff",
7217 marginRight: 10,
7218 marginBottom: 0,
7219 backgroundColor: {
7220 linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 },
7221 stops: [
7222 [0, '#ffffff'],
7223 [1, '#ffffff']
7224 ]
7225 },
7226 borderColor: '#d2d2d2',
7227 borderWidth: 1,
7228 className: 'dark-container',
7229 plotBackgroundColor: 'rgba(255, 255, 255, 0.05)',
7230 plotBorderColor: '#d2d2d2',
7231 plotBorderRadius: 3,
7232 plotBorderWidth: 1
7233 },
7234
7235 title : {
7236 text : 'Audio Plays Chart',
7237 style: {
7238 fontSize: "16px",
7239 fontWeight: "bold",
7240 color: "#999",
7241 shadow : true
7242 }
7243 },
7244
7245 scrollbar: {
7246 barBackgroundColor: '#d2d2d2',
7247 barBorderRadius: 3,
7248 barBorderWidth: 1,
7249 buttonBackgroundColor: '#d2d2d2',
7250 buttonBorderWidth: 1,
7251 buttonBorderRadius: 3,
7252 trackBackgroundColor: '#d2d2d2',
7253 trackBorderWidth: 1,
7254 trackBorderRadius: 8,
7255 trackBorderColor: '#222',
7256 barBackgroundColor: {
7257 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7258 stops: [
7259 [0.4, '#d2d2d2'],
7260 [0.6, '#d2d2d2']
7261 ]
7262 },
7263 barBorderColor: '#d2d2d2',
7264 buttonArrowColor: '#d2d2d2',
7265 buttonBackgroundColor: {
7266 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7267 stops: [
7268 [0.4, '#d2d2d2'],
7269 [0.6, '#d2d2d2']
7270 ]
7271 },
7272 buttonBorderColor: '#d2d2d2',
7273 rifleColor: '#fff',
7274 rifleBackgroundColor: '#fff',
7275 trackBackgroundColor: {
7276 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7277 stops: [
7278 [0, '#fff'],
7279 [1, '#fff']
7280 ]
7281 },
7282 trackBorderColor: '#d2d2d2'
7283 },
7284
7285 xAxis: {
7286 gridLineColor: '#ededed',
7287 gridLineWidth: 1,
7288 labels: {
7289 style: {
7290 color: '#555'
7291 }
7292 },
7293 lineColor: '#999',
7294 tickColor: '#222',
7295 title: {
7296 style: {
7297 color: '#222',
7298 fontWeight: 'bold',
7299 fontSize: '12px',
7300 fontFamily: 'Trebuchet MS, Verdana, sans-serif'
7301
7302 }
7303 }
7304 },
7305
7306 yAxis: {
7307 gridLineColor: '#ededed',
7308 labels: {
7309 style: {
7310 color: '#777'
7311 }
7312 },
7313 lineColor: '#000',
7314 tickColor: '#000',
7315 title: {
7316 style: {
7317 color: '#000',
7318 fontWeight: 'bold',
7319 fontSize: '12px'
7320 }
7321 },
7322 minPadding: 0,
7323 maxPadding: 0.1,
7324 min: 0
7325 },
7326
7327 tooltip: {
7328 backgroundColor: 'rgba(0, 0, 0, 0.75)',
7329 style: {
7330 color: '#F0F0F0'
7331 }
7332 },
7333 toolbar: {
7334 itemStyle: {
7335 color: 'silver'
7336 }
7337 },
7338 plotOptions: {
7339 line: {
7340 dataLabels: {
7341 color: '#CCC'
7342 },
7343 marker: {
7344 lineColor: '#333'
7345 }
7346 },
7347 spline: {
7348 marker: {
7349 lineColor: '#333'
7350 }
7351 },
7352 scatter: {
7353 marker: {
7354 lineColor: '#333'
7355 }
7356 },
7357 candlestick: {
7358 lineColor: 'white'
7359 }
7360 },
7361 legend: {
7362 itemStyle: {
7363 font: '9pt Trebuchet MS, Verdana, sans-serif',
7364 color: '#A0A0A0'
7365 },
7366 itemHoverStyle: {
7367 color: '#FFF'
7368 },
7369 itemHiddenStyle: {
7370 color: '#444'
7371 }
7372 },
7373 credits: {
7374 style: {
7375 color: '#666'
7376 }
7377 },
7378 labels: {
7379 style: {
7380 color: '#CCC'
7381 }
7382 },
7383
7384 navigation: {
7385 buttonOptions: {
7386 align: 'right',
7387 symbolStroke: '#888',
7388 hoverSymbolStroke: '#555',
7389 theme: {
7390 fill: {
7391 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7392 stops: [
7393 [0.4, '#606060'],
7394 [0.6, '#333333']
7395 ]
7396 },
7397 stroke: '#000000'
7398 }
7399 },
7400 handles: {
7401 backgroundColor: '#666',
7402 borderColor: '#AAA'
7403 },
7404 outlineColor: '#CCC',
7405 maskFill: 'rgba(0, 0, 0, 0.5)',
7406 series: {
7407 color: '#a770ce',
7408 lineColor: '#a770ce'
7409 }
7410 },
7411
7412 // scroll charts
7413 rangeSelector: {
7414 selected : 0,
7415 buttonTheme: {
7416 fill: {
7417 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7418 stops: [
7419 [0.4, '#ededed'],
7420 [0.6, '#ededed']
7421 ]
7422 },
7423 stroke: '#fff',
7424 style: {
7425 color: '#999',
7426 fontWeight: 'bold'
7427 },
7428 states: {
7429 hover: {
7430 fill: {
7431 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7432 stops: [
7433 [0.4, '#ededed'],
7434 [0.6, '#ededed']
7435 ]
7436 },
7437 stroke: '#fff',
7438 style: {
7439 color: '#555'
7440 }
7441 },
7442 select: {
7443 fill: {
7444 linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
7445 stops: [
7446 [0.1, '#000'],
7447 [0.3, '#333']
7448 ]
7449 },
7450 stroke: '#000000',
7451 style: {
7452 color: '#a770ce'
7453 }
7454 }
7455 }
7456 },
7457 inputStyle: {
7458 backgroundColor: '#333',
7459 color: 'silver'
7460 },
7461 labelStyle: {
7462 color: 'silver'
7463 }
7464 },
7465
7466 series : [
7467 {
7468 name : 'Plays',
7469 type: 'areaspline',
7470 data :
7471 data_array,
7472 marker : {
7473 enabled : true,
7474 color: "#fff",
7475 radius : 2
7476 },
7477 shadow : true,
7478 tooltip : {
7479 valueDecimals : 0
7480 },
7481 fillColor : {
7482 linearGradient : {
7483 x1: 0,
7484 y1: 0,
7485 x2: 0,
7486 y2: 1
7487 },
7488 // stops : [[0, Highcharts.getOptions().colors[1]], [1, "rgba(0,0,0,0)"]]
7489 stops : [[0, "#5e367b"], [1, "#3a0c5b52"]]
7490 }
7491 }
7492 ]
7493 });
7494 };
7495
7496 this.generatePieChartDevices = function(type) {
7497
7498 var $active_element = '',
7499 element_id = '';
7500 if(type == 'audio_analytics') {
7501
7502 $active_element = $("#ss_audio_devices_wrapper");
7503 element_id = 'graph_container3';
7504 }
7505 else if(type == 'website_analytics') {
7506
7507 $active_element = $("#ss_web_an_devices_wrapper");
7508 element_id = 'graph_container3_wa';
7509 }
7510
7511 var data_array = [];
7512 var points_count = $active_element.find(".ss_device_item").length;
7513
7514 if(points_count == undefined) {
7515
7516 $("#" + element_id).html('<div class="graph_no_data_wrapper">No data available for device statistics.</div>');
7517 return;
7518 }
7519
7520 $active_element.find(".ss_device_item").each(function(i) {
7521
7522 var $device_item = $(this);
7523
7524 var device = $device_item.data("device"),
7525 point_val = $device_item.data("val");
7526
7527 var c_array_item = [device, point_val];
7528
7529 data_array.push(c_array_item);
7530 });
7531
7532 var chart;
7533 chart = new Highcharts.Chart({
7534 colors: ["#9765bb", "#55BF3B", "#DF5353", "#9765bb", "#aaeeee", "#ff0066", "#eeaaee",
7535 "#55BF3B", "#DF5353", "#9765bb", "#aaeeee"],
7536 chart: {
7537 renderTo: element_id,
7538 plotBackgroundColor: null,
7539 plotBorderWidth: null,
7540 plotShadow: false
7541 },
7542 title: {
7543 text: 'Device Statistics',
7544 style: {
7545 fontSize: "16px",
7546 fontWeight: "bold",
7547 color: "#999",
7548 shadow : true
7549 }
7550 },
7551 tooltip: {
7552 formatter: function() {
7553 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7554 }
7555 },
7556 plotOptions: {
7557 pie: {
7558 allowPointSelect: true,
7559 cursor: 'pointer',
7560 dataLabels: {
7561 enabled: true,
7562 color: '#444444',
7563 connectorColor: '#555555',
7564 formatter: function() {
7565 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7566 }
7567 },
7568 showInLegend: true
7569 }
7570 },
7571 series: [{
7572 type: 'pie',
7573 name: '',
7574 data: data_array
7575 }]
7576 });
7577 };
7578
7579 this.generatePieChartCountries = function(type) {
7580
7581 var $active_element = '',
7582 element_id = '';
7583 if(type == 'audio_analytics') {
7584
7585 $active_element = $("#ss_audio_countries_wrapper");
7586 element_id = 'graph_container2';
7587 }
7588 else if(type == 'website_analytics') {
7589
7590 $active_element = $("#ss_web_an_countries_wrapper");
7591 element_id = 'graph_container2_wa';
7592 }
7593
7594 var data_array = [];
7595 var points_count = $active_element.find(".ss_country_item").length;
7596
7597 if(points_count == undefined) {
7598
7599 $("#" + element_id).html('<div class="graph_no_data_wrapper">No data available for country statistics.</div>');
7600 return;
7601 }
7602
7603 $active_element.find(".ss_country_item").each(function(i) {
7604
7605 var $country_item = $(this);
7606
7607 var country = $country_item.data("country"),
7608 point_val = $country_item.data("val");
7609
7610 var c_array_item = [country, point_val];
7611
7612 data_array.push(c_array_item);
7613 });
7614
7615 var chart;
7616 chart = new Highcharts.Chart({
7617 colors: ["#9765bb", "#55BF3B", "#DF5353", "#aaeeee", "#ff0066", "#eeaaee",
7618 "#55BF3B", "#DF5353", "#9765bb", "#aaeeee"],
7619 chart: {
7620 renderTo: element_id,
7621 plotBackgroundColor: null,
7622 plotBorderWidth: null,
7623 plotShadow: false
7624 },
7625 title: {
7626 text: 'Country Statistics',
7627 style: {
7628 fontSize: "16px",
7629 fontWeight: "bold",
7630 color: "#999",
7631 shadow : true
7632 }
7633 },
7634 tooltip: {
7635 formatter: function() {
7636 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7637 }
7638 },
7639 plotOptions: {
7640 pie: {
7641 allowPointSelect: true,
7642 cursor: 'pointer',
7643 dataLabels: {
7644 enabled: true,
7645 color: '#444444',
7646 connectorColor: '#555555',
7647 formatter: function() {
7648 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7649 }
7650 },
7651 showInLegend: true
7652 }
7653 },
7654 series: [{
7655 type: 'pie',
7656 name: '',
7657 data: data_array
7658 }]
7659 });
7660 };
7661
7662 this.generatePieChartCities = function(type) {
7663
7664 var $active_element = '',
7665 element_id = '';
7666 if(type == 'audio_analytics') {
7667
7668 $active_element = $("#ss_audio_cities_wrapper");
7669 element_id = 'graph_container4';
7670 }
7671 else if(type == 'website_analytics') {
7672
7673 $active_element = $("#ss_web_an_cities_wrapper");
7674 element_id = 'graph_container4_wa';
7675 }
7676
7677 var data_array = [];
7678 var points_count = $active_element.find(".ss_city_item").length;
7679
7680 if(points_count == undefined) {
7681
7682 $("#" + element_id).html('<div class="graph_no_data_wrapper">No data available for cities statistics.</div>');
7683 return;
7684 }
7685
7686 $active_element.find(".ss_city_item").each(function(i) {
7687
7688 var $city_item = $(this);
7689
7690 var city = $city_item.data("city"),
7691 point_val = $city_item.data("val");
7692
7693 var c_array_item = [city, point_val];
7694
7695 data_array.push(c_array_item);
7696 });
7697
7698
7699 var chart;
7700 chart = new Highcharts.Chart({
7701 colors: ["#9765bb", "#55BF3B", "#DF5353", "#aaeeee", "#ff0066", "#eeaaee",
7702 "#55BF3B", "#DF5353", "#9765bb", "#aaeeee"],
7703 chart: {
7704 renderTo: element_id,
7705 plotBackgroundColor: null,
7706 plotBorderWidth: null,
7707 plotShadow: false
7708 },
7709 title: {
7710 text: 'City Statistics',
7711 style: {
7712 fontSize: "16px",
7713 fontWeight: "bold",
7714 color: "#999",
7715 shadow : true
7716 }
7717 },
7718 tooltip: {
7719 formatter: function() {
7720 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7721 }
7722 },
7723 plotOptions: {
7724 pie: {
7725 allowPointSelect: true,
7726 cursor: 'pointer',
7727 dataLabels: {
7728 enabled: true,
7729 color: '#444444',
7730 connectorColor: '#555555',
7731 formatter: function() {
7732 return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(2) +' %';
7733 }
7734 },
7735 showInLegend: true
7736 }
7737 },
7738 series: [{
7739 type: 'pie',
7740 name: '',
7741 data: data_array
7742 }]
7743 });
7744 };
7745
7746 this.resetPlayerWidgetSettings = function() {
7747
7748 var $player = $(".ss_voice_preview_widget_wrapper").find(".ssplayer_wrapper");
7749
7750 var $gsLanguageSelector = $("#lng_sel_wdg"),
7751 $gsVoiceSelector = $("#voice_sel_wdg");
7752
7753 var player_lang = $gsLanguageSelector.find("li.li_selected").data('val');
7754 var player_voice = $gsVoiceSelector.find('.li_selected').data('val');
7755
7756 var player_speed = $("#gsp_w_slider_speed").find('.gsp_value_label').val();
7757 var player_pitch = $("#gsp_w_slider_pitch").find('.gsp_value_label').val();
7758 var player_html = $(".voice_preview_data").data("preview_txt_ready");
7759
7760 if(player_lang == -1 || player_voice == undefined) {
7761 player_lang = "en-US";
7762 player_html = player_lang == -1 ? "Please choose language" : "Please choose voice";
7763 player_voice = "C-2";
7764 player_speed = 1;
7765 player_pitch = 0;
7766 }
7767
7768 $player.data("lang", player_lang);
7769 $player.data("voice", player_voice);
7770 $player.data("speed", player_speed);
7771 $player.data("pitch", player_pitch);
7772 $player.find(".ssplayer_audio_content").html(player_html);
7773
7774 if($player.find(".ssplayer_icon_bg").hasClass("ssplayer_loading")) {
7775 window.gspeech.showeAbortMessage = false;
7776 window.gspeech.request.abort();
7777 }
7778
7779 $player.find(".ssplayer_icon_bg").removeClass("ssplayer_play").removeClass("ssplayer_pause").removeClass("ssplayer_loading").addClass("ssplayer_speaker");
7780 $player.find(".ssplayer_txt_wrapper").removeClass("ssplayer_play").removeClass("ssplayer_pause").removeClass("ssplayer_loading").addClass("ssplayer_speaker");
7781
7782 $player.data('once_loaded', false);
7783 $player.data('cur_s', 0);
7784 $player.find('.sstimeline_active').width('0%');
7785 $player.find('.ss_time_start').html('0:00');
7786 $player.find('.ss_time_end').html('0:00');
7787
7788 var name_hash = $player.data("name_hash");
7789 if(name_hash != undefined) {
7790 var $playerElG = $('.' + name_hash).get(0);
7791 $playerElG.pause();
7792 $playerElG.currentTime = 0;
7793 }
7794 };
7795
7796 this.resetPlayerWidgetPreview = function() {
7797
7798 setTimeout(function() {
7799
7800 var $player;
7801 if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_0"))
7802 $player = $(".ss_full_player_preview").find(".ssplayer_wrapper");
7803 else if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_1"))
7804 $player = $(".ss_button_player_preview").find(".ssplayer_wrapper");
7805 else if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_2"))
7806 $player = $(".ss_circle_player_preview").find(".ssplayer_wrapper");
7807 else if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_3")) {
7808
7809 $player = $(".ssplayer_rht");
7810 $player.removeClass("ssplayer_display_none").addClass("rht_visible").addClass("ss_opacity_1").css({'top': 0,'left': 0});
7811 $(".ss_rht_player_preview").html($player);
7812
7813 // create languages object
7814 if($player.find(".ssplayer_lang_block").length) {
7815
7816 }
7817 }
7818
7819 var $gsLanguageSelector = $("#lng_sel_wdg"),
7820 $gsVoiceSelector = $("#voice_sel_wdg");
7821
7822 var player_lang = $gsLanguageSelector.find("li.li_selected").data('val'),
7823 player_voice = $gsVoiceSelector.find('.li_selected').data('val'),
7824 player_speed = $("#gsp_w_slider_speed").find('.gsp_value_label').val(),
7825 player_pitch = $("#gsp_w_slider_pitch").find('.gsp_value_label').val(),
7826 player_html = $(".voice_preview_data").data("preview_txt_ready");
7827
7828 var voice_unknown = false;
7829 if(player_voice == undefined) {
7830 player_lang = "en-US";
7831 player_html = "Please choose voice";
7832 player_voice = "C-2";
7833 player_speed = 1;
7834 player_pitch = 0;
7835 voice_unknown = true;
7836 }
7837
7838 $player.data("lang", player_lang);
7839 $player.data("voice", player_voice);
7840 $player.data("speed", player_speed);
7841 $player.data("pitch", player_pitch);
7842 $player.find(".ssplayer_audio_content").html(player_html);
7843
7844 if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_3")) {
7845
7846 $player.find(".ssplayer_txt_c span").html(player_html);
7847 var pl_id = $player.attr("id");
7848 $("#content_" + player_lang.split('-')[0] + "_" + pl_id).html(player_html);
7849
7850 $player.find('.ssplayer_volume_block').data('volume',100);
7851 $player.find('.ssplayer_speed_block').data('speed',1);
7852
7853 if($player.find(".ssplayer_lang_block").length) {
7854
7855 var lang_code = $gsLanguageSelector.find(".li_selected").data("val");
7856 var voices_data = $gsLanguageSelector.find(".li_selected").data("voices_data");
7857
7858 var sel_langs = lang_code + '|' + voices_data;
7859 sel_langs = sel_langs.replace(/:/g, '-');
7860
7861 if(voice_unknown && lang_code != 'en-US') {
7862
7863 lang_code = player_lang;
7864
7865 sel_langs += ';' + player_lang + '|A-2';
7866 }
7867
7868 var langsUl = window.gspeech.createLangsList(lang_code, sel_langs);
7869 $player.find('.ssplayer_lang_options').html(langsUl);
7870
7871 // $player.find(".ssplayer_lang_block").find('.sslang_sel').removeClass("sslang_sel").removeClass("ss_li_act");
7872 // $player.find(".ssplayer_lang_block").find('.option-' + player_lang).addClass("sslang_sel").addClass("ss_li_act");
7873 }
7874 }
7875
7876 // $player.data('once_loaded', false);
7877 // $player.data('cur_s', 0);
7878
7879
7880 // update classes
7881 var tmp_class = $("#wbs_template").find(".li_selected").data("val");
7882 var bg_class = $("#wbs_bg_class").find(".li_selected").data("val");
7883 var player_class = $player.attr("class");
7884
7885 //3.7.0
7886 var bg_icons_class = "";
7887 if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_0")) {
7888 if(thisPage.inArray(bg_class,['ss_bg_19','ss_bg_20','ss_bg_21','ss_bg_22','ss_bg_23','ss_bg_24','ss_bg_25','ss_bg_26','ss_bg_27','ss_bg_28','ss_bg_29','ss_bg_30','ss_bg_31','ss_bg_32','ss_bg_33','ss_bg_34','ss_bg_35','ss_bg_36','ss_bg_37','ss_bg_38']))
7889 bg_icons_class = 'ss_bg_scheme_gray';
7890 else if(thisPage.inArray(bg_class,['ss_bg_18','ss_bg_39','ss_bg_40','ss_bg_41','ss_bg_42','ss_bg_43','ss_bg_44']))
7891 bg_icons_class = 'ss_bg_scheme_violet';
7892 else if(thisPage.inArray(bg_class,['ss_bg_45','ss_bg_46','ss_bg_47','ss_bg_48','ss_bg_49','ss_bg_50','ss_bg_51']))
7893 bg_icons_class = 'ss_bg_scheme_pink';
7894 else if(thisPage.inArray(bg_class,['ss_bg_52','ss_bg_53','ss_bg_54','ss_bg_55','ss_bg_56','ss_bg_57']))
7895 bg_icons_class = 'ss_bg_scheme_red';
7896 else if(thisPage.inArray(bg_class,['ss_bg_58','ss_bg_59','ss_bg_60','ss_bg_61','ss_bg_62','ss_bg_63','ss_bg_64','ss_bg_65','ss_bg_66','ss_bg_67']))
7897 bg_icons_class = 'ss_bg_scheme_blue';
7898 else if(thisPage.inArray(bg_class,['ss_bg_68','ss_bg_69','ss_bg_70','ss_bg_71']))
7899 bg_icons_class = 'ss_bg_scheme_brown';
7900 else if(thisPage.inArray(bg_class,['ss_bg_72','ss_bg_73','ss_bg_74','ss_bg_75']))
7901 bg_icons_class = 'ss_bg_scheme_green';
7902 else if(thisPage.inArray(bg_class,['ss_bg_76','ss_bg_77','ss_bg_78']))
7903 bg_icons_class = 'ss_bg_scheme_yellow';
7904 else if(thisPage.inArray(bg_class,['ss_bg_79','ss_bg_80','ss_bg_81','ss_bg_82','ss_bg_83','ss_bg_84','ss_bg_85']))
7905 bg_icons_class = 'ss_bg_scheme_wood';
7906
7907 player_class = player_class.replace(/ss_bg_scheme_[a-z]+/, bg_icons_class);
7908 }
7909
7910 player_class = player_class.replace(/sstemplate_[0-9]+/, tmp_class);
7911 player_class = player_class.replace(/ss_bg_[0-9]+/, bg_class);
7912
7913 $player.attr("class", player_class);
7914
7915 if(bg_icons_class != "") {
7916 if(!$player.hasClass(bg_icons_class))
7917 $player.addClass(bg_icons_class);
7918 }
7919
7920 // update width/height if needed
7921 var width = $("#ss_width").val();
7922 if(!$(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_3"))
7923 $player.width(width);
7924 if($(".gsp_left_m_c_active .dashboard_content").hasClass("ss_dash_page_type_2"))
7925 $player.height(width);
7926
7927 }, 200);
7928 };
7929
7930 this.processVoiceWidgetSettings = function() {
7931
7932 this.updateVoiceWidgetSettings();
7933
7934 setTimeout(function(){
7935
7936 this.resetPlayerWidgetSettings();
7937 }.bind(this), 400);
7938 };
7939
7940 this.updateVoiceWidgetSettings = function() {
7941
7942 var $this = this;
7943
7944 var $gsLanguageSelector = $("#lng_sel_wdg"),
7945 $gsVoiceSelector = $("#voice_sel_wdg"),
7946 $gsMultipleVoiceSelector = $("#wbs_w_multiple_voices");
7947
7948 var lang_code = $gsLanguageSelector.find("li.li_selected").data('val'),
7949 voices_data = $gsLanguageSelector.find("li.li_selected").data('voices_data'),
7950 plan_id = $("#ss_widget_page_data").data("website_plan"),
7951 voice_code_sel = $gsVoiceSelector.data('sel_voice'),
7952 voice_code_sel_multiple = $gsMultipleVoiceSelector.data('sel_voice'),
7953 def_txt_voice = $gsVoiceSelector.data("def_txt"),
7954 def_txt_m_voices = $gsMultipleVoiceSelector.data("def_txt"),
7955 saved_language = $gsLanguageSelector.data('val');
7956
7957 voice_code_sel = saved_language == lang_code ? voice_code_sel : '';
7958 voice_code_sel_multiple = saved_language == lang_code ? voice_code_sel_multiple : '';
7959
7960 var voice_options = $this.generateVoices(voices_data, lang_code);
7961
7962 $gsVoiceSelector.find('.items_select_ul').html(voice_options);
7963
7964 // set selection
7965 if(voice_code_sel != '') {
7966 $gsVoiceSelector.find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_ul_li_act");
7967 var voice_cont_val = $gsVoiceSelector.find(".li_selected span").html();
7968
7969 var sel_voice_data = $gsVoiceSelector.find(".li_selected").data("val");
7970 var sel_voice_data_p = sel_voice_data.split('-');
7971 var sel_voice_type = sel_voice_data_p[1] != undefined ? sel_voice_data_p[1] : 0;
7972 }
7973 else {
7974 var voice_cont_val = def_txt_voice;
7975 var sel_voice_type = 0;
7976 }
7977 $gsVoiceSelector.find('.items_select_filter_content span').html(voice_cont_val);
7978
7979 if(sel_voice_type != 2 && sel_voice_type != 5 && sel_voice_type != 7)
7980 $(".gsp_left_m_c_active .gsp_option_disable_switcher").addClass("gsp_option_disabled");
7981 else
7982 $(".gsp_left_m_c_active .gsp_option_disable_switcher").removeClass("gsp_option_disabled");
7983
7984 // multiple voices
7985 if(plan_id != 0 && $('#wbs_w_voice_enabled').find(".li_selected").data("val") == 1) {
7986
7987 $gsMultipleVoiceSelector.find('.items_select_ul').html(voice_options);
7988
7989 if(voice_code_sel != "")
7990 $gsMultipleVoiceSelector.find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
7991
7992 var voice_cont_val = '';
7993
7994 if(voice_code_sel_multiple != '' && voice_code_sel_multiple != -1) {
7995
7996 var sel_codes_array = voice_code_sel_multiple.split(',');
7997
7998 $gsMultipleVoiceSelector.find('.search_li').each(function() {
7999
8000 var d_val = $(this).data("val"),
8001 d_name = $(this).find("span").html();
8002
8003 if(thisPage.inArray(d_val,sel_codes_array)) {
8004
8005 $(this).addClass("li_selected").addClass("ss_ul_li_act");
8006 voice_cont_val += voice_cont_val == '' ? d_name : ', ' + d_name;
8007 }
8008 });
8009 }
8010 else{
8011
8012 if(!$gsMultipleVoiceSelector.find('.li_selected').length)
8013 voice_cont_val = def_txt_m_voices;
8014 else
8015 voice_cont_val = $gsMultipleVoiceSelector.find('.li_selected span').html();
8016 }
8017
8018 $gsMultipleVoiceSelector.find('.items_select_filter_content span').html(voice_cont_val);
8019 }
8020
8021 // set preview audios
8022 // $gsVoiceSelector.find(".search_li").each(function() {
8023
8024 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
8025 // });
8026 // $gsMultipleVoiceSelector.find(".search_li").each(function() {
8027
8028 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
8029 // });
8030
8031 // make languages corrections
8032 $('.gsp_left_m_c_active .ss_tr_block_hardcoded').find('.ss_option_hardcoded').removeClass("ss_option_hardcoded");
8033 $('.gsp_left_m_c_active .ss_tr_block_hardcoded').removeClass("ss_tr_block_hardcoded").find('.ss_checkbox_wrapper').removeClass("ss_disabled");
8034 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).addClass("ss_tr_block_hardcoded").find('.ss_checkbox_wrapper').addClass("ss_checked").addClass("ss_disabled");
8035 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).find(".ss_tr_line2").addClass("ss_tr_line2_v").addClass("ss_ov_v");
8036
8037 // sync voice with translation block
8038 if(voice_code_sel != "") {
8039 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
8040 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
8041 }
8042 var voice_cont_val = '';
8043 if(voice_code_sel_multiple != '' && voice_code_sel_multiple != -1) {
8044
8045 var sel_codes_array = voice_code_sel_multiple.split(',');
8046
8047 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).find('.search_li').each(function() {
8048
8049 var d_val = $(this).data("val"),
8050 d_name = $(this).find("span").html();
8051
8052 if(thisPage.inArray(d_val,sel_codes_array)) {
8053
8054 $(this).addClass("li_selected").addClass("ss_ul_li_act");
8055 voice_cont_val += voice_cont_val == '' ? d_name : ', ' + d_name;
8056 }
8057 });
8058 }
8059 else {
8060 voice_cont_val = $(".ss_lang_holder_" + lang_code).find("li_selected span").html();
8061 }
8062 $(".gsp_left_m_c_active .ss_lang_holder_" + lang_code).find('.items_select_filter_content span').html(voice_cont_val);
8063
8064 thisPage.generateWrapperHeight();
8065
8066 // add disabled class
8067 if(plan_id == 0) {
8068 $("#voice_sel_wdg").find(".ss_voice_type_1").addClass("ss_disabled");
8069 $("#voice_sel_wdg").find(".ss_voice_type_2").addClass("ss_disabled");
8070 $("#voice_sel_wdg").find(".ss_voice_type_3").addClass("ss_disabled");
8071 $("#voice_sel_wdg").find(".ss_voice_type_4").addClass("ss_disabled");
8072 $("#voice_sel_wdg").find(".ss_voice_type_5").addClass("ss_disabled");
8073 }
8074 };
8075
8076 this.createTranslationListWidget = function() {
8077
8078 var $this = this;
8079
8080 var $lng_sel = $("#ss_w_translation_options");
8081
8082 if(!$lng_sel.length)
8083 return;
8084
8085 var appsumo = 0;
8086 const $appsumoElement = $("#gsp_appsumo");
8087 if ($appsumoElement.length) {
8088 appsumo = parseInt($appsumoElement.html(), 10) || 0;
8089 }
8090
8091 var sel_lang_code = $lng_sel.data("val"),
8092 langs = this.langsObj,
8093 langs_html = '<div class="ss_langs_opt">',
8094 l_c = langs.length,
8095 p_s = parseInt(l_c / 4) + 1;
8096 for(var t = 0;t < langs.length;t++) {
8097
8098 var k1 = langs[t],
8099 l_name = k1["name"];
8100
8101 var voice_options = this.generateVoices(k1["voice_data"], k1["value"], appsumo);
8102
8103 var l_item = '<div class="ss_translation_item ss_lang_holder_'+k1["value"]+'" data-voices_data="'+k1["voice_data"]+'" data-val="'+k1["value"]+'">';
8104 l_item += '<div class="ss_tr_line1">';
8105 l_item += '<span class="ss_checkbox_wrapper"><span class="ss_checkbox_line1"></span><span class="ss_checkbox_line2"></span><span class="ss_checkbox_ripple"></span><span class="ss_checkbox_bg"></span></span>';
8106 l_item += '<span class="ss_checkbox_label">'+l_name+'</span>';
8107 l_item += '</div>';
8108 l_item += '<div class="ss_tr_line2">';
8109 l_item +=
8110 `
8111 <div class="items_select_filter_wrapper ss_select_multiple ss_audio_holder" data-sel_voice="" data-def_txt="Select voices">
8112 <div class="items_select_filter">
8113 <div class="items_select_filter_content"><span>Select voices</span></div>
8114 <div class="items_select_filter_icon_wrapper">
8115 <div class="items_select_filter_icon_holder">
8116 <div class="items_select_filter_icon_inner">
8117 <span class="items_select_filter_icon">
8118 <svg class="" aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"></path></svg>
8119 </span>
8120 </div>
8121 </div>
8122 </div>
8123 <div class="items_select_ul_wrapper">
8124 <div class="items_select_ul_holder">
8125 <div class="items_select_ul_inner">
8126 <ul class="items_select_ul">`+voice_options+`</ul>
8127 </div>
8128 </div>
8129 </div>
8130 </div>
8131 </div>
8132 `;
8133 l_item += '</div>';
8134 l_item += '</div>';
8135
8136 if(voice_options != "")
8137 langs_html += l_item;
8138
8139 if(t != 0 && t % p_s == 0)
8140 langs_html += '</div><div class="ss_langs_opt">';
8141 }
8142 langs_html += '</div>';
8143
8144 $lng_sel.html(langs_html);
8145
8146 // set preview audios
8147 $(".ss_translation_item").each(function() {
8148
8149 var lng_val = $(this).data("val");
8150
8151 // $(this).find(".search_li").each(function() {
8152
8153 // var voice_val = $(this).data("val"),
8154 // audio_hash = $this.preview_audios[lng_val][voice_val];
8155
8156 // $(this).data('name_hash',audio_hash);
8157 // });
8158 });
8159
8160 // set selection
8161 var sel_langs = $("#ss_w_translation_options").data("sel_langs");
8162 var sel_lang_global = $("#lng_sel_wdg").data("val");
8163 if(sel_langs == '')
8164 sel_langs = sel_lang_global;
8165
8166 var sel_langs_array = sel_langs.split(';');
8167 for(let t=0;t<sel_langs_array.length;t++) {
8168
8169 let sel_l_itm = sel_langs_array[t],
8170 sel_l_data = sel_l_itm.split('|'),
8171 s_l = sel_l_data[0],
8172 s_v_data = sel_l_data.length > 1 ? sel_l_data[1] : '';
8173
8174 let $s_item = $('.ss_lang_holder_' + s_l);
8175 $s_item.find(".ss_tr_line2").addClass("ss_tr_line2_v").addClass("ss_ov_v");
8176 $s_item.find(".ss_checkbox_wrapper").addClass("ss_checked");
8177
8178 // correction
8179 thisPage.createTranslationBlockPreviewTxt($s_item);
8180
8181 // set voices
8182 if(s_v_data != '') {
8183
8184 let s_v_array = s_v_data.split(','),
8185 v_c_val = '';
8186 for(let q=0;q<s_v_array.length;q++) {
8187
8188 let v_item = s_v_array[q];
8189 $s_item.find('.option-' + v_item).addClass("li_selected").addClass("ss_ul_li_act");
8190
8191 v_c_val += $s_item.find('.option-' + v_item).find("span").html() + ', ';
8192 }
8193 v_c_val = v_c_val.slice(0, -2);
8194 $s_item.find('.items_select_filter_content span').addClass("ss_processed74").html(v_c_val);
8195 }
8196 }
8197
8198 // set disabled classes
8199 $(".ss_lang_holder_" + sel_lang_global).addClass("ss_tr_block_hardcoded").find(".ss_checkbox_wrapper").addClass("ss_disabled");
8200
8201 // set voice
8202 let sel_v = $("#wbs_w_multiple_voices").data("sel_voice");
8203 if(sel_v != "" && sel_v != undefined) {
8204 $(".ss_lang_holder_" + sel_lang_global).find('.option-' + sel_v).addClass("li_selected").addClass("ss_ul_li_act").addClass("ss_option_hardcoded");
8205
8206 let $c_c = $(".ss_lang_holder_" + sel_lang_global).find('.items_select_filter_content span');
8207 let v_c = $(".ss_lang_holder_" + sel_lang_global).find('.li_selected span').html();
8208
8209 if(!$c_c.hasClass("ss_processed74"))
8210 $c_c.html(v_c);
8211 }
8212
8213 this.generateWrapperHeight();
8214 };
8215
8216 this.createLangsListWidget = function() {
8217
8218 var appsumo = 0;
8219 var user_plan = 0;
8220 const $gsp_appsumo = $("#gsp_appsumo");
8221 const $gsp_plan = $("#gsp_plan");
8222 if ($gsp_appsumo.length) {
8223 appsumo = parseInt($gsp_appsumo.html(), 10) || 0;
8224 }
8225 if ($gsp_plan.length) {
8226 user_plan = parseInt($gsp_plan.html(), 10) || 0;
8227 }
8228
8229 var appsumo_blocked_langs = [];
8230 var appsumo_tier1_blocked_langs = ['eu-ES','gl-ES','lt-LT','yue-HK','hy','be','kk','mk','mi','fa','pa-Arab','sl'];
8231 var free_plan_blocked_langs = ['hy','be','eu-ES','gl-ES','kk','lt-LT','mk','mi','fa','pa-Arab','sl','yue-HK'];
8232
8233 var $lng_sel = $("#lng_sel_wdg");
8234
8235 if(!$lng_sel.length || $lng_sel.data("lng_processed") == 1)
8236 return;
8237
8238 $lng_sel.data("lng_processed", 1);
8239
8240 var langs = this.langsObj;
8241
8242 var langs_html = '';
8243 for(var t = 0;t < langs.length;t++) {
8244
8245 var k1 = langs[t],
8246 l_name = k1["name"],
8247 voice_data = k1["voice_data"],
8248 audios_obj = k1["audios"];
8249
8250 var lang_restricted = false;
8251 if(appsumo == 1 && thisPage.inArray(k1["value"],appsumo_blocked_langs)) {
8252 lang_restricted = true;
8253 }
8254
8255 if(appsumo == 1 && user_plan == 1 && thisPage.inArray(k1["value"],appsumo_tier1_blocked_langs)) {
8256 lang_restricted = true;
8257 }
8258
8259 if(user_plan == 0 && thisPage.inArray(k1["value"],free_plan_blocked_langs))
8260 lang_restricted = true;
8261
8262 this.preview_audios[k1["value"]] = audios_obj;
8263
8264 if(!lang_restricted)
8265 langs_html += '<li class="search_li" data-val="'+k1["value"]+'" data-voices_data="'+voice_data+'"><span>'+l_name+'</span></li>';
8266 }
8267
8268 $lng_sel.find(".items_select_ul").html(langs_html);
8269 };
8270
8271 this.setValsWidgets = function() {
8272
8273 var $langs = this.langsObj;
8274
8275 $(".gsp_left_m_c_active .item_row_item_lang").each(function() {
8276 var val = $(this).html();
8277
8278 var s_lang = "";
8279 for(var t = 0;t<$langs.length - 1;t++) {
8280
8281 var itm_val = $langs[t]["value"],
8282 itm_name = $langs[t]["name"];
8283
8284 if(itm_val == val)
8285 s_lang = itm_name;
8286 }
8287
8288 // Update lang_val to lang_name
8289 $(this).html(s_lang);
8290
8291 var $voice_item = $(this).parents(".item_item").find('.item_row_item_voice'),
8292 voice_val = $voice_item.html(),
8293 voice_name = thisPage.generateVoiceName(voice_val.split('-')[0],val,voice_val.split('-')[1]);
8294
8295 // Update voice val to name
8296 $voice_item.html(voice_name);
8297 });
8298 };
8299
8300 this.setValsAudios = function() {
8301
8302 var $langs = this.langsObj;
8303
8304 $(".gsp_left_m_c_active .item_row_item_lang").each(function() {
8305 var val = $(this).html();
8306
8307 var s_lang = "";
8308 for(var t = 0;t<$langs.length - 1;t++) {
8309
8310 var itm_val = $langs[t]["value"],
8311 itm_name = $langs[t]["name"];
8312
8313 if(itm_val == val)
8314 s_lang = itm_name;
8315 }
8316
8317 // Update lang_val to lang_name
8318 $(this).html(s_lang);
8319
8320 var $voice_item = $(this).parents(".item_item").find('.item_row_item_voice'),
8321 voice_val = $voice_item.html(),
8322 voice_name = thisPage.generateVoiceName(voice_val.split('-')[0],val,voice_val.split('-')[1]);
8323
8324 // Update voice val to name
8325 $voice_item.html(voice_name);
8326 });
8327 };
8328
8329 this.setValsWebsiteSettings = function(website_data) {
8330
8331 var website_title = decodeURIComponent(website_data.name);
8332 var website_css = website_data.css;
8333 var website_js = website_data.js;
8334 var website_aliases = website_data.aliases;
8335 var website_url = decodeURIComponent(website_data.url);
8336 var website_options_str = decodeURIComponent(website_data.options);
8337 var plan_commercial_option = decodeURIComponent(website_data.plan_commercial_option);
8338 var website_state = parseInt(website_data.state);
8339 var website_lang = website_data.language;
8340 var website_voice = website_data.voice;
8341 var website_plan = parseInt(website_data.plan);
8342 var user_plan = parseInt(website_data.user_plan);
8343 var speed = website_data.speed;
8344 var pitch = website_data.pitch;
8345 var widget_id = this.options.widget_id;
8346
8347 // chars info
8348 var chars_info = website_data.chars_info;
8349 var chars_info_spl = chars_info.split(':');
8350 var char_info_0 = chars_info_spl[0];
8351 var char_info_1 = chars_info_spl[1] != undefined ? chars_info_spl[1] : '';
8352 var char_info_2 = chars_info_spl[2] != undefined ? chars_info_spl[2] : '';
8353 var char_info_3 = chars_info_spl[3] != undefined ? chars_info_spl[3] : '';
8354 var char_info_4 = chars_info_spl[4] != undefined ? chars_info_spl[4] : '';
8355 var char_info_5 = chars_info_spl[5] != undefined ? chars_info_spl[5] : '';
8356 var char_info_6 = chars_info_spl[6] != undefined ? chars_info_spl[6] : '';
8357 var char_info_7 = chars_info_spl[7] != undefined ? chars_info_spl[7] : '';
8358 var char_info_8 = chars_info_spl[8] != undefined ? chars_info_spl[8] : '';
8359
8360 $('.gsp_chars_plan_title').html(char_info_0);
8361 $('.gsp_chars_itm_1').html(char_info_1);
8362 $('.gsp_chars_itm_2').html(char_info_8);
8363 $('.gsp_chars_itm_3').html(char_info_3);
8364 $('.gsp_chars_itm_4').html(char_info_5);
8365 $('.gsp_chars_itm_5').html(char_info_6);
8366 $('.gsp_chars_itm_6').html(char_info_7);
8367 $('.gsp_chars_count_progress').width(char_info_4 + '%');
8368
8369 $("#dashboard_content").addClass('ss_user_plan_' + website_plan);
8370
8371 $("#ss_website_title").val(website_title);
8372 $("#ss_website_url").val(website_url);
8373 $("#ss_website_widget_id").val(widget_id);
8374
8375 var website_options = {};
8376 if(website_options_str != "") {
8377
8378 var website_options_array = website_options_str.split("&");
8379 website_options_array.forEach(function(option_item, i) {
8380 var opt_data = option_item.split("=");
8381 website_options[opt_data[0]] = opt_data[1];
8382 });
8383
8384 if(website_options["auto_enable"] == undefined)
8385 website_options["auto_enable"] = 1;
8386 if(website_options["show_on_homepage"] == undefined)
8387 website_options["show_on_homepage"] = 0;
8388 if(website_options["multilang_website"] == undefined)
8389 website_options["multilang_website"] = 0;
8390 if(website_options["read_titles"] == undefined)
8391 website_options["read_titles"] = 1;
8392 if(website_options["affiliate"] == undefined)
8393 website_options["affiliate"] = 1;
8394 if(website_options["onfly"] == undefined)
8395 website_options["onfly"] = 0;
8396
8397 if(website_options["post_types"] == undefined)
8398 website_options["post_types"] = "all";
8399 if(website_options["categories"] == undefined)
8400 website_options["categories"] = "all";
8401
8402 if(website_options["exclude_list"] == undefined)
8403 website_options["exclude_list"] = "";
8404 if(website_options["allowed_urls"] == undefined)
8405 website_options["allowed_urls"] = "";
8406 if(website_options["blocked_urls"] == undefined)
8407 website_options["blocked_urls"] = "";
8408 }
8409 else {
8410 website_options["speed_enabled"] = 1;
8411 website_options["volume_enabled"] = 1;
8412 website_options["voice_enabled"] = website_plan == 0 ? 0 : 1;
8413 website_options["lang_enabled"] = website_plan == 0 ? 0 : 1;
8414 website_options["text_enabled"] = website_plan == 0 ? 0 : 1;
8415 website_options["download_enabled"] = website_plan == 0 ? 0 : 1;
8416 website_options["context_enabled"] = website_plan == 0 ? 0 : 1;
8417 website_options["plays_enabled"] = website_plan == 0 ? 0 : 1;
8418 website_options["appear_class"] = "ss_fade";
8419 website_options["sel_langs"] = "";
8420 website_options["sel_voices"] = "";
8421 website_options["lazy_load"] = 1;
8422
8423 website_options["auto_enable"] = 1;
8424 website_options["show_on_homepage"] = 0;
8425 website_options["multilang_website"] = 0;
8426 website_options["read_titles"] = 1;
8427 website_options["affiliate"] = 1;
8428 website_options["onfly"] = 0;
8429
8430 website_options["post_types"] = "all";
8431 website_options["categories"] = "all";
8432
8433 website_options["exclude_list"] = "";
8434 website_options["allowed_urls"] = "";
8435 website_options["blocked_urls"] = "";
8436 }
8437
8438 $("#wbs_appear_class").find(".ss_li_" + website_options["appear_class"]).addClass("li_selected").addClass("ss_ul_li_act");
8439 $("#wbs_appear_class").find(".items_select_filter_content span").html($("#wbs_appear_class").find(".li_selected span").html());
8440
8441 $("#wbs_voice").data("sel_voice", website_options["sel_voices"]);
8442 $("#wbs_voice").data("val", website_voice);
8443 $("#wbs_multiple_voices").data("sel_voice", website_options["sel_voices"]);
8444 $("#ss_translation_options").data("sel_langs", website_options["sel_langs"]);
8445
8446 if(website_state == 1) {
8447 $("#wbs_status").addClass("gs_mono_switcher_button_on");
8448 $("#wbs_status").find(".gs_mono_checkbox").prop("checked",true);
8449 }
8450 if(website_state == 2) {
8451 $("#wbs_status").addClass("ss_disabled");
8452 }
8453 if(website_options["speed_enabled"] == 1) {
8454 $("#wbs_speed_enabled").addClass("gs_mono_switcher_button_on");
8455 $("#wbs_speed_enabled").find(".gs_mono_checkbox").prop("checked",true);
8456 }
8457 if(website_options["volume_enabled"] == 1) {
8458 $("#wbs_volume_enabled").addClass("gs_mono_switcher_button_on");
8459 $("#wbs_volume_enabled").find(".gs_mono_checkbox").prop("checked",true);
8460 }
8461 if(website_options["lang_enabled"] == 1) {
8462 $("#wbs_lang_enabled").addClass("gs_mono_switcher_button_on");
8463 $("#wbs_lang_enabled").find(".gs_mono_checkbox").prop("checked",true);
8464
8465 $("#ss_translation_options").removeClass("ss_display_none");
8466 thisPage.generateWrapperHeight();
8467 }
8468 else {
8469 $("#wbs_lang_enabled").removeClass("gs_mono_switcher_button_on");
8470 $("#wbs_lang_enabled").find(".gs_mono_checkbox").prop("checked",false);
8471
8472 $("#ss_translation_options").addClass("ss_display_none").addClass("gago");
8473 // thisPage.generateWrapperHeight();
8474 }
8475 if(website_options["voice_enabled"] == 1) {
8476 $("#wbs_voice_enabled").addClass("gs_mono_switcher_button_on");
8477 $("#wbs_voice_enabled").find(".gs_mono_checkbox").prop("checked",true);
8478
8479 $("#wbs_multiple_voices").removeClass("ss_disabled");
8480 }
8481 if(website_options["text_enabled"] == 1) {
8482 $("#wbs_text_enabled").addClass("gs_mono_switcher_button_on");
8483 $("#wbs_text_enabled").find(".gs_mono_checkbox").prop("checked",true);
8484 }
8485 if(website_options["download_enabled"] == 1) {
8486 $("#wbs_download_enabled").addClass("gs_mono_switcher_button_on");
8487 $("#wbs_download_enabled").find(".gs_mono_checkbox").prop("checked",true);
8488 }
8489 if(website_options["context_enabled"] == 1) {
8490 $("#wbs_context_enabled").addClass("gs_mono_switcher_button_on");
8491 $("#wbs_context_enabled").find(".gs_mono_checkbox").prop("checked",true);
8492 }
8493 if(website_options["plays_enabled"] == 1) {
8494 $("#wbs_plays_enabled").addClass("gs_mono_switcher_button_on");
8495 $("#wbs_plays_enabled").find(".gs_mono_checkbox").prop("checked",true);
8496 }
8497 if(website_options["lazy_load"] == 1 || website_options["lazy_load"] == undefined) {
8498 $("#wbs_lazy_load").addClass("gs_mono_switcher_button_on");
8499 $("#wbs_lazy_load").find(".gs_mono_checkbox").prop("checked",true);
8500 }
8501 if(website_options["reload_session"] == 1) {
8502 $("#wbs_reload_session").addClass("gs_mono_switcher_button_on");
8503 $("#wbs_reload_session").find(".gs_mono_checkbox").prop("checked",true);
8504 }
8505
8506 // 3.9.0
8507 if(website_options["auto_enable"] == 1) {
8508 $("#wbs_auto_enable").addClass("gs_mono_switcher_button_on");
8509 $("#wbs_auto_enable").find(".gs_mono_checkbox").prop("checked",true);
8510 }
8511 else {
8512 $("#wbs_auto_enable").removeClass("gs_mono_switcher_button_on");
8513 $("#wbs_auto_enable").find(".gs_mono_checkbox").prop("checked",false);
8514 }
8515
8516 if(website_options["show_on_homepage"] == 1) {
8517 $("#wbs_show_on_homepage").addClass("gs_mono_switcher_button_on");
8518 $("#wbs_show_on_homepage").find(".gs_mono_checkbox").prop("checked",true);
8519 }
8520 else {
8521 $("#wbs_show_on_homepage").removeClass("gs_mono_switcher_button_on");
8522 $("#wbs_show_on_homepage").find(".gs_mono_checkbox").prop("checked",false);
8523 }
8524
8525 if(website_options["multilang_website"] == 1) {
8526 $("#wbs_multilang_website").addClass("gs_mono_switcher_button_on");
8527 $("#wbs_multilang_website").find(".gs_mono_checkbox").prop("checked",true);
8528 }
8529 else {
8530 $("#wbs_multilang_website").removeClass("gs_mono_switcher_button_on");
8531 $("#wbs_multilang_website").find(".gs_mono_checkbox").prop("checked",false);
8532 }
8533
8534 if(website_options["read_titles"] == 1) {
8535 $("#wbs_read_titles").addClass("gs_mono_switcher_button_on");
8536 $("#wbs_read_titles").find(".gs_mono_checkbox").prop("checked",true);
8537 }
8538 else {
8539 $("#wbs_read_titles").removeClass("gs_mono_switcher_button_on");
8540 $("#wbs_read_titles").find(".gs_mono_checkbox").prop("checked",false);
8541 }
8542
8543 if(website_options["affiliate"] == 1) {
8544 $("#wbs_affiliate").addClass("gs_mono_switcher_button_on");
8545 $("#wbs_affiliate").find(".gs_mono_checkbox").prop("checked",true);
8546 }
8547 else {
8548 $("#wbs_affiliate").removeClass("gs_mono_switcher_button_on");
8549 $("#wbs_affiliate").find(".gs_mono_checkbox").prop("checked",false);
8550 }
8551
8552 if(website_options["onfly"] == 1) {
8553 $("#wbs_onfly").addClass("gs_mono_switcher_button_on");
8554 $("#wbs_onfly").find(".gs_mono_checkbox").prop("checked",true);
8555 }
8556 else {
8557 $("#wbs_onfly").removeClass("gs_mono_switcher_button_on");
8558 $("#wbs_onfly").find(".gs_mono_checkbox").prop("checked",false);
8559 }
8560
8561 if(website_options["post_types"] != "") {
8562
8563 // remove selection
8564 $("#gsp_post_types").find(".li_selected").removeClass("li_selected");
8565
8566 // set selection
8567 var post_types_arr = website_options["post_types"].split(',');
8568
8569 var sel_htm = '';
8570
8571 for(var q=0;q<post_types_arr.length;q++) {
8572
8573 var val = post_types_arr[q];
8574
8575 $("#gsp_post_types").find(".search_li").each(function() {
8576
8577 if($(this).data("val") == val) {
8578
8579 if(sel_htm != "") {
8580 sel_htm += ", ";
8581 }
8582 var piece_v = $(this).find("span").html();
8583 sel_htm += piece_v;
8584
8585 $(this).addClass("li_selected");
8586 }
8587
8588 });
8589 }
8590 $("#gsp_post_types").find(".items_select_filter_content span").html(sel_htm);
8591 }
8592
8593 if(website_options["categories"] != "") {
8594
8595 // remove selection
8596 $("#gsp_categories").find(".li_selected").removeClass("li_selected");
8597
8598 // set selection
8599 var post_types_arr = website_options["categories"].split(',');
8600
8601 var sel_htm = '';
8602
8603 for(var q=0;q<post_types_arr.length;q++) {
8604
8605 var val = post_types_arr[q];
8606
8607 $("#gsp_categories").find(".search_li").each(function() {
8608
8609 if($(this).data("val") == val) {
8610
8611 if(sel_htm != "") {
8612 sel_htm += ", ";
8613 }
8614 var piece_v = $(this).find("span").html();
8615 sel_htm += piece_v;
8616
8617 $(this).addClass("li_selected");
8618 }
8619
8620 });
8621 }
8622 $("#gsp_categories").find(".items_select_filter_content span").html(sel_htm);
8623 }
8624
8625 if(website_options["exclude_list"] != "") {
8626 $("#ss_website_exclude_list").val(website_options["exclude_list"]);
8627 }
8628
8629 if(website_options["allowed_urls"] != "") {
8630 $("#ss_wbs_allowed_urls").val(decodeURIComponent(website_options["allowed_urls"]));
8631 }
8632
8633 if(website_options["blocked_urls"] != "") {
8634 $("#ss_wbs_blocked_urls").val(decodeURIComponent(website_options["blocked_urls"]));
8635 }
8636
8637 if(website_js != "")
8638 $("#ss_custom_js").val(website_js);
8639
8640 if(website_css != "")
8641 $("#ss_custom_css").val(website_css);
8642
8643 if(website_aliases != "")
8644 $("#ss_aliases").val(website_aliases);
8645
8646 if(website_plan == 0) {
8647
8648 $(".ss_commercial_switcher").removeClass("gs_mono_switcher_button_on").addClass("ss_disabled");
8649 $(".ss_commercial_switcher").find(".gs_mono_checkbox").prop("checked",false);
8650
8651 $(".ss_commercial_switcher.opts_input").attr("readonly", true);
8652 }
8653
8654 // website plan
8655 if(plan_commercial_option != "") {
8656
8657 $("#wbs_plan").find('.items_select_ul').html(plan_commercial_option);
8658
8659 $("#wbs_plan").find(".li_selected").removeClass("li_selected").removeClass("ss_ul_li_act");
8660 $("#wbs_plan").find(".search_li.user_plan_" + website_plan).addClass("li_selected").addClass("ss_ul_li_act");
8661
8662 var op_v = $("#wbs_plan").find(".li_selected span").html();
8663 $("#wbs_plan").find(".items_select_filter_content span").html(op_v);
8664 }
8665
8666 if(website_plan != 0) {
8667
8668 $("#wbs_voice").find(".ss_disabled").removeClass("ss_disabled");
8669 $("#wbs_multiple_voices").removeClass("ss_disabled");
8670 $("#ss_translation_options .items_select_filter_wrapper .search_li").removeClass("ss_disabled");
8671
8672 var m_v_title = $("#wbs_voice").find(".li_selected").length ? $("#wbs_voice").find(".li_selected span").html() : $("#wbs_multiple_voices").data("def_txt");
8673 $("#wbs_multiple_voices").find(".items_select_filter_content span").html(m_v_title);
8674 $("#wbs_multiple_voices").find(".items_select_ul").html($("#wbs_voice").find(".items_select_ul").html());
8675
8676 $(".ss_commercial_switcher").removeClass("ss_disabled");
8677 $(".ss_locked_icon").addClass("ss_display_none");
8678
8679 // $("#ss_translation_options").removeClass("ss_display_none");
8680
8681 var $gsLanguageSelector = $("#lng_sel"),
8682 $gsVoiceSelector = $("#wbs_voice"),
8683 $gsMultipleVoiceSelector = $("#wbs_multiple_voices");
8684
8685 // setTimeout(function() {
8686
8687 // var lang_code = $gsLanguageSelector.find("li.li_selected").data('val');
8688
8689 // $gsMultipleVoiceSelector.find(".search_li").each(function() {
8690
8691 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
8692 // });
8693 // }, 800);
8694 }
8695
8696 // create langs
8697 this.createLangsListWebsiteSettings(website_lang);
8698
8699 $("#lng_sel").data("val", website_lang);
8700
8701 // process voice
8702 this.processVoiceWebsiteSettings(website_voice);
8703
8704 this.createTranslationListWebsiteSettings();
8705
8706 speed = speed + '.00';
8707 pitch = pitch + '.00';
8708
8709 var slider_callback = function() {
8710
8711 thisPage.resetPlayerWebsiteSettings();
8712 };
8713
8714 $('#gsp_slider_speed').find('.gsp_value_label').val(speed);
8715 $('#gsp_slider_speed').find('.gsp_slider_wrapper').data('start_value', speed);
8716
8717 $('#gsp_slider_pitch').find('.gsp_value_label').val(pitch);
8718 $('#gsp_slider_pitch').find('.gsp_slider_wrapper').data('start_value', pitch);
8719
8720 this.applySliderFunctionality('.ss_slider_element_wrapper', slider_callback);
8721
8722 // run gspeech
8723 if(!$("#gspeech_js").length) {
8724
8725 var id_script = "gspeech_js";
8726 var js_path = "https://widget.gspeech.io/" + this.options.gspeech_widget_id;
8727
8728 $('<script>').appendTo('head').attr({type: 'text/javascript', id: id_script, src: js_path});
8729 }
8730
8731 var interval_counter = 0;
8732 var check_int = setInterval(function() {
8733
8734 if(window.gspeech != undefined) {
8735
8736 clearInterval(check_int);
8737
8738 setTimeout(function() {
8739
8740 thisPage.resetPlayerWebsiteSettings();
8741
8742 thisPage.process_lang_change();
8743
8744 }, 200);
8745 }
8746
8747 if(interval_counter > 1000) {
8748 clearInterval(check_int);
8749 }
8750
8751 interval_counter ++;
8752
8753 }, 25);
8754 };
8755
8756 this.processVoiceWebsiteSettings = function(website_voice) {
8757
8758 this.updateVoiceWebsiteSettings(website_voice);
8759
8760 setTimeout(function(){
8761
8762 // this.generateVoicesObject();
8763 this.resetPlayerWebsiteSettings();
8764
8765 }.bind(this), 400);
8766 };
8767
8768 this.updateVoiceWebsiteSettings = function(website_voice) {
8769
8770 var $this = this;
8771
8772 var $gsLanguageSelector = $("#lng_sel"),
8773 $gsVoiceSelector = $("#wbs_voice"),
8774 $gsMultipleVoiceSelector = $("#wbs_multiple_voices");
8775
8776 var lang_code = $gsLanguageSelector.find("li.li_selected").data('val'),
8777 voices_data = $gsLanguageSelector.find("li.li_selected").data('voices_data'),
8778 plan_id = $("#wbs_plan").find(".li_selected").data("val"),
8779 voice_code_sel = website_voice,
8780 voice_code_sel_multiple = $gsMultipleVoiceSelector.data('sel_voice'),
8781 def_txt_voice = $gsVoiceSelector.data("def_txt"),
8782 def_txt_m_voices = $gsMultipleVoiceSelector.data("def_txt"),
8783 saved_language = $gsLanguageSelector.data('val');
8784
8785 voice_code_sel = saved_language == lang_code ? voice_code_sel : '';
8786 voice_code_sel_multiple = saved_language == lang_code ? voice_code_sel_multiple : '';
8787
8788 var voice_options = $this.generateVoices(voices_data, lang_code);
8789
8790 $gsVoiceSelector.find('.items_select_ul').html(voice_options);
8791
8792 // set selection
8793 if(voice_code_sel != '') {
8794 $gsVoiceSelector.find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_ul_li_act");
8795 var voice_cont_val = $gsVoiceSelector.find(".li_selected span").html();
8796
8797 var sel_voice_data = $gsVoiceSelector.find(".li_selected").data("val");
8798 var sel_voice_data_p = sel_voice_data.split('-');
8799 var sel_voice_type = sel_voice_data_p[1] != undefined ? sel_voice_data_p[1] : 0;
8800 }
8801 else {
8802 var voice_cont_val = def_txt_voice;
8803 var sel_voice_type = 0;
8804 }
8805 $gsVoiceSelector.find('.items_select_filter_content span').html(voice_cont_val);
8806
8807 if(sel_voice_type != 2 && sel_voice_type != 5 && sel_voice_type != 7)
8808 $(".gsp_option_disable_switcher").addClass("gsp_option_disabled");
8809 else
8810 $(".gsp_option_disable_switcher").removeClass("gsp_option_disabled");
8811
8812 // multiple voices
8813 if(plan_id != 0 && $('#wbs_voice_enabled').find(".gs_mono_checkbox").prop("checked")) {
8814
8815 $gsMultipleVoiceSelector.find('.items_select_ul').html(voice_options);
8816
8817 if(voice_code_sel != "")
8818 $gsMultipleVoiceSelector.find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
8819
8820 var voice_cont_val = '';
8821
8822 if(voice_code_sel_multiple != '') {
8823
8824 var sel_codes_array = voice_code_sel_multiple.split(',');
8825
8826 $gsMultipleVoiceSelector.find('.search_li').each(function() {
8827
8828 var d_val = $(this).data("val"),
8829 d_name = $(this).find("span").html();
8830
8831 if(thisPage.inArray(d_val,sel_codes_array)) {
8832
8833 $(this).addClass("li_selected").addClass("ss_ul_li_act");
8834 voice_cont_val += voice_cont_val == '' ? d_name : ', ' + d_name;
8835 }
8836 });
8837 }
8838 else{
8839
8840 if(!$gsMultipleVoiceSelector.find('.li_selected').length)
8841 voice_cont_val = def_txt_m_voices;
8842 else
8843 voice_cont_val = $gsMultipleVoiceSelector.find('.li_selected span').html();
8844
8845 }
8846
8847 $gsMultipleVoiceSelector.find('.items_select_filter_content span').html(voice_cont_val);
8848 }
8849
8850 // set preview audios
8851 // $gsVoiceSelector.find(".search_li").each(function() {
8852
8853 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
8854 // });
8855 // $gsMultipleVoiceSelector.find(".search_li").each(function() {
8856
8857 // $(this).data("name_hash", $this.preview_audios[lang_code][$(this).data("val")]);
8858 // });
8859
8860 // make languages corrections
8861 $('.ss_tr_block_hardcoded').find('.ss_option_hardcoded').removeClass("ss_option_hardcoded");
8862 $('.ss_tr_block_hardcoded').removeClass("ss_tr_block_hardcoded").find('.ss_checkbox_wrapper').removeClass("ss_disabled");
8863 $(".ss_lang_holder_" + lang_code).addClass("ss_tr_block_hardcoded").find('.ss_checkbox_wrapper').addClass("ss_checked").addClass("ss_disabled");
8864 $(".ss_lang_holder_" + lang_code).find(".ss_tr_line2").addClass("ss_tr_line2_v").addClass("ss_ov_v");
8865
8866 // sync voice with translation block
8867 if(voice_code_sel != "") {
8868 $(".ss_lang_holder_" + lang_code).find('.li_selected').removeClass("li_selected").removeClass("ss_ul_li_act");
8869 $(".ss_lang_holder_" + lang_code).find('.option-' + voice_code_sel).addClass("li_selected").addClass("ss_option_hardcoded").addClass("ss_ul_li_act");
8870 }
8871 var voice_cont_val = '';
8872 if(voice_code_sel_multiple != '' && voice_code_sel_multiple != undefined) {
8873
8874 var sel_codes_array = voice_code_sel_multiple.split(',');
8875
8876 $(".ss_lang_holder_" + lang_code).find('.search_li').each(function() {
8877
8878 var d_val = $(this).data("val"),
8879 d_name = $(this).find("span").html();
8880
8881 if(thisPage.inArray(d_val,sel_codes_array)) {
8882
8883 $(this).addClass("li_selected").addClass("ss_ul_li_act");
8884 voice_cont_val += voice_cont_val == '' ? d_name : ', ' + d_name;
8885 }
8886 });
8887 }
8888 else {
8889 voice_cont_val = $(".ss_lang_holder_" + lang_code).find("li_selected span").html();
8890 }
8891 $(".ss_lang_holder_" + lang_code).find('.items_select_filter_content span').html(voice_cont_val);
8892
8893 // add disabled class
8894 if(plan_id == 0) {
8895 $("#wbs_voice").find(".ss_voice_type_1").addClass("ss_disabled");
8896 $("#wbs_voice").find(".ss_voice_type_2").addClass("ss_disabled");
8897 $("#wbs_voice").find(".ss_voice_type_3").addClass("ss_disabled");
8898 $("#wbs_voice").find(".ss_voice_type_4").addClass("ss_disabled");
8899 $("#wbs_voice").find(".ss_voice_type_5").addClass("ss_disabled");
8900 }
8901 };
8902
8903 this.generateVoices = function(voices_data, lang_code, appsumo = 0) {
8904
8905 if(voices_data == "" || voices_data == undefined)
8906 return;
8907
8908 var appsumo = 0;
8909 var user_plan = 0;
8910 const $gsp_plan = $("#gsp_plan");
8911 const $gsp_appsumo = $("#gsp_appsumo");
8912 if ($gsp_appsumo.length) {
8913 appsumo = parseInt($gsp_appsumo.html(), 10) || 0;
8914 }
8915 if ($gsp_plan.length) {
8916 user_plan = parseInt($gsp_plan.html(), 10) || 0;
8917 }
8918
8919 var play_icon = '<svg class="icon_play" aria-hidden="true" data-icon="play" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"></path></svg>';
8920 var stop_icon = '<svg class="icon_stop" aria-hidden="true" data-icon="stop" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"></path></svg>';
8921
8922 var plan_id = 0;
8923 if($(".gsp_left_m_c_active #wbs_plan").length)
8924 plan_id = parseInt($("#wbs_plan").find(".li_selected").data("val"));
8925 else if($(".gsp_left_m_c_active #ss_widget_page_data").length)
8926 plan_id = parseInt($("#ss_widget_page_data").data("website_plan"));
8927
8928 var voicesArray = voices_data.split(',');
8929 var voicesOptons = '';
8930
8931 for(var q=0;q<voicesArray.length;q++) {
8932
8933 var voiceIdent = voicesArray[q].split(':')[0];
8934 var voiceType = voicesArray[q].split(':')[1];
8935 var voiceVal = voiceIdent + '-' + voiceType;
8936
8937 // if(appsumo == 1 && (voiceType != "0" && voiceType != "1" && voiceType != "2"))
8938 // continue;
8939
8940 var voiceName = this.generateVoiceName(voiceIdent,lang_code,voiceType);
8941 var typeClass = 'ss_voice_type_' + voiceType;
8942 var disabled_class = plan_id == 0 && voiceType != 0 ? "ss_disabled" : "";
8943 disabled_class = plan_id == 1 && voiceType != 0 ? "ss_disabled" : disabled_class;
8944
8945 var voice_premium_htm = '<div class="ss_premium_txt">Premium voice</div><div class="ss_premium_icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"/></svg></div>';
8946 var voice_machine_htm = '<div class="ss_machine_txt">Basic voice</div><div class="ss_machine_icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M320 0c17.7 0 32 14.3 32 32V96H480c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256c0-22.1-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40s40-17.9 40-40zm152 40c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40s17.9 40 40 40zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z"/></svg></div>';
8947 var voice_info_htm = voiceType == 0 ? voice_machine_htm : voice_premium_htm;
8948
8949 var voiceOpton = '<li class="option-'+voiceVal+' search_li '+typeClass+' '+disabled_class+'" data-val="' + voiceVal + '"><div class="play_voice_preview play_visible">'+play_icon+stop_icon+'</div><span>' + voiceName + '</span>'+voice_info_htm+'</li>';
8950
8951 voicesOptons += voiceOpton;
8952 };
8953
8954 return voicesOptons;
8955 };
8956
8957 this.generateVoiceName = function(voice_code, lang_code, voice_type) {
8958
8959 var voice_name = 'Voice - ' + voice_code;
8960
8961 var voice_data = voice_code + ':' + voice_type;
8962
8963 if(lang_code == 'en-US')
8964 switch(voice_data) {
8965 case 'A:0': voice_name = 'Samantha[F'; break;
8966 case 'A:2': voice_name = 'Declan[M'; break;
8967 case 'B:2': voice_name = 'Brandon[M'; break;
8968 case 'C:2': voice_name = 'Jessica[F'; break;
8969 case 'D:2': voice_name = 'Alexander[M'; break;
8970 case 'E:2': voice_name = 'Alina[F'; break;
8971 case 'F:2': voice_name = 'Lucy[F'; break;
8972 case 'G:2': voice_name = 'Emily[F'; break;
8973 case 'H:2': voice_name = 'Caroline[F'; break;
8974 case 'I:2': voice_name = 'Thomas[M'; break;
8975 case 'J:2': voice_name = 'Kristopher[M'; break;
8976
8977 case 'M:4': voice_name = 'Miles[M'; break;
8978 case 'O:4': voice_name = 'Eleanor[F'; break;
8979
8980 case 'K:5': voice_name = 'Madison[F'; break;
8981 case 'L:5': voice_name = 'Hazel[F'; break;
8982 case 'M:5': voice_name = 'Chuk[M'; break;
8983 case 'N:5': voice_name = 'Harrison[M'; break;
8984
8985 case 'D:6': voice_name = 'Lucas[M'; break;
8986 case 'F:6': voice_name = 'Amelia[F'; break;
8987 case 'O:6': voice_name = 'Evelyn[F'; break;
8988
8989 case '1:7': voice_name = 'John[M'; break;
8990
8991 case 'A:20': voice_name = 'Sophia[F'; break;
8992 case 'B:20': voice_name = 'Andrew[M'; break;
8993 case 'C:20': voice_name = 'James[M'; break;
8994 case 'D:20': voice_name = 'Bertha[F'; break;
8995 case 'E:20': voice_name = 'Aleana[F'; break;
8996 case 'F:20': voice_name = 'Maya[F'; break;
8997 case 'G:20': voice_name = 'Simon[M'; break;
8998 case 'H:20': voice_name = 'Chloe[F'; break;
8999 case 'I:20': voice_name = 'Jennifer[F'; break;
9000
9001 case 'A:21': voice_name = 'Sophia HD[F'; break;
9002 case 'B:21': voice_name = 'Andrew HD[M'; break;
9003 case 'C:21': voice_name = 'James HD[M'; break;
9004 case 'D:21': voice_name = 'Bertha HD[F'; break;
9005 case 'E:21': voice_name = 'Aleana HD[F'; break;
9006 case 'F:21': voice_name = 'Maya HD[F'; break;
9007 case 'G:21': voice_name = 'Simon HD[M'; break;
9008 case 'H:21': voice_name = 'Chloe HD[F'; break;
9009 case 'I:21': voice_name = 'Jennifer HD[F'; break;
9010 case 'J:21': voice_name = 'Jordan HD[M'; break;
9011 case 'K:21': voice_name = 'Morgan HD[M'; break;
9012
9013 // 8 / 9 / 10 / 11 — unified series, gender map строго как en-US
9014 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ariana[F'; break;
9015 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
9016 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Ethan[M'; break;
9017 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Liam[M'; break;
9018 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Mason[M'; break;
9019 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Isabella[F'; break;
9020 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Emma[F'; break;
9021 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Charlotte[F'; break;
9022 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Jack[M'; break;
9023 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mia[F'; break;
9024 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Henry[M'; break;
9025 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Hannah[F'; break;
9026 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Benjamin[M'; break;
9027 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Harper[F'; break;
9028 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Logan[M'; break;
9029 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sofia[F'; break;
9030 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Luna[F'; break;
9031 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Grace[F'; break;
9032 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Daniel[M'; break;
9033 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Leo[M'; break;
9034 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Aria[F'; break;
9035 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Owen[M'; break;
9036 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Caleb[M'; break;
9037 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Wyatt[M'; break;
9038 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Luke[M'; break;
9039 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break;
9040 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Jackie[M'; break;
9041 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Violet[F'; break;
9042 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zoe[F'; break;
9043 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Nathan[M'; break;
9044 }
9045 else if(lang_code == 'en-IN')
9046 switch(voice_data) {
9047 case 'A:0': voice_name = 'Kiara[F'; break;
9048
9049 case 'A:2': voice_name = 'Riya[F'; break;
9050 case 'B:2': voice_name = 'Arjun[M'; break;
9051 case 'C:2': voice_name = 'Jay[M'; break;
9052 case 'D:2': voice_name = 'Nisha[F'; break;
9053
9054 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9055 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Anaya[F'; break; // A F
9056 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Aarav[M'; break; // B M
9057 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Rohan[M'; break; // C M
9058 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Kabir[M'; break; // D M
9059 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Ishaan[M'; break; // E M
9060 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Pooja[F'; break; // F F
9061 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Sanya[F'; break; // G F
9062 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Kavya[F'; break; // H F
9063 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Dev[M'; break; // I M
9064 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Meera[F'; break; // J F
9065 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Aditya[M'; break; // K M
9066 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Ira[F'; break; // L F
9067 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Kunal[M'; break; // M M
9068 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Aisha[F'; break; // N F
9069 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Varun[M'; break; // O M
9070 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Radhika[F'; break; // P F
9071 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Neha[F'; break; // Q F
9072 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Tara[F'; break; // R F
9073 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Siddharth[M'; break; // S M
9074 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Ravi[M'; break; // T M
9075 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Ishita[F'; break; // U F
9076 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Aman[M'; break; // V M
9077 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Mohit[M'; break; // W M
9078 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Raghav[M'; break; // X M
9079 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Pranav[M'; break; // Y M
9080 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Sia[F'; break; // Z F
9081 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Naveen[M'; break;// AA M
9082 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Kriti[F'; break; // AB F
9083 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Alisha[F'; break;// AC F
9084 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Yash[M'; break; // AD M
9085 }
9086 else if(lang_code == 'en-GB')
9087 switch(voice_data) {
9088 case 'A:0': voice_name = 'Rose[F'; break;
9089
9090 case 'A:2': voice_name = 'Catherine[F'; break;
9091 case 'B:2': voice_name = 'Benjamin[M'; break;
9092 case 'C:2': voice_name = 'Victoria[F'; break;
9093 case 'D:2': voice_name = 'Richard[M'; break;
9094 case 'F:2': voice_name = 'Jane[F'; break;
9095
9096 case 'G:5': voice_name = 'Olivia[F'; break;
9097 case 'H:5': voice_name = 'Amelia[F'; break;
9098 case 'I:5': voice_name = 'Ava[F'; break;
9099 case 'J:5': voice_name = 'Oliver[M'; break;
9100 case 'K:5': voice_name = 'George[M'; break;
9101 case 'L:5': voice_name = 'William[M'; break;
9102 case 'M:5': voice_name = 'Jack[M'; break;
9103
9104 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9105 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Freya[F'; break; // A F
9106 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break; // B M
9107 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Theo[M'; break; // C M
9108 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Alfie[M'; break; // D M
9109 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Mason[M'; break; // E M
9110 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Isla[F'; break; // F F
9111 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Poppy[F'; break; // G F
9112 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Matilda[F'; break; // H F
9113 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Oscar[M'; break; // I M
9114 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Evie[F'; break; // J F
9115 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Harry[M'; break; // K M
9116 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Sienna[F'; break; // L F
9117 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Arthur[M'; break; // M M
9118 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Daisy[F'; break; // N F
9119 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Leo[M'; break; // O M
9120 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Imogen[F'; break; // P F
9121 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Amara[F'; break; // Q F
9122 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Esme[F'; break; // R F
9123 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'James[M'; break; // S M
9124 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Theo2[M'; break; // ⚠️ см. примечание
9125 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Aria[F'; break; // U F
9126 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Charlie[M'; break; // V M
9127 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Elliot[M'; break; // W M
9128 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Rowan[M'; break; // X M
9129 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Harvey[M'; break; // Y M
9130 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Lily[F'; break; // Z F
9131 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Reuben[M'; break;// AA M
9132 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Violet[F'; break;// AB F
9133 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zara[F'; break; // AC F
9134 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Nathan[M'; break;// AD M
9135 }
9136 else if(lang_code == 'en-AU')
9137 switch(voice_data) {
9138 case 'A:0': voice_name = 'Grace[F'; break;
9139
9140 case 'A:2': voice_name = 'Amelia[F'; break;
9141 case 'B:2': voice_name = 'Cooper[M'; break;
9142 case 'C:2': voice_name = 'Zoe[F'; break;
9143 case 'D:2': voice_name = 'Matthew[M'; break;
9144
9145 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9146 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ava[F'; break; // A F
9147 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break; // B M
9148 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Ethan[M'; break; // C M
9149 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Liam[M'; break; // D M
9150 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Mason[M'; break; // E M
9151 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Olivia[F'; break; // F F
9152 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Emma[F'; break; // G F
9153 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Charlotte[F'; break; // H F
9154 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Jack[M'; break; // I M
9155 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mia[F'; break; // J F
9156 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Henry[M'; break; // K M
9157 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Amelia2[F'; break; // ⚠️ см. примечание
9158 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Benjamin[M'; break; // M M
9159 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Harper[F'; break; // N F
9160 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Logan[M'; break; // O M
9161 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sofia[F'; break; // P F
9162 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Luna[F'; break; // Q F
9163 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Grace2[F'; break; // ⚠️ см. примечание
9164 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Daniel[M'; break; // S M
9165 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Leo[M'; break; // T M
9166 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Aria[F'; break; // U F
9167 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Oliver[M'; break; // V M
9168 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Caleb[M'; break; // W M
9169 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Wyatt[M'; break; // X M
9170 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Luke[M'; break; // Y M
9171 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break; // Z F
9172 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Jackie[M'; break;// AA M
9173 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Violet[F'; break;// AB F
9174 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zoe2[F'; break; // ⚠️ см. примечание
9175 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Nathan[M'; break;// AD M
9176 }
9177 else if(lang_code == 'nl-NL')
9178 switch(voice_data) {
9179 case 'A:0': voice_name = 'Sara[F'; break;
9180
9181 case 'A:2': voice_name = 'Nora[F'; break;
9182 case 'B:2': voice_name = 'Lars[M'; break;
9183 case 'C:2': voice_name = 'Bram[M'; break;
9184 case 'D:2': voice_name = 'Lotte[F'; break;
9185 case 'E:2': voice_name = 'Evi[F'; break;
9186
9187 case 'A:20': voice_name = 'Sophie[F'; break;
9188 case 'B:20': voice_name = 'Sem[M'; break;
9189 case 'C:20': voice_name = 'Milan[M'; break;
9190 case 'D:20': voice_name = 'Julia[F'; break;
9191 case 'E:20': voice_name = 'Tess[F'; break;
9192 case 'F:20': voice_name = 'Mila[F'; break;
9193
9194 case 'G:20': voice_name = 'Daan[M'; break; // FIX: было Milan (дубликат)
9195 case 'H:20': voice_name = 'Saar[F'; break;
9196 case 'I:20': voice_name = 'Fleur[F'; break; // FIX: было Lotte (пересечение с D:2)
9197
9198 case 'A:21': voice_name = 'Sophie HD[F'; break;
9199 case 'B:21': voice_name = 'Sem HD[M'; break;
9200 case 'C:21': voice_name = 'Milan HD[M'; break;
9201 case 'D:21': voice_name = 'Julia HD[F'; break;
9202 case 'E:21': voice_name = 'Tess HD[F'; break;
9203 case 'F:21': voice_name = 'Mila HD[F'; break;
9204 case 'G:21': voice_name = 'Daan HD[M'; break;
9205 case 'H:21': voice_name = 'Saar HD[F'; break;
9206 case 'I:21': voice_name = 'Fleur HD[F'; break;
9207 case 'J:21': voice_name = 'Jeroen HD[M'; break;
9208 case 'K:21': voice_name = 'Koen HD[M'; break;
9209
9210 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9211 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Noor[F'; break;
9212 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
9213 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Lucas[M'; break;
9214 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Finn[M'; break;
9215 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Jesse[M'; break;
9216 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Emma[F'; break;
9217 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Sanne[F'; break;
9218 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Julia[F'; break;
9219 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Daan[M'; break;
9220 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Lieke[F'; break;
9221 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Bram[M'; break;
9222 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Fenna[F'; break;
9223 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Milan[M'; break;
9224 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Tessa[F'; break;
9225 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Jasper[M'; break;
9226 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sophiea[F'; break;
9227 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Roos[F'; break;
9228 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Nina[F'; break;
9229 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Thijs[M'; break;
9230 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Stijn[M'; break;
9231 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Luna[F'; break;
9232 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Dylan[M'; break;
9233 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Mees[M'; break;
9234 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Sven[M'; break;
9235 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Casper[M'; break;
9236 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Eviya[F'; break;
9237 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Willem[M'; break;
9238 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Fleur[F'; break;
9239 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Saar[F'; break;
9240 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Koen[M'; break;
9241 }
9242 else if(lang_code == 'nl-BE')
9243 switch(voice_data) {
9244
9245 /* base */
9246 case 'A:0': voice_name = 'Lotte[F'; break;
9247
9248 /* 8 / 9 / 10 / 11 */
9249 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Emma[F'; break;
9250 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
9251 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Liam[M'; break;
9252 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Lucas[M'; break;
9253 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Milan[M'; break;
9254
9255 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Sofie[F'; break;
9256 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Marie[F'; break;
9257 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Elise[F'; break;
9258 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Arthur[M'; break;
9259 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Lina[F'; break;
9260
9261 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Jules[M'; break;
9262 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Nora[F'; break;
9263 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Leon[M'; break;
9264 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Mila[F'; break;
9265 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Victor[M'; break;
9266
9267 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Louise[F'; break;
9268 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Amelie[F'; break;
9269 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Camille[F'; break;
9270 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Finn[M'; break;
9271 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Louis[M'; break;
9272
9273 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Zoë[F'; break;
9274 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Olivier[M'; break;
9275 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Matthias[M'; break;
9276 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Thomas[M'; break;
9277 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Seppe[M'; break;
9278
9279 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Sara[F'; break;
9280 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Bram[M'; break;
9281 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Eline[F'; break;
9282 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Hanne[F'; break;
9283 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Dries[M'; break;
9284 }
9285 else if(lang_code == 'da-DK')
9286 switch(voice_data) {
9287 case 'A:0': voice_name = 'Alma[F'; break;
9288
9289 case 'A:2': voice_name = 'Josefine[F'; break;
9290 case 'C:2': voice_name = 'Oscar[M'; break;
9291 case 'D:2': voice_name = 'Karla[F'; break;
9292 case 'E:2': voice_name = 'Victoria[F'; break;
9293
9294 case 'A:20': voice_name = 'Sofia[F'; break;
9295 case 'B:20': voice_name = 'Mikkel[M'; break; // FIX (было Oscar)
9296 case 'C:20': voice_name = 'Oliver[M'; break;
9297 case 'D:20': voice_name = 'Clara[F'; break;
9298 case 'E:20': voice_name = 'Freja[F'; break;
9299 case 'F:20': voice_name = 'Emma[F'; break;
9300 case 'G:20': voice_name = 'Christian[M'; break;
9301 case 'H:20': voice_name = 'Olivia[F'; break;
9302 case 'I:20': voice_name = 'Nanna[F'; break; // FIX (было Alma)
9303
9304 case 'A:21': voice_name = 'Sofia HD[F'; break;
9305 case 'B:21': voice_name = 'Mikkel HD[M'; break;
9306 case 'C:21': voice_name = 'Oliver HD[M'; break;
9307 case 'D:21': voice_name = 'Clara HD[F'; break;
9308 case 'E:21': voice_name = 'Freja HD[F'; break;
9309 case 'F:21': voice_name = 'Emma HD[F'; break;
9310 case 'G:21': voice_name = 'Christian HD[M'; break;
9311 case 'H:21': voice_name = 'Olivia HD[F'; break;
9312 case 'I:21': voice_name = 'Nanna HD[F'; break;
9313 case 'J:21': voice_name = 'Anders HD[M'; break;
9314 case 'K:21': voice_name = 'Lars HD[M'; break;
9315
9316 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9317 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ida[F'; break;
9318 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
9319 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'William[M'; break;
9320 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Lucas[M'; break;
9321 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Emil[M'; break;
9322 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Anna[F'; break;
9323 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Signe[F'; break;
9324 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Laura[F'; break;
9325 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Magnus[M'; break;
9326 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Maja[F'; break;
9327 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Victor[M'; break;
9328 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Line[F'; break;
9329 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Sebastian[M'; break;
9330 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Frederikke[F'; break;
9331 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Mathias[M'; break;
9332 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Julie[F'; break;
9333 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Alberte[F'; break;
9334 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Katrine[F'; break;
9335 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Mads[M'; break;
9336 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Jonas[M'; break;
9337 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Rikke[F'; break;
9338 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Kaspar[M'; break;
9339 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Tobias[M'; break;
9340 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Asger[M'; break;
9341 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Rasmus[M'; break;
9342 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Nicoline[F'; break;
9343 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Jesper[M'; break;
9344 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Camilla[F'; break;
9345 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Thea[F'; break;
9346 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Henrik[M'; break;
9347 }
9348 else if(lang_code == 'cs-CZ')
9349 switch(voice_data) {
9350 case 'A:0': voice_name = 'Andrea[F'; break;
9351 case 'A:2': voice_name = 'Lucie[F'; break;
9352
9353 case 'A:20': voice_name = 'Tereza[F'; break;
9354 case 'B:20': voice_name = 'Martin[M'; break;
9355 case 'C:20': voice_name = 'Jakub[M'; break;
9356 case 'D:20': voice_name = 'Anna[F'; break;
9357 case 'E:20': voice_name = 'Eliska[F'; break;
9358 case 'F:20': voice_name = 'Karolina[F'; break;
9359 case 'G:20': voice_name = 'Michal[M'; break;
9360 case 'H:20': voice_name = 'Jana[F'; break;
9361 case 'I:20': voice_name = 'Adela[F'; break; // FIX: Adrla → Adela (TTS-friendly)
9362
9363 case 'A:21': voice_name = 'Tereza HD[F'; break;
9364 case 'B:21': voice_name = 'Martin HD[M'; break;
9365 case 'C:21': voice_name = 'Jakub HD[M'; break;
9366 case 'D:21': voice_name = 'Anna HD[F'; break;
9367 case 'E:21': voice_name = 'Eliska HD[F'; break;
9368 case 'F:21': voice_name = 'Karolina HD[F'; break;
9369 case 'G:21': voice_name = 'Michal HD[M'; break;
9370 case 'H:21': voice_name = 'Jana HD[F'; break;
9371 case 'I:21': voice_name = 'Adela HD[F'; break;
9372 case 'J:21': voice_name = 'Petr HD[M'; break;
9373 case 'K:21': voice_name = 'Tomas HD[M'; break;
9374
9375 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9376 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Eva[F'; break; // A F
9377 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Jan[M'; break; // B M
9378 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'David[M'; break; // C M
9379 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Pavel[M'; break; // D M
9380 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Marek[M'; break; // E M
9381 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Katerina[F'; break; // F F
9382 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Lucia[F'; break; // G F
9383 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Barbora[F'; break; // H F
9384 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Roman[M'; break; // I M
9385 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Monika[F'; break; // J F
9386 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Ondrej[M'; break; // K M
9387 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Alena[F'; break; // L F
9388 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Radek[M'; break; // M M
9389 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Veronika[F'; break; // N F
9390 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Jiri[M'; break; // O M
9391 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Petra[F'; break; // P F
9392 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Lenka[F'; break; // Q F
9393 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Michaela[F'; break; // R F
9394 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Filip[M'; break; // S M
9395 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Adam[M'; break; // T M
9396 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Nikola[F'; break; // U F
9397 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Karel[M'; break; // V M
9398 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Matej[M'; break; // W M
9399 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Daniel[M'; break; // X M
9400 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Lukas[M'; break; // Y M
9401 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Sarka[F'; break; // Z F
9402 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Viktor[M'; break; // AA M
9403 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Iveta[F'; break; // AB F
9404 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Simona[F'; break; // AC F
9405 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Zdenek[M'; break; // AD M
9406 }
9407 else if(lang_code == 'hr')
9408 switch(voice_data) {
9409 case 'A:0': voice_name = 'Vito[M'; break;
9410
9411 case 'A:20': voice_name = 'Ana[F'; break;
9412 case 'B:20': voice_name = 'Marko[M'; break;
9413 case 'C:20': voice_name = 'Luka[M'; break;
9414 case 'D:20': voice_name = 'Katarina[F'; break;
9415 case 'E:20': voice_name = 'Marija[F'; break;
9416 case 'F:20': voice_name = 'Petra[F'; break;
9417 case 'G:20': voice_name = 'Ivan[M'; break;
9418 case 'H:20': voice_name = 'Nikola[M'; break;
9419 case 'I:20': voice_name = 'Ivana[F'; break;
9420
9421 case 'A:21': voice_name = 'Ana HD[F'; break;
9422 case 'B:21': voice_name = 'Marko HD[M'; break;
9423 case 'C:21': voice_name = 'Luka HD[M'; break;
9424 case 'D:21': voice_name = 'Katarina HD[F'; break;
9425 case 'E:21': voice_name = 'Marija HD[F'; break;
9426 case 'F:21': voice_name = 'Petra HD[F'; break;
9427 case 'G:21': voice_name = 'Ivan HD[M'; break;
9428 case 'H:21': voice_name = 'Nikola HD[M'; break;
9429 case 'I:21': voice_name = 'Ivana HD[F'; break;
9430 case 'J:21': voice_name = 'Tomislav HD[M'; break;
9431 case 'K:21': voice_name = 'Ante HD[M'; break;
9432
9433 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
9434 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Mia[F'; break; // A F
9435 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noa[M'; break; // B M
9436 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Filip[M'; break; // C M
9437 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Leon[M'; break; // D M
9438 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Karlo[M'; break; // E M
9439 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Ema[F'; break; // F F
9440 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Sara[F'; break; // G F
9441 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Lana[F'; break; // H F
9442 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Jakov[M'; break; // I M
9443 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Nika[F'; break; // J F
9444 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Matej[M'; break; // K M
9445 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Iva[F'; break; // L F
9446 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Dario[M'; break; // M M
9447 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Lucija[F'; break; // N F
9448 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Stjepan[M'; break; // O M
9449 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Tea[F'; break; // P F
9450 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Lea[F'; break; // Q F
9451 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Klara[F'; break; // R F
9452 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Bruno[M'; break; // S M
9453 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Tin[M'; break; // T M
9454 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Marta[F'; break; // U F
9455 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Josip[M'; break; // V M
9456 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Roko[M'; break; // W M
9457 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Ante[M'; break; // X M
9458 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Petar[M'; break; // Y M
9459 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Anais[F'; break; // Z F
9460 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Krešo[M'; break; // AA M
9461 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Helena[F'; break;// AB F
9462 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Dora[F'; break; // AC F
9463 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Zvonimir[M'; break; // AD M
9464 }
9465 else if (lang_code == 'hy')
9466 switch (voice_data) {
9467
9468 // ===== OpenAI (20) =====
9469 case 'A:20': voice_name = 'Anahit[F'; break;
9470 case 'B:20': voice_name = 'Aram[M'; break;
9471 case 'C:20': voice_name = 'Levon[M'; break;
9472 case 'D:20': voice_name = 'Mariam[F'; break;
9473 case 'E:20': voice_name = 'Lilit[F'; break;
9474 case 'F:20': voice_name = 'Naira[F'; break;
9475 case 'G:20': voice_name = 'Samvel[M'; break;
9476 case 'H:20': voice_name = 'Hasmik[F'; break;
9477 case 'I:20': voice_name = 'Tatevik[F'; break;
9478
9479 // ===== OpenAI HD (21) — SAME voices + HD + 2 (gender FIXED) =====
9480 case 'A:21': voice_name = 'Anahit HD[F'; break;
9481 case 'B:21': voice_name = 'Aram HD[M'; break;
9482 case 'C:21': voice_name = 'Levon HD[M'; break;
9483 case 'D:21': voice_name = 'Mariam HD[F'; break;
9484 case 'E:21': voice_name = 'Lilit HD[F'; break;
9485 case 'F:21': voice_name = 'Naira HD[F'; break;
9486 case 'G:21': voice_name = 'Samvel HD[M'; break;
9487 case 'H:21': voice_name = 'Hasmik HD[F'; break;
9488 case 'I:21': voice_name = 'Tatevik HD[F'; break;
9489 case 'J:21': voice_name = 'Tigran HD[M'; break;
9490 case 'K:21': voice_name = 'Vardan HD[M'; break;
9491
9492 // ===== Gemini (10 / 11) — ONE SERIES, DIFFERENT names =====
9493 case 'A:10': case 'A:11': voice_name = 'Arevik[F'; break;
9494 case 'B:10': case 'B:11': voice_name = 'Davit[M'; break;
9495 case 'C:10': case 'C:11': voice_name = 'Arman[M'; break;
9496 case 'D:10': case 'D:11': voice_name = 'Hayk[M'; break;
9497 case 'E:10': case 'E:11': voice_name = 'Gor[M'; break;
9498 case 'F:10': case 'F:11': voice_name = 'Nune[F'; break;
9499 case 'G:10': case 'G:11': voice_name = 'Meline[F'; break;
9500 case 'H:10': case 'H:11': voice_name = 'Karine[F'; break;
9501 case 'I:10': case 'I:11': voice_name = 'Narek[M'; break;
9502 case 'J:10': case 'J:11': voice_name = 'Lusine[F'; break;
9503 case 'K:10': case 'K:11': voice_name = 'Vahan[M'; break;
9504 case 'L:10': case 'L:11': voice_name = 'Shushan[F'; break;
9505 case 'M:10': case 'M:11': voice_name = 'Ruben[M'; break;
9506 case 'N:10': case 'N:11': voice_name = 'Elina[F'; break;
9507 case 'O:10': case 'O:11': voice_name = 'Ashot[M'; break;
9508 case 'P:10': case 'P:11': voice_name = 'Zaruhi[F'; break;
9509 case 'Q:10': case 'Q:11': voice_name = 'Gohar[F'; break;
9510 case 'R:10': case 'R:11': voice_name = 'Margarita[F'; break;
9511 case 'S:10': case 'S:11': voice_name = 'Suren[M'; break;
9512 case 'T:10': case 'T:11': voice_name = 'Karen[M'; break;
9513 case 'U:10': case 'U:11': voice_name = 'Liana[F'; break;
9514 case 'V:10': case 'V:11': voice_name = 'Arsen[M'; break;
9515 case 'W:10': case 'W:11': voice_name = 'Gevorg[M'; break;
9516 case 'X:10': case 'X:11': voice_name = 'Hovhannes[M'; break;
9517 case 'Y:10': case 'Y:11': voice_name = 'Artak[M'; break;
9518 case 'Z:10': case 'Z:11': voice_name = 'Siranush[F'; break;
9519 case 'AA:10': case 'AA:11': voice_name = 'Gagik[M'; break;
9520 case 'AB:10': case 'AB:11': voice_name = 'Mane[F'; break;
9521 case 'AC:10': case 'AC:11': voice_name = 'Sona[F'; break;
9522 case 'AD:10': case 'AD:11': voice_name = 'Taron[M'; break;
9523 }
9524 else if(lang_code == 'am-ET')
9525 switch(voice_data) {
9526 case 'A:0': voice_name = 'Zewditu[F'; break;
9527
9528 // ===== OpenAI (20) =====
9529 /* 20 */
9530 case 'A:20': voice_name = 'Hana[F'; break;
9531 case 'B:20': voice_name = 'Dawit[M'; break;
9532 case 'C:20': voice_name = 'Yohannes[M'; break;
9533 case 'D:20': voice_name = 'Selam[F'; break;
9534 case 'E:20': voice_name = 'Eden[F'; break;
9535 case 'F:20': voice_name = 'Meron[F'; break;
9536 case 'G:20': voice_name = 'Bereket[M'; break;
9537 case 'H:20': voice_name = 'Liya[F'; break;
9538 case 'I:20': voice_name = 'Saba[F'; break;
9539
9540 /* 21 — HD */
9541 case 'A:21': voice_name = 'Hana HD[F'; break;
9542 case 'B:21': voice_name = 'Dawit HD[M'; break;
9543 case 'C:21': voice_name = 'Yohannes HD[M'; break;
9544 case 'D:21': voice_name = 'Selam HD[F'; break;
9545 case 'E:21': voice_name = 'Eden HD[F'; break;
9546 case 'F:21': voice_name = 'Meron HD[F'; break;
9547 case 'G:21': voice_name = 'Bereket HD[M'; break;
9548 case 'H:21': voice_name = 'Liya HD[F'; break;
9549 case 'I:21': voice_name = 'Saba HD[F'; break;
9550 case 'J:21': voice_name = 'Tesfaye HD[M'; break;
9551 case 'K:21': voice_name = 'Getachew HD[M'; break;
9552
9553 /* 8 / 9 / 10 / 11 */
9554 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Rahel[F'; break;
9555 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Samuel[M'; break;
9556 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Daniel[M'; break;
9557 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Michael[M'; break;
9558 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Abel[M'; break;
9559 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Mekdes[F'; break;
9560 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Almaz[F'; break;
9561 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Marta[F'; break;
9562 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Hailu[M'; break;
9563 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Tigist[F'; break;
9564 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Henok[M'; break;
9565 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Bethlehem[F'; break;
9566 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Girma[M'; break;
9567 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Hirut[F'; break;
9568 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Kebede[M'; break;
9569 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Feven[F'; break;
9570 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Samrawit[F'; break;
9571 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Genet[F'; break;
9572 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Solomon[M'; break;
9573 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Yared[M'; break;
9574 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Meseret[F'; break;
9575 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Mulugeta[M'; break;
9576 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Tesfa[M'; break;
9577 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Fitsum[M'; break;
9578 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Amanuel[M'; break;
9579 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Aster[F'; break;
9580 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Natan[M'; break;
9581 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Eleni[F'; break;
9582 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Saron[F'; break;
9583 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Seifu[M'; break;
9584 }
9585 else if(lang_code == 'cy')
9586 switch(voice_data) {
9587 case 'A:0': voice_name = 'Gwen[F'; break;
9588
9589 /* 20 */
9590 case 'A:20': voice_name = 'Catrin[F'; break;
9591 case 'B:20': voice_name = 'Ieuan[M'; break;
9592 case 'C:20': voice_name = 'Rhys[M'; break;
9593 case 'D:20': voice_name = 'Rhiannon[F'; break;
9594 case 'E:20': voice_name = 'Branwen[F'; break;
9595 case 'F:20': voice_name = 'Angharad[F'; break;
9596 case 'G:20': voice_name = 'Dafydd[M'; break;
9597 case 'H:20': voice_name = 'Elen[F'; break;
9598 case 'I:20': voice_name = 'Lowri[F'; break;
9599
9600 /* 21 — HD */
9601 case 'A:21': voice_name = 'Catrin HD[F'; break;
9602 case 'B:21': voice_name = 'Ieuan HD[M'; break;
9603 case 'C:21': voice_name = 'Rhys HD[M'; break;
9604 case 'D:21': voice_name = 'Rhiannon HD[F'; break;
9605 case 'E:21': voice_name = 'Branwen HD[F'; break;
9606 case 'F:21': voice_name = 'Angharad HD[F'; break;
9607 case 'G:21': voice_name = 'Dafydd HD[M'; break;
9608 case 'H:21': voice_name = 'Elen HD[F'; break;
9609 case 'I:21': voice_name = 'Lowri HD[F'; break;
9610 case 'J:21': voice_name = 'Gareth HD[M'; break;
9611 case 'K:21': voice_name = 'Owain HD[M'; break;
9612 }
9613 else if(lang_code == 'sl')
9614 switch(voice_data) {
9615
9616 /* 20 */
9617 case 'A:20': voice_name = 'Katarina[F'; break;
9618 case 'B:20': voice_name = 'Janez[M'; break;
9619 case 'C:20': voice_name = 'Matej[M'; break;
9620 case 'D:20': voice_name = 'Lucija[F'; break;
9621 case 'E:20': voice_name = 'Tina[F'; break;
9622 case 'F:20': voice_name = 'Sara[F'; break;
9623 case 'G:20': voice_name = 'Marko[M'; break;
9624 case 'H:20': voice_name = 'Ana[F'; break;
9625 case 'I:20': voice_name = 'Nina[F'; break;
9626
9627 /* 21 — HD */
9628 case 'A:21': voice_name = 'Katarina HD[F'; break;
9629 case 'B:21': voice_name = 'Janez HD[M'; break;
9630 case 'C:21': voice_name = 'Matej HD[M'; break;
9631 case 'D:21': voice_name = 'Lucija HD[F'; break;
9632 case 'E:21': voice_name = 'Tina HD[F'; break;
9633 case 'F:21': voice_name = 'Sara HD[F'; break;
9634 case 'G:21': voice_name = 'Marko HD[M'; break;
9635 case 'H:21': voice_name = 'Ana HD[F'; break;
9636 case 'I:21': voice_name = 'Nina HD[F'; break;
9637 case 'J:21': voice_name = 'Luka HD[M'; break;
9638 case 'K:21': voice_name = 'Ziga HD[M'; break;
9639
9640 /* 8 / 9 / 10 / 11 */
9641 case 'A:10': case 'A:11': voice_name = 'Maja[F'; break;
9642 case 'B:10': case 'B:11': voice_name = 'Andrej[M'; break;
9643 case 'C:10': case 'C:11': voice_name = 'Bostjan[M'; break;
9644 case 'D:10': case 'D:11': voice_name = 'Rok[M'; break;
9645 case 'E:10': case 'E:11': voice_name = 'Miha[M'; break;
9646 case 'F:10': case 'F:11': voice_name = 'Nika[F'; break;
9647 case 'G:10': case 'G:11': voice_name = 'Eva[F'; break;
9648 case 'H:10': case 'H:11': voice_name = 'Petra[F'; break;
9649 case 'I:10': case 'I:11': voice_name = 'Luka[M'; break;
9650 case 'J:10': case 'J:11': voice_name = 'Klara[F'; break;
9651 case 'K:10': case 'K:11': voice_name = 'Zan[M'; break;
9652 case 'L:10': case 'L:11': voice_name = 'Ursa[F'; break;
9653 case 'M:10': case 'M:11': voice_name = 'Aljaz[M'; break;
9654 case 'N:10': case 'N:11': voice_name = 'Tjasa[F'; break;
9655 case 'O:10': case 'O:11': voice_name = 'Vid[M'; break;
9656 case 'P:10': case 'P:11': voice_name = 'Sara[F'; break;
9657 case 'Q:10': case 'Q:11': voice_name = 'Zala[F'; break;
9658 case 'R:10': case 'R:11': voice_name = 'Lana[F'; break;
9659 case 'S:10': case 'S:11': voice_name = 'Tim[M'; break;
9660 case 'T:10': case 'T:11': voice_name = 'Nejc[M'; break;
9661 case 'U:10': case 'U:11': voice_name = 'Ana[F'; break;
9662 case 'V:10': case 'V:11': voice_name = 'Jure[M'; break;
9663 case 'W:10': case 'W:11': voice_name = 'Denis[M'; break;
9664 case 'X:10': case 'X:11': voice_name = 'Blaz[M'; break;
9665 case 'Y:10': case 'Y:11': voice_name = 'Mark[M'; break;
9666 case 'Z:10': case 'Z:11': voice_name = 'Mina[F'; break;
9667 case 'AA:10': case 'AA:11': voice_name = 'Gregor[M'; break;
9668 case 'AB:10': case 'AB:11': voice_name = 'Polona[F'; break;
9669 case 'AC:10': case 'AC:11': voice_name = 'Vesna[F'; break;
9670 case 'AD:10': case 'AD:11': voice_name = 'Filip[M'; break;
9671 }
9672 else if(lang_code == 'kk')
9673 switch(voice_data) {
9674
9675 /* 20 */
9676 case 'A:20': voice_name = 'Ainur[F'; break;
9677 case 'B:20': voice_name = 'Askar[M'; break;
9678 case 'C:20': voice_name = 'Dauren[M'; break;
9679 case 'D:20': voice_name = 'Gulzhaz[F'; break;
9680 case 'E:20': voice_name = 'Marzhan[F'; break;
9681 case 'F:20': voice_name = 'Ainurkhan[F'; break;
9682 case 'G:20': voice_name = 'Nursultan[M'; break;
9683 case 'H:20': voice_name = 'Aigerim[F'; break;
9684 case 'I:20': voice_name = 'Dana[F'; break;
9685
9686 /* 21 — HD */
9687 case 'A:21': voice_name = 'Ainur HD[F'; break;
9688 case 'B:21': voice_name = 'Askar HD[M'; break;
9689 case 'C:21': voice_name = 'Dauren HD[M'; break;
9690 case 'D:21': voice_name = 'Gulzhaz HD[F'; break;
9691 case 'E:21': voice_name = 'Marzhan HD[F'; break;
9692 case 'F:21': voice_name = 'Ainurkhan HD[F'; break;
9693 case 'G:21': voice_name = 'Nursultan HD[M'; break;
9694 case 'H:21': voice_name = 'Aigerim HD[F'; break;
9695 case 'I:21': voice_name = 'Dana HD[F'; break;
9696 case 'J:21': voice_name = 'Yerlan HD[M'; break;
9697 case 'K:21': voice_name = 'Almas HD[M'; break;
9698 }
9699 else if(lang_code == 'mk')
9700 switch(voice_data) {
9701
9702 /* 20 */
9703 case 'A:20': voice_name = 'Marija[F'; break;
9704 case 'B:20': voice_name = 'Luka[M'; break;
9705 case 'C:20': voice_name = 'Goran[M'; break;
9706 case 'D:20': voice_name = 'Biljana[F'; break;
9707 case 'E:20': voice_name = 'Katica[F'; break;
9708 case 'F:20': voice_name = 'Vesna[F'; break;
9709 case 'G:20': voice_name = 'Stefan[M'; break;
9710 case 'H:20': voice_name = 'Elena[F'; break;
9711 case 'I:20': voice_name = 'Ana[F'; break;
9712
9713 /* 21 — HD */
9714 case 'A:21': voice_name = 'Marija HD[F'; break;
9715 case 'B:21': voice_name = 'Luka HD[M'; break;
9716 case 'C:21': voice_name = 'Goran HD[M'; break;
9717 case 'D:21': voice_name = 'Biljana HD[F'; break;
9718 case 'E:21': voice_name = 'Katica HD[F'; break;
9719 case 'F:21': voice_name = 'Vesna HD[F'; break;
9720 case 'G:21': voice_name = 'Stefan HD[M'; break;
9721 case 'H:21': voice_name = 'Elena HD[F'; break;
9722 case 'I:21': voice_name = 'Ana HD[F'; break;
9723 case 'J:21': voice_name = 'Nikola HD[M'; break;
9724 case 'K:21': voice_name = 'Petar HD[M'; break;
9725
9726 /* 10 / 11 */
9727 case 'A:10': case 'A:11': voice_name = 'Ivana[F'; break;
9728 case 'B:10': case 'B:11': voice_name = 'Marko[M'; break;
9729 case 'C:10': case 'C:11': voice_name = 'Filip[M'; break;
9730 case 'D:10': case 'D:11': voice_name = 'Aleksandar[M'; break;
9731 case 'E:10': case 'E:11': voice_name = 'Bojan[M'; break;
9732 case 'F:10': case 'F:11': voice_name = 'Teodora[F'; break;
9733 case 'G:10': case 'G:11': voice_name = 'Sara[F'; break;
9734 case 'H:10': case 'H:11': voice_name = 'Kristina[F'; break;
9735 case 'I:10': case 'I:11': voice_name = 'Darko[M'; break;
9736 case 'J:10': case 'J:11': voice_name = 'Maja[F'; break;
9737 case 'K:10': case 'K:11': voice_name = 'Viktor[M'; break;
9738 case 'L:10': case 'L:11': voice_name = 'Jelena[F'; break;
9739 case 'M:10': case 'M:11': voice_name = 'Dejan[M'; break;
9740 case 'N:10': case 'N:11': voice_name = 'Anais[F'; break;
9741 case 'O:10': case 'O:11': voice_name = 'Igor[M'; break;
9742 case 'P:10': case 'P:11': voice_name = 'Milena[F'; break;
9743 case 'Q:10': case 'Q:11': voice_name = 'Daniela[F'; break;
9744 case 'R:10': case 'R:11': voice_name = 'Katerina[F'; break;
9745 case 'S:10': case 'S:11': voice_name = 'Zoran[M'; break;
9746 case 'T:10': case 'T:11': voice_name = 'Todor[M'; break;
9747 case 'U:10': case 'U:11': voice_name = 'Angela[F'; break;
9748 case 'V:10': case 'V:11': voice_name = 'Branko[M'; break;
9749 case 'W:10': case 'W:11': voice_name = 'Risto[M'; break;
9750 case 'X:10': case 'X:11': voice_name = 'Gligor[M'; break;
9751 case 'Y:10': case 'Y:11': voice_name = 'Ilija[M'; break;
9752 case 'Z:10': case 'Z:11': voice_name = 'Lidija[F'; break;
9753 case 'AA:10': case 'AA:11': voice_name = 'Natasa[F'; break;
9754 case 'AB:10': case 'AB:11': voice_name = 'Vesela[F'; break;
9755 case 'AC:10': case 'AC:11': voice_name = 'Sonja[F'; break;
9756 case 'AD:10': case 'AD:11': voice_name = 'Borche[M'; break;
9757 }
9758 else if(lang_code == 'mi')
9759 switch(voice_data) {
9760
9761 /* 20 */
9762 case 'A:20': voice_name = 'Hinemoa[F'; break;
9763 case 'B:20': voice_name = 'Tama[M'; break;
9764 case 'C:20': voice_name = 'Rongo[M'; break;
9765 case 'D:20': voice_name = 'Aroha[F'; break; /* FIX: was duplicate Hinemoa */
9766 case 'E:20': voice_name = 'Hinewai[F'; break;
9767 case 'F:20': voice_name = 'Whetu[F'; break;
9768 case 'G:20': voice_name = 'Wiremu[M'; break;
9769 case 'H:20': voice_name = 'Moana[F'; break;
9770 case 'I:20': voice_name = 'Kiri[F'; break;
9771
9772 /* 21 — HD */
9773 case 'A:21': voice_name = 'Hinemoa HD[F'; break;
9774 case 'B:21': voice_name = 'Tama HD[M'; break;
9775 case 'C:21': voice_name = 'Rongo HD[M'; break;
9776 case 'D:21': voice_name = 'Aroha HD[F'; break;
9777 case 'E:21': voice_name = 'Hinewai HD[F'; break;
9778 case 'F:21': voice_name = 'Whetu HD[F'; break;
9779 case 'G:21': voice_name = 'Wiremu HD[M'; break;
9780 case 'H:21': voice_name = 'Moana HD[F'; break;
9781 case 'I:21': voice_name = 'Kiri HD[F'; break;
9782 case 'J:21': voice_name = 'Rawiri HD[M'; break;
9783 case 'K:21': voice_name = 'Hemi HD[M'; break;
9784 }
9785 else if (lang_code == 'be')
9786 switch (voice_data) {
9787
9788 // ===== OpenAI (20) =====
9789 case 'A:20': voice_name = 'Alena[F'; break;
9790 case 'B:20': voice_name = 'Maksim[M'; break;
9791 case 'C:20': voice_name = 'Mikolaj[M'; break;
9792 case 'D:20': voice_name = 'Ludmila[F'; break;
9793 case 'E:20': voice_name = 'Victoria[F'; break;
9794 case 'F:20': voice_name = 'Natalia[F'; break;
9795 case 'G:20': voice_name = 'Yauhen[M'; break;
9796 case 'H:20': voice_name = 'Sviatlana[F'; break;
9797 case 'I:20': voice_name = 'Pavel[M'; break;
9798
9799 // ===== OpenAI HD (21) — SAME voices + HD + 2 (gender FIXED) =====
9800 case 'A:21': voice_name = 'Alena HD[F'; break;
9801 case 'B:21': voice_name = 'Maksim HD[M'; break;
9802 case 'C:21': voice_name = 'Mikolaj HD[M'; break;
9803 case 'D:21': voice_name = 'Ludmila HD[F'; break;
9804 case 'E:21': voice_name = 'Victoria HD[F'; break;
9805 case 'F:21': voice_name = 'Natalia HD[F'; break;
9806 case 'G:21': voice_name = 'Yauhen HD[M'; break;
9807 case 'H:21': voice_name = 'Sviatlana HD[F'; break;
9808 case 'I:21': voice_name = 'Pavel HD[M'; break;
9809 case 'J:21': voice_name = 'Andrej HD[M'; break;
9810 case 'K:21': voice_name = 'Ihar HD[M'; break; // FIX: was Volha HD[F]
9811
9812 // ===== Gemini (10 / 11) — ONE SERIES (NO overlap with 20/21) =====
9813 case 'A:10': case 'A:11': voice_name = 'Katsiaryna[F'; break;
9814 case 'B:10': case 'B:11': voice_name = 'Uladzimir[M'; break;
9815 case 'C:10': case 'C:11': voice_name = 'Iryna[F'; break;
9816 case 'D:10': case 'D:11': voice_name = 'Dzmitry[M'; break;
9817 case 'E:10': case 'E:11': voice_name = 'Alina[F'; break;
9818 case 'F:10': case 'F:11': voice_name = 'Siarhei[M'; break;
9819 case 'G:10': case 'G:11': voice_name = 'Hanna[F'; break;
9820 case 'H:10': case 'H:11': voice_name = 'Artsiom[M'; break;
9821 case 'I:10': case 'I:11': voice_name = 'Nastassia[F'; break;
9822 case 'J:10': case 'J:11': voice_name = 'Ryhor[M'; break;
9823 case 'K:10': case 'K:11': voice_name = 'Vera[F'; break;
9824 case 'L:10': case 'L:11': voice_name = 'Kiryl[M'; break;
9825 case 'M:10': case 'M:11': voice_name = 'Maryia[F'; break;
9826 case 'N:10': case 'N:11': voice_name = 'Stanislau[M'; break;
9827 case 'O:10': case 'O:11': voice_name = 'Tamara[F'; break;
9828 case 'P:10': case 'P:11': voice_name = 'Uladzislaŭ[M'; break;
9829 case 'Q:10': case 'Q:11': voice_name = 'Zoya[F'; break;
9830 case 'R:10': case 'R:11': voice_name = 'Leanid[M'; break;
9831 case 'S:10': case 'S:11': voice_name = 'Polina[F'; break;
9832 case 'T:10': case 'T:11': voice_name = 'Ihar[M'; break;
9833 case 'U:10': case 'U:11': voice_name = 'Karyna[F'; break;
9834 case 'V:10': case 'V:11': voice_name = 'Piatro[M'; break;
9835 case 'W:10': case 'W:11': voice_name = 'Anastasiya[F'; break;
9836 case 'X:10': case 'X:11': voice_name = 'Yaraslau[M'; break;
9837 case 'Y:10': case 'Y:11': voice_name = 'Larysa[F'; break;
9838 case 'Z:10': case 'Z:11': voice_name = 'Aleh[M'; break;
9839 case 'AA:10': case 'AA:11': voice_name = 'Yuliya[F'; break;
9840 case 'AB:10': case 'AB:11': voice_name = 'Mikalai[M'; break;
9841 case 'AC:10': case 'AC:11': voice_name = 'Viktoryia[F'; break;
9842 case 'AD:10': case 'AD:11': voice_name = 'Sviatoslau[M'; break;
9843 }
9844 else if(lang_code == 'fa')
9845 switch(voice_data) {
9846
9847 /* 20 */
9848 case 'A:20': voice_name = 'Fatima[F'; break;
9849 case 'B:20': voice_name = 'Amir[M'; break;
9850 case 'C:20': voice_name = 'Ali[M'; break;
9851 case 'D:20': voice_name = 'Mahsa[F'; break;
9852 case 'E:20': voice_name = 'Zahra[F'; break;
9853 case 'F:20': voice_name = 'Maryam[F'; break;
9854 case 'G:20': voice_name = 'Omid[M'; break;
9855 case 'H:20': voice_name = 'Setareh[F'; break;
9856 case 'I:20': voice_name = 'Mitra[F'; break;
9857
9858 /* 21 — HD */
9859 case 'A:21': voice_name = 'Fatima HD[F'; break;
9860 case 'B:21': voice_name = 'Amir HD[M'; break;
9861 case 'C:21': voice_name = 'Ali HD[M'; break;
9862 case 'D:21': voice_name = 'Mahsa HD[F'; break;
9863 case 'E:21': voice_name = 'Zahra HD[F'; break;
9864 case 'F:21': voice_name = 'Maryam HD[F'; break;
9865 case 'G:21': voice_name = 'Omid HD[M'; break;
9866 case 'H:21': voice_name = 'Setareh HD[F'; break;
9867 case 'I:21': voice_name = 'Mitra HD[F'; break;
9868 case 'J:21': voice_name = 'Reza HD[M'; break;
9869 case 'K:21': voice_name = 'Hossein HD[M'; break;
9870
9871 /* 10 / 11 */
9872 case 'A:10': case 'A:11': voice_name = 'Niloofar[F'; break;
9873 case 'B:10': case 'B:11': voice_name = 'Arash[M'; break;
9874 case 'C:10': case 'C:11': voice_name = 'Kian[M'; break;
9875 case 'D:10': case 'D:11': voice_name = 'Shahin[M'; break;
9876 case 'E:10': case 'E:11': voice_name = 'Farhad[M'; break;
9877 case 'F:10': case 'F:11': voice_name = 'Leila[F'; break;
9878 case 'G:10': case 'G:11': voice_name = 'Sara[F'; break;
9879 case 'H:10': case 'H:11': voice_name = 'Parisa[F'; break;
9880 case 'I:10': case 'I:11': voice_name = 'Navid[M'; break;
9881 case 'J:10': case 'J:11': voice_name = 'Yasmin[F'; break;
9882 case 'K:10': case 'K:11': voice_name = 'Mehdi[M'; break;
9883 case 'L:10': case 'L:11': voice_name = 'Shirin[F'; break;
9884 case 'M:10': case 'M:11': voice_name = 'Pouya[M'; break;
9885 case 'N:10': case 'N:11': voice_name = 'Roya[F'; break;
9886 case 'O:10': case 'O:11': voice_name = 'Saeed[M'; break;
9887 case 'P:10': case 'P:11': voice_name = 'Taraneh[F'; break;
9888 case 'Q:10': case 'Q:11': voice_name = 'Azadeh[F'; break;
9889 case 'R:10': case 'R:11': voice_name = 'Golnaz[F'; break;
9890 case 'S:10': case 'S:11': voice_name = 'Babak[M'; break;
9891 case 'T:10': case 'T:11': voice_name = 'Ehsan[M'; break;
9892 case 'U:10': case 'U:11': voice_name = 'Hasti[F'; break;
9893 case 'V:10': case 'V:11': voice_name = 'Milad[M'; break;
9894 case 'W:10': case 'W:11': voice_name = 'Behnam[M'; break;
9895 case 'X:10': case 'X:11': voice_name = 'Kamran[M'; break;
9896 case 'Y:10': case 'Y:11': voice_name = 'Peyman[M'; break;
9897 case 'Z:10': case 'Z:11': voice_name = 'Shiva[F'; break;
9898 case 'AA:10': case 'AA:11': voice_name = 'Nazanin[F'; break;
9899 case 'AB:10': case 'AB:11': voice_name = 'Mahin[F'; break;
9900 case 'AC:10': case 'AC:11': voice_name = 'Vida[F'; break;
9901 case 'AD:10': case 'AD:11': voice_name = 'Farid[M'; break;
9902 }
9903 else if(lang_code == 'pa')
9904 switch(voice_data) {
9905 case 'A:0': voice_name = 'Preeti[F'; break;
9906
9907 /* 20 */
9908 case 'A:20': voice_name = 'Harleen[F'; break;
9909 case 'B:20': voice_name = 'Sarabjeet[M'; break;
9910 case 'C:20': voice_name = 'Rajinder[M'; break;
9911 case 'D:20': voice_name = 'Navjot[F'; break;
9912 case 'E:20': voice_name = 'Jasleen[F'; break;
9913 case 'F:20': voice_name = 'Amritpal[F'; break;
9914 case 'G:20': voice_name = 'Gurpreet[M'; break;
9915 case 'H:20': voice_name = 'Manpreet[F'; break;
9916 case 'I:20': voice_name = 'Simran[F'; break;
9917
9918 /* 21 — HD */
9919 case 'A:21': voice_name = 'Harleen HD[F'; break;
9920 case 'B:21': voice_name = 'Sarabjeet HD[M'; break;
9921 case 'C:21': voice_name = 'Rajinder HD[M'; break;
9922 case 'D:21': voice_name = 'Navjot HD[F'; break;
9923 case 'E:21': voice_name = 'Jasleen HD[F'; break;
9924 case 'F:21': voice_name = 'Amritpal HD[F'; break;
9925 case 'G:21': voice_name = 'Gurpreet HD[M'; break;
9926 case 'H:21': voice_name = 'Manpreet HD[F'; break;
9927 case 'I:21': voice_name = 'Simran HD[F'; break;
9928 case 'J:21': voice_name = 'Baldev HD[M'; break;
9929 case 'K:21': voice_name = 'Harjit HD[M'; break;
9930
9931 /* 10 / 11 */
9932 case 'A:10': case 'A:11': voice_name = 'Aman[F'; break;
9933 case 'B:10': case 'B:11': voice_name = 'Arjun[M'; break;
9934 case 'C:10': case 'C:11': voice_name = 'Karan[M'; break;
9935 case 'D:10': case 'D:11': voice_name = 'Jaspreet[M'; break;
9936 case 'E:10': case 'E:11': voice_name = 'Rohit[M'; break;
9937 case 'F:10': case 'F:11': voice_name = 'Navdeep[F'; break;
9938 case 'G:10': case 'G:11': voice_name = 'Simranjit[F'; break;
9939 case 'H:10': case 'H:11': voice_name = 'Gurleen[F'; break;
9940 case 'I:10': case 'I:11': voice_name = 'Harpreet[M'; break;
9941 case 'J:10': case 'J:11': voice_name = 'Mehak[F'; break;
9942 case 'K:10': case 'K:11': voice_name = 'Daljit[M'; break;
9943 case 'L:10': case 'L:11': voice_name = 'Poonam[F'; break;
9944 case 'M:10': case 'M:11': voice_name = 'Ranjit[M'; break;
9945 case 'N:10': case 'N:11': voice_name = 'Komal[F'; break;
9946 case 'O:10': case 'O:11': voice_name = 'Sukhdev[M'; break;
9947 case 'P:10': case 'P:11': voice_name = 'Rekha[F'; break;
9948 case 'Q:10': case 'Q:11': voice_name = 'Jasmeet[F'; break;
9949 case 'R:10': case 'R:11': voice_name = 'Harnoor[F'; break;
9950 case 'S:10': case 'S:11': voice_name = 'Manjit[M'; break;
9951 case 'T:10': case 'T:11': voice_name = 'Kuldeep[M'; break;
9952 case 'U:10': case 'U:11': voice_name = 'Navreet[F'; break;
9953 case 'V:10': case 'V:11': voice_name = 'Param[M'; break;
9954 case 'W:10': case 'W:11': voice_name = 'Gurdeep[M'; break;
9955 case 'X:10': case 'X:11': voice_name = 'Iqbal[M'; break;
9956 case 'Y:10': case 'Y:11': voice_name = 'Sandeep[M'; break;
9957 case 'Z:10': case 'Z:11': voice_name = 'Heena[F'; break;
9958 case 'AA:10': case 'AA:11': voice_name = 'Rupinder[F'; break;
9959 case 'AB:10': case 'AB:11': voice_name = 'Baljit[F'; break;
9960 case 'AC:10': case 'AC:11': voice_name = 'Charan[F'; break;
9961 case 'AD:10': case 'AD:11': voice_name = 'Tejinder[M'; break;
9962 }
9963 else if(lang_code == 'pa-Arab')
9964 switch(voice_data) {
9965
9966 /* 20 */
9967 case 'A:20': voice_name = 'Harleen[F'; break;
9968 case 'B:20': voice_name = 'Sarabjeet[M'; break;
9969 case 'C:20': voice_name = 'Rajinder[M'; break;
9970 case 'D:20': voice_name = 'Navjot[F'; break;
9971 case 'E:20': voice_name = 'Jasleen[F'; break;
9972 case 'F:20': voice_name = 'Amritpal[F'; break;
9973 case 'G:20': voice_name = 'Gurpreet[M'; break;
9974 case 'H:20': voice_name = 'Manpreet[F'; break;
9975 case 'I:20': voice_name = 'Simran[F'; break;
9976
9977 /* 21 — HD */
9978 case 'A:21': voice_name = 'Harleen HD[F'; break;
9979 case 'B:21': voice_name = 'Sarabjeet HD[M'; break;
9980 case 'C:21': voice_name = 'Rajinder HD[M'; break;
9981 case 'D:21': voice_name = 'Navjot HD[F'; break;
9982 case 'E:21': voice_name = 'Jasleen HD[F'; break;
9983 case 'F:21': voice_name = 'Amritpal HD[F'; break;
9984 case 'G:21': voice_name = 'Gurpreet HD[M'; break;
9985 case 'H:21': voice_name = 'Manpreet HD[F'; break;
9986 case 'I:21': voice_name = 'Simran HD[F'; break;
9987 case 'J:21': voice_name = 'Bilal HD[M'; break;
9988 case 'K:21': voice_name = 'Usman HD[M'; break;
9989 }
9990 else if(lang_code == 'ps-AF')
9991 switch(voice_data) {
9992
9993 /* 10 / 11 */
9994
9995 case 'A:10': case 'A:11': voice_name = 'Amina[F'; break;
9996 case 'B:10': case 'B:11': voice_name = 'Ahmad[M'; break;
9997 case 'C:10': case 'C:11': voice_name = 'Farid[M'; break;
9998 case 'D:10': case 'D:11': voice_name = 'Hamid[M'; break;
9999 case 'E:10': case 'E:11': voice_name = 'Karim[M'; break;
10000
10001 case 'F:10': case 'F:11': voice_name = 'Laila[F'; break;
10002 case 'G:10': case 'G:11': voice_name = 'Zahra[F'; break;
10003 case 'H:10': case 'H:11': voice_name = 'Nadia[F'; break;
10004 case 'I:10': case 'I:11': voice_name = 'Jalal[M'; break;
10005 case 'J:10': case 'J:11': voice_name = 'Maryam[F'; break;
10006
10007 case 'K:10': case 'K:11': voice_name = 'Omar[M'; break;
10008 case 'L:10': case 'L:11': voice_name = 'Samira[F'; break;
10009 case 'M:10': case 'M:11': voice_name = 'Latif[M'; break;
10010 case 'N:10': case 'N:11': voice_name = 'Parwana[F'; break;
10011 case 'O:10': case 'O:11': voice_name = 'Rahim[M'; break;
10012
10013 case 'P:10': case 'P:11': voice_name = 'Shabnam[F'; break;
10014 case 'Q:10': case 'Q:11': voice_name = 'Tariq[M'; break;
10015 case 'R:10': case 'R:11': voice_name = 'Zarmina[F'; break;
10016 case 'S:10': case 'S:11': voice_name = 'Wali[M'; break;
10017 case 'T:10': case 'T:11': voice_name = 'Nazira[F'; break;
10018
10019 case 'U:10': case 'U:11': voice_name = 'Faisal[M'; break;
10020 case 'V:10': case 'V:11': voice_name = 'Roya[F'; break;
10021 case 'W:10': case 'W:11': voice_name = 'Najeeb[M'; break;
10022 case 'X:10': case 'X:11': voice_name = 'Adela[F'; break;
10023 case 'Y:10': case 'Y:11': voice_name = 'Basir[M'; break;
10024
10025 case 'Z:10': case 'Z:11': voice_name = 'Malala[F'; break;
10026 case 'AA:10': case 'AA:11': voice_name = 'Qadir[M'; break;
10027 case 'AB:10': case 'AB:11': voice_name = 'Shukria[F'; break;
10028 case 'AC:10': case 'AC:11': voice_name = 'Haroon[M'; break;
10029 case 'AD:10': case 'AD:11': voice_name = 'Zulekha[F'; break;
10030 }
10031 else if(lang_code == 'iw')
10032 switch(voice_data) {
10033 case 'A:0': voice_name = 'Sarah[F'; break;
10034
10035 /* 20 */
10036 case 'A:20': voice_name = 'Lior[F'; break;
10037 case 'B:20': voice_name = 'Avraham[M'; break;
10038 case 'C:20': voice_name = 'Ami[M'; break;
10039 case 'D:20': voice_name = 'Tamar[F'; break;
10040 case 'E:20': voice_name = 'Noa[F'; break;
10041 case 'F:20': voice_name = 'Noga[F'; break;
10042 case 'G:20': voice_name = 'Oren[M'; break;
10043 case 'H:20': voice_name = 'Avigail[F'; break;
10044 case 'I:20': voice_name = 'Esther[F'; break;
10045
10046 /* 21 — HD */
10047 case 'A:21': voice_name = 'Lior HD[F'; break;
10048 case 'B:21': voice_name = 'Avraham HD[M'; break;
10049 case 'C:21': voice_name = 'Ami HD[M'; break;
10050 case 'D:21': voice_name = 'Tamar HD[F'; break;
10051 case 'E:21': voice_name = 'Noa HD[F'; break;
10052 case 'F:21': voice_name = 'Noga HD[F'; break;
10053 case 'G:21': voice_name = 'Oren HD[M'; break;
10054 case 'H:21': voice_name = 'Avigail HD[F'; break;
10055 case 'I:21': voice_name = 'Esther HD[F'; break;
10056 case 'J:21': voice_name = 'Yonatan HD[M'; break;
10057 case 'K:21': voice_name = 'Moshe HD[M'; break;
10058
10059 /* 8 / 9 / 10 / 11 — unified, gender map en-US */
10060 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Shira[F'; break;
10061 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Eitan[M'; break;
10062 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Ido[M'; break;
10063 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Ariel[M'; break;
10064 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Nadav[M'; break;
10065 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Yael[F'; break;
10066 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Talia[F'; break;
10067 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Maya[F'; break;
10068 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Omer[M'; break;
10069 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Leah[F'; break;
10070 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Itamar[M'; break;
10071 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Rina[F'; break;
10072 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Shlomo[M'; break;
10073 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Michal[F'; break;
10074 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Yossi[M'; break;
10075 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Dalia[F'; break;
10076 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Tamarit[F'; break;
10077 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Hila[F'; break;
10078 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Doron[M'; break;
10079 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Asher[M'; break;
10080 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Gali[F'; break;
10081 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Erez[M'; break;
10082 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Boaz[M'; break;
10083 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Lavi[M'; break;
10084 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Rami[M'; break;
10085 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Orly[F'; break;
10086 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Avi[M'; break;
10087 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Neta[F'; break;
10088 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Liat[F'; break;
10089 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Yaron[M'; break;
10090 }
10091 else if(lang_code == 'cmn-TW')
10092 switch(voice_data) {
10093 case 'A:0': voice_name = 'Qian[F'; break;
10094
10095 case 'A:2': voice_name = 'Sijia[F'; break;
10096 case 'B:2': voice_name = 'Xiong[M'; break;
10097 case 'C:2': voice_name = 'Liang[M'; break;
10098
10099 case 'A:20': voice_name = 'Jingyi[F'; break;
10100 case 'B:20': voice_name = 'Zhihao[M'; break;
10101 case 'C:20': voice_name = 'Haoyu[M'; break;
10102 case 'D:20': voice_name = 'Peiru[F'; break;
10103 case 'E:20': voice_name = 'Shihan[F'; break;
10104 case 'F:20': voice_name = 'Fenglin[F'; break;
10105 case 'G:20': voice_name = 'Cheng[M'; break;
10106 case 'H:20': voice_name = 'Xiao[F'; break;
10107 case 'I:20': voice_name = 'Hua[F'; break;
10108
10109 case 'A:21': voice_name = 'Jingyi HD[F'; break;
10110 case 'B:21': voice_name = 'Zhihao HD[M'; break;
10111 case 'C:21': voice_name = 'Haoyu HD[M'; break;
10112 case 'D:21': voice_name = 'Peiru HD[F'; break;
10113 case 'E:21': voice_name = 'Shihan HD[F'; break;
10114 case 'F:21': voice_name = 'Fenglin HD[F'; break;
10115 case 'G:21': voice_name = 'Cheng HD[M'; break;
10116 case 'H:21': voice_name = 'Xiao HD[F'; break;
10117 case 'I:21': voice_name = 'Hua HD[F'; break;
10118 case 'J:21': voice_name = 'Bo HD[M'; break;
10119 case 'K:21': voice_name = 'Chen HD[M'; break;
10120
10121 // 8 / 9 / 10 / 11 — одна серия, одинаковые имена, гендер по en-US
10122 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Meixin[F'; break;
10123 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Haoran[M'; break;
10124 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Junwei[M'; break;
10125 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Yichen[M'; break;
10126 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Zhongyi[M'; break;
10127 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Shufen[F'; break;
10128 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Yuting[F'; break;
10129 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Xinyi[F'; break;
10130 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Zhenyu[M'; break;
10131 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Ruofen[F'; break;
10132 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Tianyu[M'; break;
10133 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Yujie[F'; break;
10134 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Yuze[M'; break;
10135 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Jiawen[F'; break;
10136 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Zhiyuan[M'; break;
10137 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Wenxin[F'; break;
10138 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Kexin[F'; break;
10139 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Lingyu[F'; break;
10140 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Chenghao[M'; break;
10141 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Yunfei[M'; break;
10142 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Zihan[F'; break;
10143 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Guang[M'; break;
10144 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Jian[M'; break;
10145 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Shuo[M'; break;
10146 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Xiang[M'; break;
10147 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Yating[F'; break;
10148 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Peng[M'; break;
10149 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Minyi[F'; break;
10150 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Xiaoyu[F'; break;
10151 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Rui[M'; break;
10152 }
10153 else if(lang_code == 'cmn-CN')
10154 switch(voice_data) {
10155 case 'A:0': voice_name = 'Qian[F'; break;
10156
10157 case 'A:2': voice_name = 'Lan[F'; break;
10158 case 'B:2': voice_name = 'Ze[M'; break;
10159 case 'C:2': voice_name = 'Jing[M'; break;
10160 case 'D:2': voice_name = 'Xin[F'; break;
10161
10162 case 'A:20': voice_name = 'Lili[F'; break;
10163 case 'B:20': voice_name = 'Wei[M'; break;
10164 case 'C:20': voice_name = 'Jianguo[M'; break;
10165 case 'D:20': voice_name = 'Meili[F'; break;
10166 case 'E:20': voice_name = 'Xia[F'; break;
10167 case 'F:20': voice_name = 'Yun[F'; break;
10168 case 'G:20': voice_name = 'Lei[M'; break;
10169
10170 case 'H:20': voice_name = 'Huan[F'; break; // FIX: было Lan (пересекалось с A:2)
10171 case 'I:20': voice_name = 'Xue[F'; break;
10172
10173 case 'A:21': voice_name = 'Lili HD[F'; break;
10174 case 'B:21': voice_name = 'Wei HD[M'; break;
10175 case 'C:21': voice_name = 'Jianguo HD[M'; break;
10176 case 'D:21': voice_name = 'Meili HD[F'; break;
10177 case 'E:21': voice_name = 'Xia HD[F'; break;
10178 case 'F:21': voice_name = 'Yun HD[F'; break;
10179 case 'G:21': voice_name = 'Lei HD[M'; break;
10180 case 'H:21': voice_name = 'Huan HD[F'; break;
10181 case 'I:21': voice_name = 'Xue HD[F'; break;
10182 case 'J:21': voice_name = 'Bo HD[M'; break;
10183 case 'K:21': voice_name = 'Chen HD[M'; break;
10184
10185 // 8/9/10/11 — одна серия A..AD, одинаковые имена, гендер строго по en-US паттерну
10186 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Meiwen[F'; break; // A F
10187 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Haoran[M'; break; // B M
10188 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Junhui[M'; break; // C M
10189 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Yichen[M'; break; // D M
10190 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Zhihao[M'; break; // E M
10191 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Shuhan[F'; break; // F F
10192 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Yutong[F'; break; // G F
10193 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Xinyi[F'; break; // H F
10194 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Zhenyu[M'; break; // I M
10195 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Ruoxi[F'; break; // J F
10196 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Tianyu[M'; break; // K M
10197 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Yujie[F'; break; // L F
10198 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Yuze[M'; break; // M M
10199 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Jiaqi[F'; break; // N F
10200 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Zhiyuan[M'; break; // O M
10201 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Wenxiu[F'; break; // P F
10202 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Kexin[F'; break; // Q F
10203 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Lingyu[F'; break; // R F
10204 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Cheng[M'; break; // S M
10205 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Yunfei[M'; break; // T M
10206 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Zihan[F'; break; // U F
10207 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Guang[M'; break; // V M
10208 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Jian[M'; break; // W M
10209 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Shuo[M'; break; // X M
10210 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Xiang[M'; break; // Y M
10211 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Yating[F'; break; // Z F
10212 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Peng[M'; break; // AA M
10213 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Minjun[F'; break; // AB F
10214 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Xiaoyu[F'; break; // AC F
10215 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Rui[M'; break; // AD M
10216 }
10217 else if (lang_code == 'ca-ES')
10218 switch (voice_data) {
10219 case 'A:0': voice_name = 'Berta[F'; break;
10220 case 'A:1': voice_name = 'Ariadna[F'; break;
10221
10222 case 'A:20': voice_name = 'Marta[F'; break;
10223 case 'B:20': voice_name = 'Roger[M'; break;
10224 case 'C:20': voice_name = 'Pol[M'; break;
10225 case 'D:20': voice_name = 'Laia[F'; break;
10226 case 'E:20': voice_name = 'Clara[F'; break;
10227 case 'F:20': voice_name = 'Paula[F'; break;
10228 case 'G:20': voice_name = 'Ferran[M'; break;
10229 case 'H:20': voice_name = 'Irene[F'; break;
10230 case 'I:20': voice_name = 'Aina[F'; break;
10231
10232 case 'A:21': voice_name = 'Marta HD[F'; break;
10233 case 'B:21': voice_name = 'Roger HD[M'; break;
10234 case 'C:21': voice_name = 'Pol HD[M'; break;
10235 case 'D:21': voice_name = 'Laia HD[F'; break;
10236 case 'E:21': voice_name = 'Clara HD[F'; break;
10237 case 'F:21': voice_name = 'Paula HD[F'; break;
10238 case 'G:21': voice_name = 'Ferran HD[M'; break;
10239 case 'H:21': voice_name = 'Irene HD[F'; break;
10240 case 'I:21': voice_name = 'Aina HD[F'; break;
10241 case 'J:21': voice_name = 'Jordi HD[M'; break;
10242 case 'K:21': voice_name = 'Marc HD[M'; break;
10243
10244 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Nuria[F'; break;
10245 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Jordi[M'; break;
10246 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Arnau[M'; break;
10247 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Pol[M'; break;
10248 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Pau[M'; break;
10249 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Laia[F'; break;
10250 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Clara[F'; break;
10251 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Aina[F'; break;
10252 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Marc[M'; break;
10253 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mireia[F'; break;
10254 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Oriol[M'; break;
10255 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Iria[F'; break;
10256 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Ferran[M'; break;
10257 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Mariona[F'; break;
10258 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Roger[M'; break;
10259 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Paula[F'; break;
10260 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Nerea[F'; break;
10261 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Carla[F'; break;
10262 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Nil[M'; break;
10263 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Adria[M'; break;
10264 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Elia[F'; break;
10265 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Joan[M'; break;
10266 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Miquel[M'; break;
10267 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Guillem[M'; break;
10268 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Ramon[M'; break;
10269 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Gemma[F'; break;
10270 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Pere[M'; break;
10271 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Eulalia[F'; break;
10272 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Neus[F'; break;
10273 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Enric[M'; break;
10274 }
10275 else if(lang_code == 'ceb-PH')
10276 switch(voice_data) {
10277
10278 /* 10 / 11 */
10279 case 'A:10': case 'A:11': voice_name = 'Maria[F'; break;
10280 case 'B:10': case 'B:11': voice_name = 'Juan[M'; break;
10281 case 'C:10': case 'C:11': voice_name = 'Pedro[M'; break;
10282 case 'D:10': case 'D:11': voice_name = 'Jose[M'; break;
10283 case 'E:10': case 'E:11': voice_name = 'Mark[M'; break;
10284
10285 case 'F:10': case 'F:11': voice_name = 'Ana[F'; break;
10286 case 'G:10': case 'G:11': voice_name = 'Angela[F'; break;
10287 case 'H:10': case 'H:11': voice_name = 'Grace[F'; break;
10288 case 'I:10': case 'I:11': voice_name = 'Carlo[M'; break;
10289 case 'J:10': case 'J:11': voice_name = 'Liza[F'; break;
10290
10291 case 'K:10': case 'K:11': voice_name = 'Daniel[M'; break;
10292 case 'L:10': case 'L:11': voice_name = 'Rosa[F'; break;
10293 case 'M:10': case 'M:11': voice_name = 'Paolo[M'; break;
10294 case 'N:10': case 'N:11': voice_name = 'Catherine[F'; break;
10295 case 'O:10': case 'O:11': voice_name = 'Miguel[M'; break;
10296
10297 case 'P:10': case 'P:11': voice_name = 'Sofia[F'; break;
10298 case 'Q:10': case 'Q:11': voice_name = 'Luna[F'; break;
10299 case 'R:10': case 'R:11': voice_name = 'Ella[F'; break;
10300 case 'S:10': case 'S:11': voice_name = 'Gabriel[M'; break;
10301 case 'T:10': case 'T:11': voice_name = 'Luis[M'; break;
10302
10303 case 'U:10': case 'U:11': voice_name = 'Mia[F'; break;
10304 case 'V:10': case 'V:11': voice_name = 'Noel[M'; break;
10305 case 'W:10': case 'W:11': voice_name = 'Adrian[M'; break;
10306 case 'X:10': case 'X:11': voice_name = 'Victor[M'; break;
10307 case 'Y:10': case 'Y:11': voice_name = 'Rafael[M'; break;
10308
10309 case 'Z:10': case 'Z:11': voice_name = 'Bianca[F'; break;
10310 case 'AA:10': case 'AA:11': voice_name = 'Enzo[M'; break;
10311 case 'AB:10': case 'AB:11': voice_name = 'Clara[F'; break;
10312 case 'AC:10': case 'AC:11': voice_name = 'Isabel[F'; break;
10313 case 'AD:10': case 'AD:11': voice_name = 'Diego[M'; break;
10314 }
10315 else if(lang_code == 'yue')
10316 switch(voice_data) {
10317 case 'A:0': voice_name = 'Mei[F'; break;
10318
10319 case 'A:20': voice_name = 'Ling[F'; break;
10320 case 'B:20': voice_name = 'Chi[M'; break;
10321 case 'C:20': voice_name = 'Lok[M'; break;
10322 case 'D:20': voice_name = 'Sum[F'; break;
10323 case 'E:20': voice_name = 'Yee[F'; break;
10324 case 'F:20': voice_name = 'Ting[F'; break;
10325 case 'G:20': voice_name = 'Wai[M'; break;
10326 case 'H:20': voice_name = 'Ho[M'; break;
10327 case 'I:20': voice_name = 'Yan[F'; break;
10328
10329 case 'A:21': voice_name = 'Ling HD[F'; break;
10330 case 'B:21': voice_name = 'Chi HD[M'; break;
10331 case 'C:21': voice_name = 'Lok HD[M'; break;
10332 case 'D:21': voice_name = 'Sum HD[F'; break;
10333 case 'E:21': voice_name = 'Yee HD[F'; break;
10334 case 'F:21': voice_name = 'Ting HD[F'; break;
10335 case 'G:21': voice_name = 'Wai HD[M'; break;
10336 case 'H:21': voice_name = 'Ho HD[M'; break;
10337 case 'I:21': voice_name = 'Yan HD[F'; break;
10338 case 'J:21': voice_name = 'Ming HD[M'; break;
10339 case 'K:21': voice_name = 'Jun HD[M'; break;
10340 }
10341 else if (lang_code == 'bg-BG')
10342 switch (voice_data) {
10343 case 'A:0':
10344 voice_name = 'Sofia[F';
10345 break;
10346 case 'A:1':
10347 voice_name = 'Maya[F';
10348 break;
10349
10350 case 'A:20':
10351 voice_name = 'Maria[F';
10352 break;
10353 case 'B:20':
10354 voice_name = 'Ivan[M';
10355 break;
10356 case 'C:20':
10357 voice_name = 'Nikolay[M';
10358 break;
10359 case 'D:20':
10360 voice_name = 'Elena[F';
10361 break;
10362 case 'E:20':
10363 voice_name = 'Ivanka[F';
10364 break;
10365 case 'F:20':
10366 voice_name = 'Desislava[F';
10367 break;
10368 case 'G:20':
10369 voice_name = 'Georgi[M';
10370 break;
10371 case 'H:20':
10372 voice_name = 'Hristo[M';
10373 break;
10374 case 'I:20':
10375 voice_name = 'Milena[F';
10376 break;
10377
10378 case 'A:21':
10379 voice_name = 'Maria HD[F';
10380 break;
10381 case 'B:21':
10382 voice_name = 'Ivan HD[M';
10383 break;
10384 case 'C:21':
10385 voice_name = 'Nikolay HD[M';
10386 break;
10387 case 'D:21':
10388 voice_name = 'Elena HD[F';
10389 break;
10390 case 'E:21':
10391 voice_name = 'Ivanka HD[F';
10392 break;
10393 case 'F:21':
10394 voice_name = 'Desislava HD[F';
10395 break;
10396 case 'G:21':
10397 voice_name = 'Georgi HD[M';
10398 break;
10399 case 'H:21':
10400 voice_name = 'Hristo HD[M';
10401 break;
10402 case 'I:21':
10403 voice_name = 'Milena HD[F';
10404 break;
10405 case 'J:21':
10406 voice_name = 'Martin HD[M';
10407 break;
10408 case 'K:21':
10409 voice_name = 'Kaloyan HD[M';
10410 break;
10411
10412 case 'A:8': case 'A:9': case 'A:10': case 'A:11':
10413 voice_name = 'Gabriela[F';
10414 break;
10415 case 'B:8': case 'B:9': case 'B:10': case 'B:11':
10416 voice_name = 'Borislav[M';
10417 break;
10418 case 'C:8': case 'C:9': case 'C:10': case 'C:11':
10419 voice_name = 'Dimitar[M';
10420 break;
10421 case 'D:8': case 'D:9': case 'D:10': case 'D:11':
10422 voice_name = 'Stoyan[M';
10423 break;
10424 case 'E:8': case 'E:9': case 'E:10': case 'E:11':
10425 voice_name = 'Valentin[M';
10426 break;
10427 case 'F:8': case 'F:9': case 'F:10': case 'F:11':
10428 voice_name = 'Teodora[F';
10429 break;
10430 case 'G:8': case 'G:9': case 'G:10': case 'G:11':
10431 voice_name = 'Radost[F';
10432 break;
10433 case 'H:8': case 'H:9': case 'H:10': case 'H:11':
10434 voice_name = 'Veselina[F';
10435 break;
10436 case 'I:8': case 'I:9': case 'I:10': case 'I:11':
10437 voice_name = 'Kiril[M';
10438 break;
10439 case 'J:8': case 'J:9': case 'J:10': case 'J:11':
10440 voice_name = 'Elitsa[F';
10441 break;
10442 case 'K:8': case 'K:9': case 'K:10': case 'K:11':
10443 voice_name = 'Todor[M';
10444 break;
10445 case 'L:8': case 'L:9': case 'L:10': case 'L:11':
10446 voice_name = 'Raya[F';
10447 break;
10448 case 'M:8': case 'M:9': case 'M:10': case 'M:11':
10449 voice_name = 'Atanas[M';
10450 break;
10451 case 'N:8': case 'N:9': case 'N:10': case 'N:11':
10452 voice_name = 'Margarita[F';
10453 break;
10454 case 'O:8': case 'O:9': case 'O:10': case 'O:11':
10455 voice_name = 'Plamen[M';
10456 break;
10457 case 'P:8': case 'P:9': case 'P:10': case 'P:11':
10458 voice_name = 'Nadezhda[F';
10459 break;
10460 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11':
10461 voice_name = 'Yana[F';
10462 break;
10463 case 'R:8': case 'R:9': case 'R:10': case 'R:11':
10464 voice_name = 'Violeta[F';
10465 break;
10466 case 'S:8': case 'S:9': case 'S:10': case 'S:11':
10467 voice_name = 'Milen[M';
10468 break;
10469 case 'T:8': case 'T:9': case 'T:10': case 'T:11':
10470 voice_name = 'Radoslav[M';
10471 break;
10472 case 'U:8': case 'U:9': case 'U:10': case 'U:11':
10473 voice_name = 'Kristina[F';
10474 break;
10475 case 'V:8': case 'V:9': case 'V:10': case 'V:11':
10476 voice_name = 'Vladimir[M';
10477 break;
10478 case 'W:8': case 'W:9': case 'W:10': case 'W:11':
10479 voice_name = 'Simeon[M';
10480 break;
10481 case 'X:8': case 'X:9': case 'X:10': case 'X:11':
10482 voice_name = 'Angel[M';
10483 break;
10484 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11':
10485 voice_name = 'Bozhidar[M';
10486 break;
10487 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11':
10488 voice_name = 'Tsveta[F';
10489 break;
10490 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11':
10491 voice_name = 'Stilian[M';
10492 break;
10493 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11':
10494 voice_name = 'Silvia[F';
10495 break;
10496 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11':
10497 voice_name = 'Nevena[F';
10498 break;
10499 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11':
10500 voice_name = 'Petko[M';
10501 break;
10502 }
10503 else if (lang_code == 'bs')
10504 switch (voice_data) {
10505
10506 // ===== base =====
10507 case 'A:0':
10508 voice_name = 'Almir[M';
10509 break;
10510
10511 // ===== OpenAI (20) =====
10512 case 'A:20':
10513 voice_name = 'Amina[F';
10514 break;
10515 case 'B:20':
10516 voice_name = 'Emir[M';
10517 break;
10518 case 'C:20':
10519 voice_name = 'Nermin[M';
10520 break;
10521 case 'D:20':
10522 voice_name = 'Lejla[F';
10523 break;
10524 case 'E:20':
10525 voice_name = 'Selma[F';
10526 break;
10527 case 'F:20':
10528 voice_name = 'Esma[F';
10529 break;
10530 case 'G:20':
10531 voice_name = 'Goran[M';
10532 break;
10533 case 'H:20':
10534 voice_name = 'Ivana[F';
10535 break;
10536 case 'I:20':
10537 voice_name = 'Nikola[M';
10538 break;
10539
10540 // ===== OpenAI HD (21) — SAME + HD + J/K =====
10541 case 'A:21':
10542 voice_name = 'Amina HD[F';
10543 break;
10544 case 'B:21':
10545 voice_name = 'Emir HD[M';
10546 break;
10547 case 'C:21':
10548 voice_name = 'Nermin HD[M';
10549 break;
10550 case 'D:21':
10551 voice_name = 'Lejla HD[F';
10552 break;
10553 case 'E:21':
10554 voice_name = 'Selma HD[F';
10555 break;
10556 case 'F:21':
10557 voice_name = 'Esma HD[F';
10558 break;
10559 case 'G:21':
10560 voice_name = 'Goran HD[M';
10561 break;
10562 case 'H:21':
10563 voice_name = 'Ivana HD[F';
10564 break;
10565 case 'I:21':
10566 voice_name = 'Nikola HD[M';
10567 break;
10568 case 'J:21':
10569 voice_name = 'Marko HD[M';
10570 break;
10571 case 'K:21':
10572 voice_name = 'Stefan HD[M';
10573 break;
10574 }
10575 else if (lang_code == 'bn-IN')
10576 switch (voice_data) {
10577
10578 // ===== base =====
10579 case 'A:0': voice_name = 'Preeti[F'; break;
10580
10581 // ===== legacy (2) =====
10582 case 'A:2': voice_name = 'Puja[F'; break;
10583 case 'B:2': voice_name = 'Arnab[M'; break;
10584
10585 // ===== OpenAI (20) =====
10586 case 'A:20': voice_name = 'Riya[F'; break;
10587 case 'B:20': voice_name = 'Arif[M'; break;
10588 case 'C:20': voice_name = 'Imran[M'; break;
10589 case 'D:20': voice_name = 'Shila[F'; break;
10590 case 'E:20': voice_name = 'Tania[F'; break;
10591 case 'F:20': voice_name = 'Farzana[F'; break;
10592 case 'G:20': voice_name = 'Sourav[M'; break;
10593 case 'H:20': voice_name = 'Moumita[F'; break;
10594 case 'I:20': voice_name = 'Rafique[M'; break;
10595
10596 // ===== OpenAI HD (21) — SAME voices + HD + 2 (FIX K gender) =====
10597 case 'A:21': voice_name = 'Riya HD[F'; break;
10598 case 'B:21': voice_name = 'Arif HD[M'; break;
10599 case 'C:21': voice_name = 'Imran HD[M'; break;
10600 case 'D:21': voice_name = 'Shila HD[F'; break;
10601 case 'E:21': voice_name = 'Tania HD[F'; break;
10602 case 'F:21': voice_name = 'Farzana HD[F'; break;
10603 case 'G:21': voice_name = 'Sourav HD[M'; break;
10604 case 'H:21': voice_name = 'Moumita HD[F'; break;
10605 case 'I:21': voice_name = 'Rafique HD[M'; break;
10606 case 'J:21': voice_name = 'Anirban HD[M'; break;
10607 case 'K:21': voice_name = 'Sabyasachi HD[M'; break; // FIX: was Ishita HD[F]
10608
10609 // ===== Chirp3 + Gemini (8 / 10 / 11) — ONE SERIES =====
10610 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Aditi[F'; break;
10611 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Arjun[M'; break;
10612 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Rohan[M'; break;
10613 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Sayan[M'; break;
10614 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Debanjan[M'; break;
10615 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Madhuri[F'; break;
10616 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Ishani[F'; break;
10617 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Sohini[F'; break;
10618 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Niloy[M'; break;
10619 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Priyanka[F'; break;
10620 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Anirudh[M'; break;
10621 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Trisha[F'; break;
10622 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Kunal[M'; break;
10623 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Koel[F'; break;
10624 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Debjit[M'; break;
10625 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Tanushree[F'; break;
10626 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Rupali[F'; break;
10627 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Sanchari[F'; break;
10628 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Rahul[M'; break;
10629 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Arko[M'; break;
10630 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Oindrila[F'; break;
10631 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Subhajit[M'; break;
10632 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Tapan[M'; break;
10633 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Ritwik[M'; break;
10634 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Kaushik[M'; break;
10635 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Mousumi[F'; break;
10636 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Biplab[M'; break;
10637 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Sayantika[F'; break;
10638 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Mitali[F'; break;
10639 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Suman[M'; break;
10640 }
10641 else if(lang_code == 'bn-BD')
10642 switch(voice_data) {
10643
10644 /* base */
10645 case 'A:0': voice_name = 'Ayesha[F'; break;
10646
10647 /* 10 / 11 */
10648 case 'A:10': case 'A:11': voice_name = 'Riya[F'; break;
10649 case 'B:10': case 'B:11': voice_name = 'Arif[M'; break;
10650 case 'C:10': case 'C:11': voice_name = 'Imran[M'; break;
10651 case 'D:10': case 'D:11': voice_name = 'Rahim[M'; break;
10652 case 'E:10': case 'E:11': voice_name = 'Hasan[M'; break;
10653
10654 case 'F:10': case 'F:11': voice_name = 'Nusrat[F'; break;
10655 case 'G:10': case 'G:11': voice_name = 'Farzana[F'; break;
10656 case 'H:10': case 'H:11': voice_name = 'Tania[F'; break;
10657 case 'I:10': case 'I:11': voice_name = 'Kamal[M'; break;
10658 case 'J:10': case 'J:11': voice_name = 'Maya[F'; break;
10659
10660 case 'K:10': case 'K:11': voice_name = 'Rashid[M'; break;
10661 case 'L:10': case 'L:11': voice_name = 'Puja[F'; break;
10662 case 'M:10': case 'M:11': voice_name = 'Tanvir[M'; break;
10663 case 'N:10': case 'N:11': voice_name = 'Shila[F'; break;
10664 case 'O:10': case 'O:11': voice_name = 'Jamal[M'; break;
10665
10666 case 'P:10': case 'P:11': voice_name = 'Sadia[F'; break;
10667 case 'Q:10': case 'Q:11': voice_name = 'Lamia[F'; break;
10668 case 'R:10': case 'R:11': voice_name = 'Mariam[F'; break;
10669 case 'S:10': case 'S:11': voice_name = 'Sabbir[M'; break;
10670 case 'T:10': case 'T:11': voice_name = 'Nayeem[M'; break;
10671
10672 case 'U:10': case 'U:11': voice_name = 'Ruma[F'; break;
10673 case 'V:10': case 'V:11': voice_name = 'Fahim[M'; break;
10674 case 'W:10': case 'W:11': voice_name = 'Shakil[M'; break;
10675 case 'X:10': case 'X:11': voice_name = 'Nabil[M'; break;
10676 case 'Y:10': case 'Y:11': voice_name = 'Rafi[M'; break;
10677
10678 case 'Z:10': case 'Z:11': voice_name = 'Lipi[F'; break;
10679 case 'AA:10': case 'AA:11': voice_name = 'Shanto[M'; break;
10680 case 'AB:10': case 'AB:11': voice_name = 'Nadia[F'; break;
10681 case 'AC:10': case 'AC:11': voice_name = 'Fariha[F'; break;
10682 case 'AD:10': case 'AD:11': voice_name = 'Rakib[M'; break;
10683 }
10684 else if (lang_code == 'eu-ES')
10685 switch (voice_data) {
10686
10687 // ===== base =====
10688 case 'A:0': voice_name = 'Oihane[F'; break;
10689
10690 // ===== legacy (1) =====
10691 case 'A:1': voice_name = 'Eider[F'; break;
10692
10693 // ===== OpenAI (20) =====
10694 case 'A:20': voice_name = 'Ane[F'; break;
10695 case 'B:20': voice_name = 'Iker[M'; break;
10696 case 'C:20': voice_name = 'Mikel[M'; break;
10697 case 'D:20': voice_name = 'Nerea[F'; break;
10698 case 'E:20': voice_name = 'Aitor[M'; break;
10699 case 'F:20': voice_name = 'Leire[F'; break;
10700 case 'G:20': voice_name = 'Unai[M'; break;
10701 case 'H:20': voice_name = 'Maialen[F'; break;
10702 case 'I:20': voice_name = 'Gorka[M'; break;
10703
10704 // ===== OpenAI HD (21) — SAME voices + HD + 2 =====
10705 case 'A:21': voice_name = 'Ane HD[F'; break;
10706 case 'B:21': voice_name = 'Iker HD[M'; break;
10707 case 'C:21': voice_name = 'Mikel HD[M'; break;
10708 case 'D:21': voice_name = 'Nerea HD[F'; break;
10709 case 'E:21': voice_name = 'Aitor HD[M'; break;
10710 case 'F:21': voice_name = 'Leire HD[F'; break;
10711 case 'G:21': voice_name = 'Unai HD[M'; break;
10712 case 'H:21': voice_name = 'Maialen HD[F'; break;
10713 case 'I:21': voice_name = 'Gorka HD[M'; break;
10714 case 'J:21': voice_name = 'Asier HD[M'; break;
10715 case 'K:21': voice_name = 'Gaizka HD[M'; break;
10716
10717 // ===== Gemini (10 / 11) — ONE SERIES =====
10718 case 'A:10': case 'A:11': voice_name = 'Uxue[F'; break;
10719 case 'B:10': case 'B:11': voice_name = 'Jon[M'; break;
10720 case 'C:10': case 'C:11': voice_name = 'Oihan[M'; break;
10721 case 'D:10': case 'D:11': voice_name = 'Gontzal[M'; break;
10722 case 'E:10': case 'E:11': voice_name = 'Peru[M'; break;
10723 case 'F:10': case 'F:11': voice_name = 'June[F'; break;
10724 case 'G:10': case 'G:11': voice_name = 'Garazi[F'; break;
10725 case 'H:10': case 'H:11': voice_name = 'Alaia[F'; break;
10726 case 'I:10': case 'I:11': voice_name = 'Ibai[M'; break;
10727 case 'J:10': case 'J:11': voice_name = 'Naiara[F'; break;
10728 case 'K:10': case 'K:11': voice_name = 'Iñigo[M'; break;
10729 case 'L:10': case 'L:11': voice_name = 'Ainhoa[F'; break;
10730 case 'M:10': case 'M:11': voice_name = 'Beñat[M'; break;
10731 case 'N:10': case 'N:11': voice_name = 'Haizea[F'; break;
10732 case 'O:10': case 'O:11': voice_name = 'Xabier[M'; break;
10733 case 'P:10': case 'P:11': voice_name = 'Edurne[F'; break;
10734 case 'Q:10': case 'Q:11': voice_name = 'Itsaso[F'; break;
10735 case 'R:10': case 'R:11': voice_name = 'Miren[F'; break;
10736 case 'S:10': case 'S:11': voice_name = 'Koldo[M'; break;
10737 case 'T:10': case 'T:11': voice_name = 'Ekaitz[M'; break;
10738 case 'U:10': case 'U:11': voice_name = 'Zuriñe[F'; break;
10739 case 'V:10': case 'V:11': voice_name = 'Iñaki[M'; break;
10740 case 'W:10': case 'W:11': voice_name = 'Iosu[M'; break;
10741 case 'X:10': case 'X:11': voice_name = 'Aritz[M'; break;
10742 case 'Y:10': case 'Y:11': voice_name = 'Unax[M'; break;
10743 case 'Z:10': case 'Z:11': voice_name = 'Maddi[F'; break;
10744 case 'AA:10': case 'AA:11': voice_name = 'Ander[M'; break;
10745 case 'AB:10': case 'AB:11': voice_name = 'Lur[F'; break;
10746 case 'AC:10': case 'AC:11': voice_name = 'Nahia[F'; break;
10747 case 'AD:10': case 'AD:11': voice_name = 'Eneko[M'; break;
10748 }
10749 else if (lang_code == 'ar-XA')
10750 switch (voice_data) {
10751
10752 // ===== base =====
10753 case 'A:0': voice_name = 'Aisha[F'; break;
10754
10755 // ===== legacy (2) =====
10756 case 'A:2': voice_name = 'Muna[F'; break;
10757 case 'B:2': voice_name = 'Samir[M'; break;
10758 case 'C:2': voice_name = 'Faris[M'; break;
10759 case 'D:2': voice_name = 'Lina[F'; break;
10760
10761 // ===== OpenAI (20) =====
10762 case 'A:20': voice_name = 'Layla[F'; break;
10763 case 'B:20': voice_name = 'Khalid[M'; break;
10764 case 'C:20': voice_name = 'Omar[M'; break;
10765 case 'D:20': voice_name = 'Noor[F'; break;
10766 case 'E:20': voice_name = 'Yasmin[F'; break;
10767 case 'F:20': voice_name = 'Zainab[F'; break;
10768 case 'G:20': voice_name = 'Youssef[M'; break;
10769 case 'H:20': voice_name = 'Rania[F'; break;
10770 case 'I:20': voice_name = 'Lubna[F'; break;
10771
10772 // ===== OpenAI HD (21) =====
10773 case 'A:21': voice_name = 'Layla HD[F'; break;
10774 case 'B:21': voice_name = 'Khalid HD[M'; break;
10775 case 'C:21': voice_name = 'Omar HD[M'; break;
10776 case 'D:21': voice_name = 'Noor HD[F'; break;
10777 case 'E:21': voice_name = 'Yasmin HD[F'; break;
10778 case 'F:21': voice_name = 'Zainab HD[F'; break;
10779 case 'G:21': voice_name = 'Youssef HD[M'; break;
10780 case 'H:21': voice_name = 'Rania HD[F'; break;
10781 case 'I:21': voice_name = 'Lubna HD[F'; break;
10782 case 'J:21': voice_name = 'Hassan HD[M'; break;
10783 case 'K:21': voice_name = 'Amal HD[F'; break;
10784
10785 // ===== Chirp3 + Gemini (8 / 10 / 11) — ONE SERIES (gender pattern EXACTLY as en-US) =====
10786 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Nadine[F'; break; // A = F
10787 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Rashid[M'; break; // B = M
10788 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Fadi[M'; break; // C = M (was Yara[F])
10789 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Fouad[M'; break; // D = M
10790 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Mazen[M'; break; // E = M (was Mila[F])
10791 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Hind[F'; break; // F = F (was Zaki[M])
10792 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Laila[F'; break; // G = F
10793 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Maha[F'; break; // H = F (was Hatem[M])
10794 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Ziad[M'; break; // I = M (was Ruba[F])
10795 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Dalia[F'; break; // J = F (was Nasser[M])
10796 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Dani[M'; break; // K = M (was Dima[F])
10797 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Sana[F'; break; // L = F (was Bassam[M])
10798 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Yahya[M'; break; // M = M (was Hala[F])
10799 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Amina[F'; break; // N = F (was Sufyan[M])
10800 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Hamza[M'; break; // O = M (was Rayan[F])
10801 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Munir[M'; break; // P = F in en-US -> FIX BELOW
10802 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Safiya[F'; break; // Q = F
10803 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Ibtisam[F'; break; // R = F (was Ilyas[M])
10804 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Othman[M'; break; // S = M (was Tala[F])
10805 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Kamal[M'; break; // T = M
10806 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Sumaya[F'; break; // U = F
10807 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Firas[M'; break; // V = M
10808 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Nabil[M'; break; // W = M (was Amira[F])
10809 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Zaid[M'; break; // X = M
10810 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Adel[M'; break; // Y = M (was Mariam[F])
10811 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Raniah[F'; break; // Z = F (was Qasim[M])
10812 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Karim[M'; break; // AA = M (was Nour[F])
10813 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Mariam[F'; break; // AB = F (was Salem[M])
10814 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Heba[F'; break; // AC = F (was Rim[F] ok, but keep distinct)
10815 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Jalal[M'; break; // AD = M
10816 }
10817 else if (lang_code == 'ar-EG')
10818 switch (voice_data) {
10819
10820 // ===== base =====
10821 case 'A:0': voice_name = 'Nourhan[F'; break;
10822
10823 // ===== Gemini (10 / 11) — ONE SERIES (gender pattern EXACTLY as en-US) =====
10824 case 'A:10': case 'A:11': voice_name = 'Farida[F'; break; // A = F
10825 case 'B:10': case 'B:11': voice_name = 'Sherif[M'; break; // B = M
10826 case 'C:10': case 'C:11': voice_name = 'Youssef[M'; break; // C = M (was Mona[F])
10827 case 'D:10': case 'D:11': voice_name = 'Tarek[M'; break; // D = M
10828 case 'E:10': case 'E:11': voice_name = 'Maher[M'; break; // E = M (was Hoda[F])
10829 case 'F:10': case 'F:11': voice_name = 'Salma[F'; break; // F = F (was Mostafa[M])
10830 case 'G:10': case 'G:11': voice_name = 'Donia[F'; break; // G = F
10831 case 'H:10': case 'H:11': voice_name = 'Mariam[F'; break; // H = F (was Amr[M])
10832 case 'I:10': case 'I:11': voice_name = 'Omar[M'; break; // I = M (was Dina[F])
10833 case 'J:10': case 'J:11': voice_name = 'Nadine[F'; break; // J = F (was Hazem[M])
10834 case 'K:10': case 'K:11': voice_name = 'Hassan[M'; break; // K = M (was Mai[F])
10835 case 'L:10': case 'L:11': voice_name = 'Aya[F'; break; // L = F (was Karim[M])
10836 case 'M:10': case 'M:11': voice_name = 'Mostafa[M'; break; // M = M (was Riham[F])
10837 case 'N:10': case 'N:11': voice_name = 'Dalia[F'; break; // N = F (was Hossam[M])
10838 case 'O:10': case 'O:11': voice_name = 'Karim[M'; break; // O = M (was Asmaa[F])
10839 case 'P:10': case 'P:11': voice_name = 'Hala[F'; break; // P = F (was Sameh[M])
10840 case 'Q:10': case 'Q:11': voice_name = 'Marwa[F'; break; // Q = F
10841 case 'R:10': case 'R:11': voice_name = 'Heba[F'; break; // R = F (was Maged[M])
10842 case 'S:10': case 'S:11': voice_name = 'Amr[M'; break; // S = M (was Aya[F])
10843 case 'T:10': case 'T:11': voice_name = 'Islam[M'; break; // T = M
10844 case 'U:10': case 'U:11': voice_name = 'Menna[F'; break; // U = F
10845 case 'V:10': case 'V:11': voice_name = 'Mahmoud[M'; break; // V = M
10846 case 'W:10': case 'W:11': voice_name = 'Sameh[M'; break; // W = M
10847 case 'X:10': case 'X:11': voice_name = 'Ibrahim[M'; break; // X = M
10848 case 'Y:10': case 'Y:11': voice_name = 'Walid[M'; break; // Y = M
10849 case 'Z:10': case 'Z:11': voice_name = 'Rana[F'; break; // Z = F (was Walid[M])
10850 case 'AA:10': case 'AA:11': voice_name = 'Badr[M'; break; // AA = M (was Reem[F])
10851 case 'AB:10': case 'AB:11': voice_name = 'Reem[F'; break; // AB = F (was Ramy[M])
10852 case 'AC:10': case 'AC:11': voice_name = 'Noha[F'; break; // AC = F
10853 case 'AD:10': case 'AD:11': voice_name = 'Ramy[M'; break; // AD = M
10854 }
10855 else if (lang_code == 'sq')
10856 switch (voice_data) {
10857
10858 // ===== base =====
10859 case 'A:0': voice_name = 'Mentor[M'; break;
10860
10861 // ===== OpenAI (20) — EXISTING, UNCHANGED + COMPLETED to I =====
10862 case 'A:20': voice_name = 'Albana[F'; break;
10863 case 'B:20': voice_name = 'Arben[M'; break;
10864 case 'C:20': voice_name = 'Besnik[M'; break;
10865 case 'D:20': voice_name = 'Blerina[F'; break;
10866 case 'E:20': voice_name = 'Drita[F'; break;
10867 case 'F:20': voice_name = 'Elira[F'; break;
10868 case 'G:20': voice_name = 'Ilir[M'; break;
10869 case 'H:20': voice_name = 'Mirela[F'; break;
10870 case 'I:20': voice_name = 'Gent[M'; break;
10871
10872 // ===== OpenAI HD (21) — SAME voices + HD + 2 =====
10873 case 'A:21': voice_name = 'Albana HD[F'; break;
10874 case 'B:21': voice_name = 'Arben HD[M'; break;
10875 case 'C:21': voice_name = 'Besnik HD[M'; break;
10876 case 'D:21': voice_name = 'Blerina HD[F'; break;
10877 case 'E:21': voice_name = 'Drita HD[F'; break;
10878 case 'F:21': voice_name = 'Elira HD[F'; break;
10879 case 'G:21': voice_name = 'Ilir HD[M'; break;
10880 case 'H:21': voice_name = 'Mirela HD[F'; break;
10881 case 'I:21': voice_name = 'Gent HD[M'; break;
10882 case 'J:21': voice_name = 'Erion HD[M'; break;
10883 case 'K:21': voice_name = 'Arta HD[F'; break;
10884
10885 // ===== Gemini (10 / 11) — 30 voices (ONE series, gender pattern as en-US) =====
10886 case 'A:10': case 'A:11': voice_name = 'Ariana[F'; break; // A = F
10887 case 'B:10': case 'B:11': voice_name = 'Luan[M'; break; // B = M
10888 case 'C:10': case 'C:11': voice_name = 'Ardit[M'; break; // C = M
10889 case 'D:10': case 'D:11': voice_name = 'Dion[M'; break; // D = M
10890 case 'E:10': case 'E:11': voice_name = 'Arjan[M'; break; // E = M (was Bora[F])
10891 case 'F:10': case 'F:11': voice_name = 'Era[F'; break; // F = F
10892 case 'G:10': case 'G:11': voice_name = 'Dafina[F'; break; // G = F (was Valon[M])
10893 case 'H:10': case 'H:11': voice_name = 'Eni[F'; break; // H = F
10894 case 'I:10': case 'I:11': voice_name = 'Kreshnik[M'; break; // I = M (was Klea[F])
10895 case 'J:10': case 'J:11': voice_name = 'Gentiana[F'; break; // J = F (was Arlis[M])
10896 case 'K:10': case 'K:11': voice_name = 'Bledi[M'; break; // K = M
10897 case 'L:10': case 'L:11': voice_name = 'Rina[F'; break; // L = F
10898 case 'M:10': case 'M:11': voice_name = 'Lorik[M'; break; // M = M
10899 case 'N:10': case 'N:11': voice_name = 'Arlinda[F'; break; // N = F
10900 case 'O:10': case 'O:11': voice_name = 'Drin[M'; break; // O = M
10901 case 'P:10': case 'P:11': voice_name = 'Ema[F'; break; // P = F
10902 case 'Q:10': case 'Q:11': voice_name = 'Erisa[F'; break; // Q = F (was Kujtim[M])
10903 case 'R:10': case 'R:11': voice_name = 'Ornela[F'; break; // R = F (was Orion[M])
10904 case 'S:10': case 'S:11': voice_name = 'Lirim[M'; break; // S = M (was Jona[F])
10905 case 'T:10': case 'T:11': voice_name = 'Florian[M'; break; // T = M
10906 case 'U:10': case 'U:11': voice_name = 'Elona[F'; break; // U = F
10907 case 'V:10': case 'V:11': voice_name = 'Dritan[M'; break; // V = M
10908 case 'W:10': case 'W:11': voice_name = 'Leon[M'; break; // W = M
10909 case 'X:10': case 'X:11': voice_name = 'Jetmir[M'; break; // X = M (was Vesa[F])
10910 case 'Y:10': case 'Y:11': voice_name = 'Sokol[M'; break; // Y = M
10911 case 'Z:10': case 'Z:11': voice_name = 'Ina[F'; break; // Z = F
10912 case 'AA:10': case 'AA:11': voice_name = 'Altin[M'; break; // AA = M
10913 case 'AB:10': case 'AB:11': voice_name = 'Nora[F'; break; // AB = F
10914 case 'AC:10': case 'AC:11': voice_name = 'Blerta[F'; break; // AC = F (was Taulant[M])
10915 case 'AD:10': case 'AD:11': voice_name = 'Valdrin[M'; break; // AD = M (was Elvana[F])
10916 }
10917 else if (lang_code == 'af-ZA')
10918 switch (voice_data) {
10919
10920 // ===== base =====
10921 case 'A:0': voice_name = 'Marlene[F'; break;
10922 case 'A:1': voice_name = 'Magdalena[F'; break;
10923
10924 // ===== OpenAI (20) — EXISTING + COMPLETED to I =====
10925 case 'A:20': voice_name = 'Annelize[F'; break;
10926 case 'B:20': voice_name = 'Hendrik[M'; break;
10927 case 'C:20': voice_name = 'Jacques[M'; break;
10928 case 'D:20': voice_name = 'Marietjie[F'; break;
10929 case 'E:20': voice_name = 'Sonja[F'; break;
10930 case 'F:20': voice_name = 'Nadine[F'; break;
10931 case 'G:20': voice_name = 'Petrus[M'; break;
10932 case 'H:20': voice_name = 'Elize[F'; break;
10933 case 'I:20': voice_name = 'Ruan[M'; break;
10934
10935 // ===== OpenAI HD (21) — SAME voices + HD + 2 =====
10936 case 'A:21': voice_name = 'Annelize HD[F'; break;
10937 case 'B:21': voice_name = 'Hendrik HD[M'; break;
10938 case 'C:21': voice_name = 'Jacques HD[M'; break;
10939 case 'D:21': voice_name = 'Marietjie HD[F'; break;
10940 case 'E:21': voice_name = 'Sonja HD[F'; break;
10941 case 'F:21': voice_name = 'Nadine HD[F'; break;
10942 case 'G:21': voice_name = 'Petrus HD[M'; break;
10943 case 'H:21': voice_name = 'Elize HD[F'; break;
10944 case 'I:21': voice_name = 'Ruan HD[M'; break;
10945 case 'J:21': voice_name = 'Jaco HD[M'; break;
10946 case 'K:21': voice_name = 'Liesel HD[F'; break;
10947
10948 // ===== Gemini (10 / 11) — ONE series (gender pattern EXACTLY as en-US) =====
10949 case 'A:10': case 'A:11': voice_name = 'Lara[F'; break; // A = F
10950 case 'B:10': case 'B:11': voice_name = 'Pieter[M'; break; // B = M
10951 case 'C:10': case 'C:11': voice_name = 'Johan[M'; break; // C = M
10952 case 'D:10': case 'D:11': voice_name = 'Dawid[M'; break; // D = M (was Elna[F])
10953 case 'E:10': case 'E:11': voice_name = 'Francois[M'; break; // E = M
10954 case 'F:10': case 'F:11': voice_name = 'Anika[F'; break; // F = F
10955 case 'G:10': case 'G:11': voice_name = 'Chanel[F'; break; // G = F (was Willem[M])
10956 case 'H:10': case 'H:11': voice_name = 'Rina[F'; break; // H = F
10957 case 'I:10': case 'I:11': voice_name = 'Theo[M'; break; // I = M
10958 case 'J:10': case 'J:11': voice_name = 'Mariska[F'; break; // J = F
10959 case 'K:10': case 'K:11': voice_name = 'Andre[M'; break; // K = M
10960 case 'L:10': case 'L:11': voice_name = 'Ilse[F'; break; // L = F
10961 case 'M:10': case 'M:11': voice_name = 'Gerrit[M'; break; // M = M
10962 case 'N:10': case 'N:11': voice_name = 'Elmarie[F'; break; // N = F
10963 case 'O:10': case 'O:11': voice_name = 'Ruanne[M'; break; // O = M
10964 case 'P:10': case 'P:11': voice_name = 'Helene[F'; break; // P = F
10965 case 'Q:10': case 'Q:11': voice_name = 'Petrina[F'; break; // Q = F
10966 case 'R:10': case 'R:11': voice_name = 'Anriette[F'; break; // R = F (was Anri[M])
10967 case 'S:10': case 'S:11': voice_name = 'Stefan[M'; break; // S = M
10968 case 'T:10': case 'T:11': voice_name = 'Jannie[M'; break; // T = M (was Lienke[F])
10969 case 'U:10': case 'U:11': voice_name = 'Zelda[F'; break; // U = F (was Deon[M])
10970 case 'V:10': case 'V:11': voice_name = 'Gideon[M'; break; // V = M (was Mareli[F])
10971 case 'W:10': case 'W:11': voice_name = 'Koos[M'; break; // W = M
10972 case 'X:10': case 'X:11': voice_name = 'Nico[M'; break; // X = M (was Nadia[F])
10973 case 'Y:10': case 'Y:11': voice_name = 'Rico[M'; break; // Y = M
10974 case 'Z:10': case 'Z:11': voice_name = 'Sunette[F'; break; // Z = F
10975 case 'AA:10': case 'AA:11': voice_name = 'Carel[M'; break; // AA = M
10976 case 'AB:10': case 'AB:11': voice_name = 'Elrica[F'; break; // AB = F
10977 case 'AC:10': case 'AC:11': voice_name = 'Gerda[F'; break; // AC = F (was Gerhard[M])
10978 case 'AD:10': case 'AD:11': voice_name = 'Wian[M'; break; // AD = M (was Monique[F])
10979 }
10980 else if(lang_code == 'et')
10981 switch(voice_data) {
10982 case 'A:0': voice_name = 'Marko[M'; break;
10983
10984 case 'A:20': voice_name = 'Sofia[F'; break;
10985 case 'B:20': voice_name = 'Martin[M'; break;
10986 case 'C:20': voice_name = 'Rasmus[M'; break;
10987 case 'D:20': voice_name = 'Laura[F'; break;
10988 case 'E:20': voice_name = 'Mia[F'; break;
10989 case 'F:20': voice_name = 'Anna[F'; break;
10990 case 'G:20': voice_name = 'Karl[M'; break;
10991 case 'H:20': voice_name = 'Kertu[F'; break;
10992 case 'I:20': voice_name = 'Liis[F'; break;
10993
10994 case 'A:21': voice_name = 'Sofia HD[F'; break;
10995 case 'B:21': voice_name = 'Martin HD[M'; break;
10996 case 'C:21': voice_name = 'Rasmus HD[M'; break;
10997 case 'D:21': voice_name = 'Laura HD[F'; break;
10998 case 'E:21': voice_name = 'Mia HD[F'; break;
10999 case 'F:21': voice_name = 'Anna HD[F'; break;
11000 case 'G:21': voice_name = 'Karl HD[M'; break;
11001 case 'H:21': voice_name = 'Kertu HD[F'; break;
11002 case 'I:21': voice_name = 'Liis HD[F'; break;
11003 case 'J:21': voice_name = 'Andres HD[M'; break;
11004 case 'K:21': voice_name = 'Taavi HD[M'; break;
11005
11006 // 8 / 9 / 10 / 11 — единая серия, gender map как en-US
11007 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Helena[F'; break;
11008 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Oliver[M'; break;
11009 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Erik[M'; break;
11010 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Markus[M'; break;
11011 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Rainer[M'; break;
11012 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Grete[F'; break;
11013 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Maarja[F'; break;
11014 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Kristiina[F'; break;
11015 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Tanel[M'; break;
11016 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Annika[F'; break;
11017 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Peeter[M'; break;
11018 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Kaisa[F'; break;
11019 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Sander[M'; break;
11020 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Maris[F'; break;
11021 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Joonas[M'; break;
11022 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Liina[F'; break;
11023 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Eliise[F'; break;
11024 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Birgit[F'; break;
11025 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Siim[M'; break;
11026 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Aaro[M'; break;
11027 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Adeele[F'; break;
11028 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Henri[M'; break;
11029 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Riko[M'; break;
11030 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Artur[M'; break;
11031 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Kaspar[M'; break;
11032 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Elsa[F'; break;
11033 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Aivar[M'; break;
11034 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Tuuli[F'; break;
11035 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Siret[F'; break;
11036 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Indrek[M'; break;
11037 }
11038 else if(lang_code == 'fil-PH')
11039 switch(voice_data) {
11040 case 'A:0': voice_name = 'Maria[F'; break;
11041
11042 case 'A:2': voice_name = 'Angelica[F'; break;
11043 case 'B:2': voice_name = 'Sharon[F'; break;
11044 case 'C:2': voice_name = 'Carlos[M'; break;
11045 case 'D:2': voice_name = 'Francisco[M'; break;
11046
11047 // 20 — FIX: убрали пересечение с base (Maria) + дополнили до A..I
11048 case 'A:20': voice_name = 'Marisol[F'; break; // FIX (было Maria)
11049 case 'B:20': voice_name = 'Jose[M'; break;
11050 case 'C:20': voice_name = 'Carlo[M'; break;
11051 case 'D:20': voice_name = 'Christine[F'; break;
11052 case 'E:20': voice_name = 'Jasmine[F'; break;
11053 case 'F:20': voice_name = 'Angela[F'; break;
11054 case 'G:20': voice_name = 'Paolo[M'; break;
11055 case 'H:20': voice_name = 'Liza[F'; break;
11056 case 'I:20': voice_name = 'Rafael[M'; break;
11057
11058 // 21 — HD, те же имена + J/K (оба M)
11059 case 'A:21': voice_name = 'Marisol HD[F'; break;
11060 case 'B:21': voice_name = 'Jose HD[M'; break;
11061 case 'C:21': voice_name = 'Carlo HD[M'; break;
11062 case 'D:21': voice_name = 'Christine HD[F'; break;
11063 case 'E:21': voice_name = 'Jasmine HD[F'; break;
11064 case 'F:21': voice_name = 'Angela HD[F'; break;
11065 case 'G:21': voice_name = 'Paolo HD[M'; break;
11066 case 'H:21': voice_name = 'Liza HD[F'; break;
11067 case 'I:21': voice_name = 'Rafael HD[M'; break;
11068 case 'J:21': voice_name = 'Miguel HD[M'; break;
11069 case 'K:21': voice_name = 'Andres HD[M'; break;
11070
11071 // 8 / 9 / 10 / 11 — единая серия, gender-map как en-US
11072 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Aira[F'; break;
11073 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noel[M'; break;
11074 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Renzo[M'; break;
11075 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Jomar[M'; break;
11076 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Marco[M'; break;
11077 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Bea[F'; break;
11078 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Kaye[F'; break;
11079 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Mika[F'; break;
11080 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Enzo[M'; break;
11081 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Ivy[F'; break;
11082 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Paolo[M'; break;
11083 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Nina[F'; break;
11084 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Jules[M'; break;
11085 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Alyssa[F'; break;
11086 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Anton[M'; break;
11087 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Rhea[F'; break;
11088 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Lara[F'; break;
11089 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'May[F'; break;
11090 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Dylan[M'; break;
11091 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Nico[M'; break;
11092 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Sari[F'; break;
11093 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Caleb[M'; break;
11094 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Migs[M'; break;
11095 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Rico[M'; break;
11096 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Jace[M'; break;
11097 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Elle[F'; break;
11098 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Theo[M'; break;
11099 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Vera[F'; break;
11100 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zia[F'; break;
11101 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Arlo[M'; break;
11102 }
11103 else if(lang_code == 'fi-FI')
11104 switch(voice_data) {
11105 case 'A:0': voice_name = 'Tiina[F'; break;
11106 case 'A:2': voice_name = 'Johanna[F'; break;
11107
11108 case 'A:20': voice_name = 'Aino[F'; break;
11109 case 'B:20': voice_name = 'Eino[M'; break;
11110 case 'C:20': voice_name = 'Leo[M'; break;
11111 case 'D:20': voice_name = 'Sofia[F'; break;
11112 case 'E:20': voice_name = 'Lilja[F'; break;
11113 case 'F:20': voice_name = 'Ella[F'; break;
11114 case 'G:20': voice_name = 'Mikko[M'; break;
11115 case 'H:20': voice_name = 'Kaisa[F'; break;
11116 case 'I:20': voice_name = 'Veera[F'; break;
11117
11118 case 'A:21': voice_name = 'Aino HD[F'; break;
11119 case 'B:21': voice_name = 'Eino HD[M'; break;
11120 case 'C:21': voice_name = 'Leo HD[M'; break;
11121 case 'D:21': voice_name = 'Sofia HD[F'; break;
11122 case 'E:21': voice_name = 'Lilja HD[F'; break;
11123 case 'F:21': voice_name = 'Ella HD[F'; break;
11124 case 'G:21': voice_name = 'Mikko HD[M'; break;
11125 case 'H:21': voice_name = 'Kaisa HD[F'; break;
11126 case 'I:21': voice_name = 'Veera HD[F'; break;
11127 case 'J:21': voice_name = 'Antti HD[M'; break;
11128 case 'K:21': voice_name = 'Jari HD[M'; break;
11129
11130 // 8 / 9 / 10 / 11 — unified series, gender map как en-US
11131 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Helmi[F'; break;
11132 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Elias[M'; break;
11133 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Otto[M'; break;
11134 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Noel[M'; break;
11135 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Oskari[M'; break;
11136 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Aada[F'; break;
11137 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Iida[F'; break;
11138 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Ella2[F'; break; // ⚠️ см. примечание
11139 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Roope[M'; break;
11140 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Sini[F'; break;
11141 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Juho[M'; break;
11142 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Vilma[F'; break;
11143 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Matti[M'; break;
11144 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Nea[F'; break;
11145 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Arto[M'; break;
11146 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Riina[F'; break;
11147 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Saara[F'; break;
11148 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Linnea[F'; break;
11149 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Topi[M'; break;
11150 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Ville[M'; break;
11151 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Iiris[F'; break;
11152 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Samu[M'; break;
11153 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Teemu[M'; break;
11154 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Joonas[M'; break;
11155 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Aleksi[M'; break;
11156 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Enni[F'; break;
11157 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Petteri[M'; break;
11158 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Anni[F'; break;
11159 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Emilia[F'; break;
11160 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Riku[M'; break;
11161 }
11162 else if(lang_code == 'fr-CA')
11163 switch(voice_data) {
11164 case 'A:0': voice_name = 'Olivia[F'; break;
11165
11166 case 'A:2': voice_name = 'Emma[F'; break;
11167 case 'B:2': voice_name = 'Louis[M'; break;
11168 case 'C:2': voice_name = 'Rosalie[F'; break;
11169 case 'D:2': voice_name = 'Mathieu[M'; break;
11170
11171 // 8 / 9 / 10 / 11 — unified series, gender map как en-US
11172 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Camille[F'; break;
11173 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
11174 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Emile[M'; break;
11175 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Liam[M'; break;
11176 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Mathis[M'; break;
11177 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Chloe[F'; break;
11178 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Zoe[F'; break;
11179 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Lea[F'; break;
11180 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Julien[M'; break;
11181 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mila[F'; break;
11182 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Arthur[M'; break;
11183 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Ines[F'; break;
11184 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Gabriel[M'; break;
11185 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Maelle[F'; break;
11186 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Thomas[M'; break;
11187 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sofia[F'; break;
11188 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Luna[F'; break;
11189 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Elodie[F'; break;
11190 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Nathan[M'; break;
11191 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Leo[M'; break;
11192 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Aria[F'; break;
11193 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Olivier[M'; break;
11194 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Caleb[M'; break;
11195 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Hugo[M'; break;
11196 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Lucas[M'; break;
11197 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break;
11198 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Remi[M'; break;
11199 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Violette[F'; break;
11200 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zara[F'; break;
11201 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Alexandre[M'; break;
11202 }
11203 else if(lang_code == 'fr-FR')
11204 switch(voice_data) {
11205 case 'A:0': voice_name = 'Alice[F'; break;
11206
11207 case 'E:2': voice_name = 'Manon[F'; break;
11208 case 'A:2': voice_name = 'Clara[F'; break;
11209 case 'B:2': voice_name = 'Arthur[M'; break;
11210 case 'C:2': voice_name = 'Juliette[F'; break;
11211 case 'D:2': voice_name = 'Lucas[M'; break;
11212 case '1:7': voice_name = 'Gabriel[M'; break;
11213
11214 case 'A:20': voice_name = 'Jeanne[F'; break;
11215 case 'B:20': voice_name = 'Maxime[M'; break;
11216 case 'C:20': voice_name = 'Theo[M'; break;
11217 case 'D:20': voice_name = 'Camille[F'; break;
11218 case 'E:20': voice_name = 'Chloe[F'; break;
11219 case 'F:20': voice_name = 'Elodie[F'; break;
11220 case 'G:20': voice_name = 'Mathis[M'; break;
11221 case 'H:20': voice_name = 'Sophie[F'; break;
11222 case 'I:20': voice_name = 'Julia[F'; break;
11223
11224 case 'A:21': voice_name = 'Jeanne HD[F'; break;
11225 case 'B:21': voice_name = 'Maxime HD[M'; break;
11226 case 'C:21': voice_name = 'Theo HD[M'; break;
11227 case 'D:21': voice_name = 'Camille HD[F'; break;
11228 case 'E:21': voice_name = 'Chloe HD[F'; break;
11229 case 'F:21': voice_name = 'Elodie HD[F'; break;
11230 case 'G:21': voice_name = 'Mathis HD[M'; break;
11231 case 'H:21': voice_name = 'Sophie HD[F'; break;
11232 case 'I:21': voice_name = 'Julia HD[F'; break;
11233 case 'J:21': voice_name = 'Pierre HD[M'; break;
11234 case 'K:21': voice_name = 'Antoine HD[M'; break;
11235
11236 // 8 / 9 / 10 / 11 — unified series, gender map как en-US
11237 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Camille2[F'; break; // при желании заменю на любое уникальное имя
11238 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
11239 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Emile[M'; break;
11240 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Liam[M'; break;
11241 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Mathis2[M'; break;
11242 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Chloe2[F'; break;
11243 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Zoe[F'; break;
11244 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Lea[F'; break;
11245 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Julien[M'; break;
11246 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mila[F'; break;
11247 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Arthur2[M'; break;
11248 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Ines[F'; break;
11249 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Gabriel2[M'; break;
11250 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Maelle[F'; break;
11251 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Thomas[M'; break;
11252 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sofia[F'; break;
11253 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Luna[F'; break;
11254 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Elise[F'; break;
11255 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Nathan[M'; break;
11256 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Leo[M'; break;
11257 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Aria[F'; break;
11258 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Olivier[M'; break;
11259 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Caleb[M'; break;
11260 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Hugo[M'; break;
11261 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Lucas2[M'; break;
11262 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break;
11263 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Remi[M'; break;
11264 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Violette[F'; break;
11265 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zara[F'; break;
11266 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Alexandre[M'; break;
11267 }
11268 else if(lang_code == 'gl-ES')
11269 switch(voice_data) {
11270 case 'A:1': voice_name = 'Marta[F'; break;
11271
11272 // 8 / 9 / 10 / 11 — unified series, gender map как en-US
11273 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Xiana[F'; break; // A F
11274 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Iago[M'; break; // B M
11275 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Breixo[M'; break; // C M
11276 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Xoel[M'; break; // D M
11277 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Martino[M'; break; // E M
11278 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Lidia[F'; break; // F F
11279 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Noa[F'; break; // G F
11280 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Iria[F'; break; // H F
11281 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Roi[M'; break; // I M
11282 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Uxia[F'; break; // J F
11283 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Brais[M'; break; // K M
11284 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Sabela[F'; break; // L F
11285 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Anton[M'; break; // M M
11286 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Lara[F'; break; // N F
11287 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Xurxo[M'; break; // O M
11288 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Alba[F'; break; // P F
11289 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Nerea[F'; break; // Q F
11290 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Carla[F'; break; // R F
11291 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Hugo[M'; break; // S M
11292 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Adrian[M'; break; // T M
11293 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Paula[F'; break; // U F
11294 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Diego[M'; break; // V M
11295 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Daniel[M'; break; // W M
11296 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Mateo[M'; break; // X M
11297 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Alex[M'; break; // Y M
11298 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ines[F'; break; // Z F
11299 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Marcos[M'; break; // AA M
11300 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Lucia[F'; break; // AB F
11301 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Ainoa[F'; break; // AC F
11302 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Bruno[M'; break; // AD M
11303 }
11304 else if(lang_code == 'de-DE')
11305 switch(voice_data) {
11306 case 'A:0': voice_name = 'Lina[F'; break;
11307
11308 case 'F:2': voice_name = 'Marie[F'; break;
11309 case 'A:2': voice_name = 'Anna[F'; break;
11310 case 'B:2': voice_name = 'Felix[M'; break;
11311 case 'C:2': voice_name = 'Hannah[F'; break;
11312 case 'D:2': voice_name = 'Paul[M'; break;
11313 case 'E:2': voice_name = 'Ben[M'; break;
11314 case '1:7': voice_name = 'Elias[M'; break;
11315
11316 /* 20 */
11317 case 'A:20': voice_name = 'Mia[F'; break;
11318 case 'B:20': voice_name = 'Maximilian[M'; break;
11319 case 'C:20': voice_name = 'Jonas[M'; break;
11320 case 'D:20': voice_name = 'Emilia[F'; break;
11321 case 'E:20': voice_name = 'Sophia[F'; break;
11322 case 'F:20': voice_name = 'Emma[F'; break;
11323 case 'G:20': voice_name = 'Benjamin[M'; break;
11324 case 'H:20': voice_name = 'Theresa[F'; break;
11325 case 'I:20': voice_name = 'Amelie[F'; break;
11326
11327 /* 21 — HD */
11328 case 'A:21': voice_name = 'Mia HD[F'; break;
11329 case 'B:21': voice_name = 'Maximilian HD[M'; break;
11330 case 'C:21': voice_name = 'Jonas HD[M'; break;
11331 case 'D:21': voice_name = 'Emilia HD[F'; break;
11332 case 'E:21': voice_name = 'Sophia HD[F'; break;
11333 case 'F:21': voice_name = 'Emma HD[F'; break;
11334 case 'G:21': voice_name = 'Benjamin HD[M'; break;
11335 case 'H:21': voice_name = 'Theresa HD[F'; break;
11336 case 'I:21': voice_name = 'Amelie HD[F'; break;
11337 case 'J:21': voice_name = 'Leonard HD[M'; break;
11338 case 'K:21': voice_name = 'Moritz HD[M'; break;
11339
11340 /* 8 / 9 / 10 / 11 — unified series, gender map en-US */
11341 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Lena[F'; break;
11342 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
11343 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Finn[M'; break;
11344 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Lars[M'; break;
11345 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Lukas[M'; break;
11346 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Mila[F'; break;
11347 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Emmi[F'; break;
11348 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Lara[F'; break;
11349 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Tim[M'; break;
11350 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Nina[F'; break;
11351 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Jan[M'; break;
11352 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Sophie[F'; break;
11353 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Tobias[M'; break;
11354 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Clara[F'; break;
11355 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Jonah[M'; break;
11356 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Leonie[F'; break;
11357 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Greta[F'; break;
11358 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Mara[F'; break;
11359 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'David[M'; break;
11360 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Theo[M'; break;
11361 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Ida[F'; break;
11362 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Oskar[M'; break;
11363 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Erik[M'; break;
11364 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Luca[M'; break;
11365 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Max[M'; break;
11366 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break;
11367 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Anton[M'; break;
11368 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Vera[F'; break;
11369 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zoe[F'; break;
11370 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Niklas[M'; break;
11371 }
11372 else if(lang_code == 'el-GR')
11373 switch(voice_data) {
11374 case 'A:0': voice_name = 'Despina[F'; break;
11375 case 'A:2': voice_name = 'Ioanna[F'; break;
11376
11377 /* 20 */
11378 case 'A:20': voice_name = 'Maria[F'; break;
11379 case 'B:20': voice_name = 'George[M'; break;
11380 case 'C:20': voice_name = 'Dimitris[M'; break;
11381 case 'D:20': voice_name = 'Eleni[F'; break;
11382 case 'E:20': voice_name = 'Katerina[F'; break;
11383 case 'F:20': voice_name = 'Sophia[F'; break;
11384 case 'G:20': voice_name = 'Nikos[M'; break;
11385 case 'H:20': voice_name = 'Anna[F'; break;
11386 case 'I:20': voice_name = 'Christos[M'; break;
11387
11388 /* 21 — HD */
11389 case 'A:21': voice_name = 'Maria HD[F'; break;
11390 case 'B:21': voice_name = 'George HD[M'; break;
11391 case 'C:21': voice_name = 'Dimitris HD[M'; break;
11392 case 'D:21': voice_name = 'Eleni HD[F'; break;
11393 case 'E:21': voice_name = 'Katerina HD[F'; break;
11394 case 'F:21': voice_name = 'Sophia HD[F'; break;
11395 case 'G:21': voice_name = 'Nikos HD[M'; break;
11396 case 'H:21': voice_name = 'Anna HD[F'; break;
11397 case 'I:21': voice_name = 'Christos HD[M'; break;
11398 case 'J:21': voice_name = 'Petros HD[M'; break;
11399 case 'K:21': voice_name = 'Alexandros HD[M'; break;
11400
11401 /* 8 / 9 / 10 / 11 — unified, gender map en-US */
11402 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Eirini[F'; break;
11403 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Giorgos[M'; break;
11404 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Stavros[M'; break;
11405 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Kostas[M'; break;
11406 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Michalis[M'; break;
11407 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Daphne[F'; break;
11408 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Irene[F'; break;
11409 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Konstantina[F'; break;
11410 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Yannis[M'; break;
11411 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Vasiliki[F'; break;
11412 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Manolis[M'; break;
11413 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Dora[F'; break; // заменить при желании
11414 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Thanasis[M'; break;
11415 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Georgia[F'; break;
11416 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Panagiotis[M'; break;
11417 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Athina[F'; break;
11418 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Nefeli[F'; break;
11419 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Kalliopi[F'; break;
11420 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Dimitrios[M'; break;
11421 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Theodoros[M'; break;
11422 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Melina[F'; break;
11423 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Andreas[M'; break;
11424 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Christina[F'; break;
11425 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Leonidas[M'; break;
11426 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Alexis[M'; break;
11427 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Iris[F'; break;
11428 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Petros[M'; break;
11429 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Vera[F'; break;
11430 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zoi[F'; break;
11431 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Nikolaos[M'; break;
11432 }
11433 else if(lang_code == 'gu-IN')
11434 switch(voice_data) {
11435 case 'A:0': voice_name = 'Aashi[F'; break;
11436 case 'A:2': voice_name = 'Khushi[F'; break;
11437 case 'B:2': voice_name = 'Jigar[M'; break;
11438
11439 /* 20 */
11440 case 'A:20': voice_name = 'Aditi[F'; break;
11441 case 'B:20': voice_name = 'Harsh[M'; break;
11442 case 'C:20': voice_name = 'Dhruv[M'; break;
11443 case 'D:20': voice_name = 'Riya[F'; break;
11444 case 'E:20': voice_name = 'Pooja[F'; break;
11445 case 'F:20': voice_name = 'Sneha[F'; break;
11446 case 'G:20': voice_name = 'Amit[M'; break;
11447 case 'H:20': voice_name = 'Neha[F'; break;
11448 case 'I:20': voice_name = 'Kunal[M'; break;
11449
11450 /* 21 — HD */
11451 case 'A:21': voice_name = 'Aditi HD[F'; break;
11452 case 'B:21': voice_name = 'Harsh HD[M'; break;
11453 case 'C:21': voice_name = 'Dhruv HD[M'; break;
11454 case 'D:21': voice_name = 'Riya HD[F'; break;
11455 case 'E:21': voice_name = 'Pooja HD[F'; break;
11456 case 'F:21': voice_name = 'Sneha HD[F'; break;
11457 case 'G:21': voice_name = 'Amit HD[M'; break;
11458 case 'H:21': voice_name = 'Neha HD[F'; break;
11459 case 'I:21': voice_name = 'Kunal HD[M'; break;
11460 case 'J:21': voice_name = 'Rohit HD[M'; break;
11461 case 'K:21': voice_name = 'Suresh HD[M'; break;
11462
11463 /* 8 / 9 / 10 / 11 — unified, gender map en-US */
11464 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Nisha[F'; break;
11465 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Aarav[M'; break;
11466 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Yash[M'; break;
11467 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Rohan[M'; break;
11468 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Vivek[M'; break;
11469 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Kajal[F'; break;
11470 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Meera[F'; break;
11471 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Anjali[F'; break;
11472 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sanjay[M'; break;
11473 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Pallavi[F'; break;
11474 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Nitin[M'; break;
11475 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Isha[F'; break;
11476 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Rahul[M'; break;
11477 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Sonal[F'; break;
11478 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Pranav[M'; break;
11479 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Kiran[F'; break;
11480 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Ayesha[F'; break;
11481 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Shreya[F'; break;
11482 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Arjun[M'; break;
11483 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Dev[M'; break;
11484 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Priti[F'; break;
11485 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Sameer[M'; break;
11486 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Ketan[M'; break;
11487 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Manav[M'; break;
11488 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Jay[M'; break;
11489 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Diya[F'; break;
11490 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Ramesh[M'; break;
11491 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Bhavna[F'; break;
11492 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zara[F'; break;
11493 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Mohit[M'; break;
11494 }
11495 else if(lang_code == 'ka-GE')
11496 switch(voice_data) {
11497
11498 /* 20 */
11499 case 'A:20': voice_name = 'Nino[F'; break;
11500 case 'B:20': voice_name = 'Giorgi[M'; break;
11501 case 'C:20': voice_name = 'Levan[M'; break;
11502 case 'D:20': voice_name = 'Mariam[F'; break;
11503 case 'E:20': voice_name = 'Ana[F'; break;
11504 case 'F:20': voice_name = 'Salome[F'; break;
11505 case 'G:20': voice_name = 'Irakli[M'; break;
11506 case 'H:20': voice_name = 'Tamar[F'; break;
11507 case 'I:20': voice_name = 'Ketevan[F'; break;
11508
11509 /* 21 — HD */
11510 case 'A:21': voice_name = 'Nino HD[F'; break;
11511 case 'B:21': voice_name = 'Giorgi HD[M'; break;
11512 case 'C:21': voice_name = 'Levan HD[M'; break;
11513 case 'D:21': voice_name = 'Mariam HD[F'; break;
11514 case 'E:21': voice_name = 'Ana HD[F'; break;
11515 case 'F:21': voice_name = 'Salome HD[F'; break;
11516 case 'G:21': voice_name = 'Irakli HD[M'; break;
11517 case 'H:21': voice_name = 'Tamar HD[F'; break;
11518 case 'I:21': voice_name = 'Ketevan HD[F'; break;
11519 case 'J:21': voice_name = 'Zurab HD[M'; break;
11520 case 'K:21': voice_name = 'Davit HD[M'; break;
11521
11522 /* 10 / 11 */
11523 case 'A:10': case 'A:11': voice_name = 'Elene[F'; break;
11524 case 'B:10': case 'B:11': voice_name = 'Luka[M'; break;
11525 case 'C:10': case 'C:11': voice_name = 'Saba[M'; break;
11526 case 'D:10': case 'D:11': voice_name = 'Aleksi[M'; break;
11527 case 'E:10': case 'E:11': voice_name = 'Nika[M'; break;
11528 case 'F:10': case 'F:11': voice_name = 'Kristine[F'; break;
11529 case 'G:10': case 'G:11': voice_name = 'Maka[F'; break;
11530 case 'H:10': case 'H:11': voice_name = 'Tinatin[F'; break;
11531 case 'I:10': case 'I:11': voice_name = 'Dato[M'; break;
11532 case 'J:10': case 'J:11': voice_name = 'Medea[F'; break;
11533 case 'K:10': case 'K:11': voice_name = 'Vakhtang[M'; break;
11534 case 'L:10': case 'L:11': voice_name = 'Ekaterine[F'; break;
11535 case 'M:10': case 'M:11': voice_name = 'Shota[M'; break;
11536 case 'N:10': case 'N:11': voice_name = 'Ia[F'; break;
11537 case 'O:10': case 'O:11': voice_name = 'Temur[M'; break;
11538 case 'P:10': case 'P:11': voice_name = 'Khatia[F'; break;
11539 case 'Q:10': case 'Q:11': voice_name = 'Nana[F'; break;
11540 case 'R:10': case 'R:11': voice_name = 'Lia[F'; break;
11541 case 'S:10': case 'S:11': voice_name = 'Tornike[M'; break;
11542 case 'T:10': case 'T:11': voice_name = 'Beka[M'; break;
11543 case 'U:10': case 'U:11': voice_name = 'Anano[F'; break;
11544 case 'V:10': case 'V:11': voice_name = 'Revaz[M'; break;
11545 case 'W:10': case 'W:11': voice_name = 'Archil[M'; break;
11546 case 'X:10': case 'X:11': voice_name = 'Paata[M'; break;
11547 case 'Y:10': case 'Y:11': voice_name = 'Gela[M'; break;
11548 case 'Z:10': case 'Z:11': voice_name = 'Mzia[F'; break;
11549 case 'AA:10': case 'AA:11': voice_name = 'Otar[M'; break;
11550 case 'AB:10': case 'AB:11': voice_name = 'Sopio[F'; break;
11551 case 'AC:10': case 'AC:11': voice_name = 'Teona[F'; break;
11552 case 'AD:10': case 'AD:11': voice_name = 'Ilia[M'; break;
11553 }
11554 else if(lang_code == 'hi-IN')
11555 switch(voice_data) {
11556 case 'A:0': voice_name = 'Riya[F'; break;
11557 case 'D:2': voice_name = 'Prisha[F'; break;
11558 case 'A:2': voice_name = 'Kavya[F'; break;
11559 case 'B:2': voice_name = 'Rohit[M'; break;
11560 case 'C:2': voice_name = 'Aditya[M'; break;
11561
11562 /* 20 */
11563 case 'A:20': voice_name = 'Aarohi[F'; break;
11564 case 'B:20': voice_name = 'Aarav[M'; break;
11565 case 'C:20': voice_name = 'Ishaan[M'; break;
11566 case 'D:20': voice_name = 'Meera[F'; break;
11567 case 'E:20': voice_name = 'Saanvi[F'; break;
11568 case 'F:20': voice_name = 'Nisha[F'; break;
11569 case 'G:20': voice_name = 'Rahul[M'; break;
11570 case 'H:20': voice_name = 'Nandini[F'; break;
11571 case 'I:20': voice_name = 'Tanya[F'; break;
11572
11573 /* 21 — HD */
11574 case 'A:21': voice_name = 'Aarohi HD[F'; break;
11575 case 'B:21': voice_name = 'Aarav HD[M'; break;
11576 case 'C:21': voice_name = 'Ishaan HD[M'; break;
11577 case 'D:21': voice_name = 'Meera HD[F'; break;
11578 case 'E:21': voice_name = 'Saanvi HD[F'; break;
11579 case 'F:21': voice_name = 'Nisha HD[F'; break;
11580 case 'G:21': voice_name = 'Rahul HD[M'; break;
11581 case 'H:21': voice_name = 'Nandini HD[F'; break;
11582 case 'I:21': voice_name = 'Tanya HD[F'; break;
11583 case 'J:21': voice_name = 'Arjun HD[M'; break;
11584 case 'K:21': voice_name = 'Mohit HD[M'; break;
11585
11586 /* 8 / 9 / 10 / 11 */
11587 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Anika[F'; break;
11588 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Rohan[M'; break;
11589 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Vikram[M'; break;
11590 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Suresh[M'; break;
11591 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Amit[M'; break;
11592 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Pooja[F'; break;
11593 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Neha[F'; break;
11594 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Kiran[F'; break;
11595 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sanjay[M'; break;
11596 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Ira[F'; break;
11597 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Manish[M'; break;
11598 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Alisha[F'; break;
11599 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Deepak[M'; break;
11600 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Rhea[F'; break;
11601 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Kunal[M'; break;
11602 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Simran[F'; break;
11603 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Ishita[F'; break;
11604 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Ayesha[F'; break;
11605 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Varun[M'; break;
11606 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Rakesh[M'; break;
11607 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Diya[F'; break;
11608 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Nikhil[M'; break;
11609 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Arvind[M'; break;
11610 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Rajesh[M'; break;
11611 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Siddharth[M'; break;
11612 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Kavita[F'; break;
11613 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Pranav[M'; break;
11614 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Madhuri[F'; break;
11615 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Shreya[F'; break;
11616 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Tarun[M'; break;
11617 }
11618 else if(lang_code == 'hu-HU')
11619 switch(voice_data) {
11620 case 'A:0': voice_name = 'Dora[F'; break;
11621 case 'A:2': voice_name = 'Kinga[F'; break;
11622
11623 /* 20 */
11624 case 'A:20': voice_name = 'Hanna[F'; break;
11625 case 'B:20': voice_name = 'Bence[M'; break;
11626 case 'C:20': voice_name = 'Levente[M'; break;
11627 case 'D:20': voice_name = 'Reka[F'; break;
11628 case 'E:20': voice_name = 'Eszter[F'; break;
11629 case 'F:20': voice_name = 'Zsofia[F'; break;
11630 case 'G:20': voice_name = 'Gabor[M'; break;
11631 case 'H:20': voice_name = 'Noemi[F'; break;
11632 case 'I:20': voice_name = 'Anna[F'; break;
11633
11634 /* 21 — HD */
11635 case 'A:21': voice_name = 'Hanna HD[F'; break;
11636 case 'B:21': voice_name = 'Bence HD[M'; break;
11637 case 'C:21': voice_name = 'Levente HD[M'; break;
11638 case 'D:21': voice_name = 'Reka HD[F'; break;
11639 case 'E:21': voice_name = 'Eszter HD[F'; break;
11640 case 'F:21': voice_name = 'Zsofia HD[F'; break;
11641 case 'G:21': voice_name = 'Gabor HD[M'; break;
11642 case 'H:21': voice_name = 'Noemi HD[F'; break;
11643 case 'I:21': voice_name = 'Anna HD[F'; break;
11644 case 'J:21': voice_name = 'Mate HD[M'; break;
11645 case 'K:21': voice_name = 'Peter HD[M'; break;
11646
11647 /* 8 / 9 / 10 / 11 */
11648 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Lili[F'; break;
11649 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Daniel[M'; break;
11650 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Mark[M'; break;
11651 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Adam[M'; break;
11652 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Balazs[M'; break;
11653 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Viktoria[F'; break;
11654 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Nora[F'; break;
11655 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Petra[F'; break;
11656 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Tamas[M'; break;
11657 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Emese[F'; break;
11658 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Zoltan[M'; break;
11659 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Katalin[F'; break;
11660 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Laszlo[M'; break;
11661 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Julianna[F'; break;
11662 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Andras[M'; break;
11663 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Erzsebet[F'; break;
11664 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Zsofi[F'; break;
11665 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Ilona[F'; break;
11666 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Miklos[M'; break;
11667 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Roland[M'; break;
11668 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Agnes[F'; break;
11669 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Istvan[M'; break;
11670 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Gergely[M'; break;
11671 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Peter[M'; break;
11672 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Ferenc[M'; break;
11673 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Anna[F'; break;
11674 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Bela[M'; break;
11675 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Luca[F'; break;
11676 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Vivien[F'; break;
11677 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Norbert[M'; break;
11678 }
11679 else if(lang_code == 'ht-HT')
11680 switch(voice_data) {
11681
11682 /* 10 / 11 */
11683 case 'A:10': case 'A:11': voice_name = 'Nadia[F'; break;
11684 case 'B:10': case 'B:11': voice_name = 'Jean[M'; break;
11685 case 'C:10': case 'C:11': voice_name = 'Pierre[M'; break;
11686 case 'D:10': case 'D:11': voice_name = 'Michel[M'; break;
11687 case 'E:10': case 'E:11': voice_name = 'David[M'; break;
11688
11689 case 'F:10': case 'F:11': voice_name = 'Marie[F'; break;
11690 case 'G:10': case 'G:11': voice_name = 'Ruth[F'; break;
11691 case 'H:10': case 'H:11': voice_name = 'Esther[F'; break;
11692 case 'I:10': case 'I:11': voice_name = 'Samuel[M'; break;
11693 case 'J:10': case 'J:11': voice_name = 'Sarah[F'; break;
11694
11695 case 'K:10': case 'K:11': voice_name = 'Daniel[M'; break;
11696 case 'L:10': case 'L:11': voice_name = 'Rose[F'; break;
11697 case 'M:10': case 'M:11': voice_name = 'Joseph[M'; break;
11698 case 'N:10': case 'N:11': voice_name = 'Clara[F'; break;
11699 case 'O:10': case 'O:11': voice_name = 'Andre[M'; break;
11700
11701 case 'P:10': case 'P:11': voice_name = 'Mireille[F'; break;
11702 case 'Q:10': case 'Q:11': voice_name = 'Nadine[F'; break;
11703 case 'R:10': case 'R:11': voice_name = 'Elise[F'; break;
11704 case 'S:10': case 'S:11': voice_name = 'Paul[M'; break;
11705 case 'T:10': case 'T:11': voice_name = 'Louis[M'; break;
11706
11707 case 'U:10': case 'U:11': voice_name = 'Naomi[F'; break;
11708 case 'V:10': case 'V:11': voice_name = 'Joel[M'; break;
11709 case 'W:10': case 'W:11': voice_name = 'Victor[M'; break;
11710 case 'X:10': case 'X:11': voice_name = 'Emmanuel[M'; break;
11711 case 'Y:10': case 'Y:11': voice_name = 'Isaac[M'; break;
11712
11713 case 'Z:10': case 'Z:11': voice_name = 'Deborah[F'; break;
11714 case 'AA:10': case 'AA:11': voice_name = 'Caleb[M'; break;
11715 case 'AB:10': case 'AB:11': voice_name = 'Judith[F'; break;
11716 case 'AC:10': case 'AC:11': voice_name = 'Rachel[F'; break;
11717 case 'AD:10': case 'AD:11': voice_name = 'Nathan[M'; break;
11718 }
11719 else if(lang_code == 'is-IS')
11720 switch(voice_data) {
11721 case 'A:0': voice_name = 'Helga[F'; break;
11722 case 'A:1': voice_name = 'Halla[F'; break;
11723
11724 /* 20 */
11725 case 'A:20': voice_name = 'Gudrun[F'; break;
11726 case 'B:20': voice_name = 'Arni[M'; break;
11727 case 'C:20': voice_name = 'Gunnar[M'; break;
11728 case 'D:20': voice_name = 'Katrin[F'; break;
11729 case 'E:20': voice_name = 'Elin[F'; break;
11730 case 'F:20': voice_name = 'Bjork[F'; break;
11731 case 'G:20': voice_name = 'Einar[M'; break;
11732 case 'H:20': voice_name = 'Sigridur[F'; break;
11733 case 'I:20': voice_name = 'Anna[F'; break;
11734
11735 /* 21 — HD */
11736 case 'A:21': voice_name = 'Gudrun HD[F'; break;
11737 case 'B:21': voice_name = 'Arni HD[M'; break;
11738 case 'C:21': voice_name = 'Gunnar HD[M'; break;
11739 case 'D:21': voice_name = 'Katrin HD[F'; break;
11740 case 'E:21': voice_name = 'Elin HD[F'; break;
11741 case 'F:21': voice_name = 'Bjork HD[F'; break;
11742 case 'G:21': voice_name = 'Einar HD[M'; break;
11743 case 'H:21': voice_name = 'Sigridur HD[F'; break;
11744 case 'I:21': voice_name = 'Anna HD[F'; break;
11745 case 'J:21': voice_name = 'Jon HD[M'; break;
11746 case 'K:21': voice_name = 'Magnus HD[M'; break;
11747
11748 /* 10 / 11 */
11749 case 'A:10': case 'A:11': voice_name = 'Alda[F'; break;
11750 case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
11751 case 'C:10': case 'C:11': voice_name = 'Elias[M'; break;
11752 case 'D:10': case 'D:11': voice_name = 'Kristjan[M'; break;
11753 case 'E:10': case 'E:11': voice_name = 'Aron[M'; break;
11754 case 'F:10': case 'F:11': voice_name = 'Lilja[F'; break;
11755 case 'G:10': case 'G:11': voice_name = 'Sara[F'; break;
11756 case 'H:10': case 'H:11': voice_name = 'Freydis[F'; break;
11757 case 'I:10': case 'I:11': voice_name = 'Daniel[M'; break;
11758 case 'J:10': case 'J:11': voice_name = 'Maja[F'; break;
11759 case 'K:10': case 'K:11': voice_name = 'Baldur[M'; break;
11760 case 'L:10': case 'L:11': voice_name = 'Rakel[F'; break;
11761 case 'M:10': case 'M:11': voice_name = 'Stefan[M'; break;
11762 case 'N:10': case 'N:11': voice_name = 'Embla[F'; break;
11763 case 'O:10': case 'O:11': voice_name = 'Hakon[M'; break;
11764 case 'P:10': case 'P:11': voice_name = 'Una[F'; break;
11765 case 'Q:10': case 'Q:11': voice_name = 'Elisa[F'; break;
11766 case 'R:10': case 'R:11': voice_name = 'Iris[F'; break;
11767 case 'S:10': case 'S:11': voice_name = 'Andri[M'; break;
11768 case 'T:10': case 'T:11': voice_name = 'Oskar[M'; break;
11769 case 'U:10': case 'U:11': voice_name = 'Hildur[F'; break;
11770 case 'V:10': case 'V:11': voice_name = 'Jakob[M'; break;
11771 case 'W:10': case 'W:11': voice_name = 'Sigurdur[M'; break;
11772 case 'X:10': case 'X:11': voice_name = 'Kristofer[M'; break;
11773 case 'Y:10': case 'Y:11': voice_name = 'Bjorn[M'; break;
11774 case 'Z:10': case 'Z:11': voice_name = 'Elin[F'; break;
11775 case 'AA:10': case 'AA:11': voice_name = 'Magnus[M'; break;
11776 case 'AB:10': case 'AB:11': voice_name = 'Solveig[F'; break;
11777 case 'AC:10': case 'AC:11': voice_name = 'Thora[F'; break;
11778 case 'AD:10': case 'AD:11': voice_name = 'Hrafn[M'; break;
11779 }
11780 else if(lang_code == 'id-ID')
11781 switch(voice_data) {
11782 case 'A:0': voice_name = 'Ani[F'; break;
11783 case 'D:2': voice_name = 'Eka[F'; break;
11784 case 'A:2': voice_name = 'Mega[F'; break;
11785 case 'B:2': voice_name = 'Joko[M'; break;
11786 case 'C:2': voice_name = 'Ahmad[M'; break;
11787
11788 /* 20 */
11789 case 'A:20': voice_name = 'Siti[F'; break;
11790 case 'B:20': voice_name = 'Budi[M'; break;
11791 case 'C:20': voice_name = 'Agus[M'; break;
11792 case 'D:20': voice_name = 'Putri[F'; break;
11793 case 'E:20': voice_name = 'Wulan[F'; break;
11794 case 'F:20': voice_name = 'Intan[F'; break;
11795 case 'G:20': voice_name = 'Rizky[M'; break;
11796 case 'H:20': voice_name = 'Ayu[F'; break;
11797 case 'I:20': voice_name = 'Nadia[F'; break;
11798
11799 /* 21 — HD */
11800 case 'A:21': voice_name = 'Siti HD[F'; break;
11801 case 'B:21': voice_name = 'Budi HD[M'; break;
11802 case 'C:21': voice_name = 'Agus HD[M'; break;
11803 case 'D:21': voice_name = 'Putri HD[F'; break;
11804 case 'E:21': voice_name = 'Wulan HD[F'; break;
11805 case 'F:21': voice_name = 'Intan HD[F'; break;
11806 case 'G:21': voice_name = 'Rizky HD[M'; break;
11807 case 'H:21': voice_name = 'Ayu HD[F'; break;
11808 case 'I:21': voice_name = 'Nadia HD[F'; break;
11809 case 'J:21': voice_name = 'Andi HD[M'; break;
11810 case 'K:21': voice_name = 'Dimas HD[M'; break;
11811
11812 /* 8 / 9 / 10 / 11 */
11813 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Alya[F'; break;
11814 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Rafi[M'; break;
11815 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Fajar[M'; break;
11816 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Ilham[M'; break;
11817 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Bayu[M'; break;
11818 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Dewi[F'; break;
11819 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Salsa[F'; break;
11820 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Nisa[F'; break;
11821 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Arif[M'; break;
11822 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Maya[F'; break;
11823 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Hendra[M'; break;
11824 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Putra[F'; break;
11825 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Taufik[M'; break;
11826 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Zahra[F'; break;
11827 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Irwan[M'; break;
11828 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Indah[F'; break;
11829 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Aisha[F'; break;
11830 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Ratna[F'; break;
11831 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Yoga[M'; break;
11832 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Rizal[M'; break;
11833 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Citra[F'; break;
11834 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Bagus[M'; break;
11835 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Fikri[M'; break;
11836 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Rangga[M'; break;
11837 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Dani[M'; break;
11838 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Lina[F'; break;
11839 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Rama[M'; break;
11840 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Melati[F'; break;
11841 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Nabila[F'; break;
11842 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Surya[M'; break;
11843 }
11844 else if(lang_code == 'it-IT')
11845 switch(voice_data) {
11846 case 'A:0': voice_name = 'Francesco[M'; break;
11847 case 'A:2': voice_name = 'Alessia[F'; break;
11848 case 'B:2': voice_name = 'Federica[F'; break;
11849 case 'C:2': voice_name = 'Simone[M'; break;
11850 case 'D:2': voice_name = 'Riccardo[M'; break;
11851
11852 /* 20 */
11853 case 'A:20': voice_name = 'Sofia[F'; break;
11854 case 'B:20': voice_name = 'Alessandro[M'; break;
11855 case 'C:20': voice_name = 'Lorenzo[M'; break;
11856 case 'D:20': voice_name = 'Chiara[F'; break;
11857 case 'E:20': voice_name = 'Aurora[F'; break;
11858 case 'F:20': voice_name = 'Valentina[F'; break;
11859 case 'G:20': voice_name = 'Antonio[M'; break;
11860 case 'H:20': voice_name = 'Martina[F'; break;
11861 case 'I:20': voice_name = 'Giulia[F'; break;
11862
11863 /* 21 — HD */
11864 case 'A:21': voice_name = 'Sofia HD[F'; break;
11865 case 'B:21': voice_name = 'Alessandro HD[M'; break;
11866 case 'C:21': voice_name = 'Lorenzo HD[M'; break;
11867 case 'D:21': voice_name = 'Chiara HD[F'; break;
11868 case 'E:21': voice_name = 'Aurora HD[F'; break;
11869 case 'F:21': voice_name = 'Valentina HD[F'; break;
11870 case 'G:21': voice_name = 'Antonio HD[M'; break;
11871 case 'H:21': voice_name = 'Martina HD[F'; break;
11872 case 'I:21': voice_name = 'Giulia HD[F'; break;
11873 case 'J:21': voice_name = 'Marco HD[M'; break;
11874 case 'K:21': voice_name = 'Paolo HD[M'; break;
11875
11876 /* 8 / 9 / 10 / 11 */
11877 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Elena[F'; break;
11878 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Matteo[M'; break;
11879 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Davide[M'; break;
11880 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Luca[M'; break;
11881 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Andrea[M'; break;
11882 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Francesca[F'; break;
11883 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Gianna[F'; break;
11884 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Serena[F'; break;
11885 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Nicola[M'; break;
11886 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Marta[F'; break;
11887 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Giorgio[M'; break;
11888 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Paola[F'; break;
11889 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Stefano[M'; break;
11890 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Irene[F'; break;
11891 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Fabio[M'; break;
11892 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Silvia[F'; break;
11893 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Laura[F'; break;
11894 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Beatrice[F'; break;
11895 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Daniele[M'; break;
11896 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Pietro[M'; break;
11897 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Alice[F'; break;
11898 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Roberto[M'; break;
11899 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Claudio[M'; break;
11900 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Enrico[M'; break;
11901 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Giovanni[M'; break;
11902 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Sara[F'; break;
11903 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Alberto[M'; break;
11904 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Lucia[F'; break;
11905 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Monica[F'; break;
11906 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Vincenzo[M'; break;
11907 }
11908 else if(lang_code == 'ja-JP')
11909 switch(voice_data) {
11910 case 'A:0': voice_name = 'Nana[F'; break;
11911 case 'B:2': voice_name = 'Miyu[F'; break;
11912 case 'C:2': voice_name = 'Kento[M'; break;
11913 case 'D:2': voice_name = 'Hiroto[M'; break;
11914 case 'A:2': voice_name = 'Kanon[F'; break;
11915
11916 /* 20 */
11917 case 'A:20': voice_name = 'Sakura[F'; break;
11918 case 'B:20': voice_name = 'Riku[M'; break;
11919 case 'C:20': voice_name = 'Kaito[M'; break;
11920 case 'D:20': voice_name = 'Hina[F'; break;
11921 case 'E:20': voice_name = 'Yui[F'; break;
11922 case 'F:20': voice_name = 'Aoi[F'; break;
11923 case 'G:20': voice_name = 'Ren[M'; break;
11924 case 'H:20': voice_name = 'Akari[F'; break;
11925 case 'I:20': voice_name = 'Chihiro[F'; break;
11926
11927 /* 21 — HD */
11928 case 'A:21': voice_name = 'Sakura HD[F'; break;
11929 case 'B:21': voice_name = 'Riku HD[M'; break;
11930 case 'C:21': voice_name = 'Kaito HD[M'; break;
11931 case 'D:21': voice_name = 'Hina HD[F'; break;
11932 case 'E:21': voice_name = 'Yui HD[F'; break;
11933 case 'F:21': voice_name = 'Aoi HD[F'; break;
11934 case 'G:21': voice_name = 'Ren HD[M'; break;
11935 case 'H:21': voice_name = 'Akari HD[F'; break;
11936 case 'I:21': voice_name = 'Chihiro HD[F'; break;
11937 case 'J:21': voice_name = 'Takumi HD[M'; break;
11938 case 'K:21': voice_name = 'Daichi HD[M'; break;
11939
11940 /* 8 / 9 / 10 / 11 */
11941 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Aika[F'; break;
11942 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Haruto[M'; break;
11943 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Sota[M'; break;
11944 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Yuto[M'; break;
11945 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Ryota[M'; break;
11946 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Mika[F'; break;
11947 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Nene[F'; break;
11948 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Yuna[F'; break;
11949 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sho[M'; break;
11950 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Rina[F'; break;
11951 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Kazuya[M'; break;
11952 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Emi[F'; break;
11953 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Taro[M'; break;
11954 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Mio[F'; break;
11955 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Kota[M'; break;
11956 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Ayaka[F'; break;
11957 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Hinata[F'; break;
11958 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Saki[F'; break;
11959 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Keita[M'; break;
11960 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Ryo[M'; break;
11961 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Noa[F'; break;
11962 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Shota[M'; break;
11963 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Itsuki[M'; break;
11964 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Taiga[M'; break;
11965 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Koki[M'; break;
11966 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ami[F'; break;
11967 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Jun[M'; break;
11968 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Misaki[F'; break;
11969 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Reina[F'; break;
11970 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Hayato[M'; break;
11971 }
11972 else if(lang_code == 'jw')
11973 switch(voice_data) {
11974 case 'A:0': voice_name = 'Fitri[F'; break;
11975
11976 /* 20 */
11977 case 'A:20': voice_name = 'Kartini[F'; break;
11978 case 'B:20': voice_name = 'Wibowo[M'; break;
11979 case 'C:20': voice_name = 'Sukarno[M'; break;
11980 case 'D:20': voice_name = 'Sari[F'; break;
11981 case 'E:20': voice_name = 'Putri[F'; break;
11982 case 'F:20': voice_name = 'Lestari[F'; break;
11983 case 'G:20': voice_name = 'Agung[M'; break;
11984 case 'H:20': voice_name = 'Ratri[F'; break;
11985 case 'I:20': voice_name = 'Ayu[F'; break;
11986
11987 /* 21 — HD */
11988 case 'A:21': voice_name = 'Kartini HD[F'; break;
11989 case 'B:21': voice_name = 'Wibowo HD[M'; break;
11990 case 'C:21': voice_name = 'Sukarno HD[M'; break;
11991 case 'D:21': voice_name = 'Sari HD[F'; break;
11992 case 'E:21': voice_name = 'Putri HD[F'; break;
11993 case 'F:21': voice_name = 'Lestari HD[F'; break;
11994 case 'G:21': voice_name = 'Agung HD[M'; break;
11995 case 'H:21': voice_name = 'Ratri HD[F'; break;
11996 case 'I:21': voice_name = 'Ayu HD[F'; break;
11997 case 'J:21': voice_name = 'Bima HD[M'; break;
11998 case 'K:21': voice_name = 'Darma HD[M'; break;
11999
12000 /* 10 / 11 */
12001 case 'A:10': case 'A:11': voice_name = 'Alya[F'; break;
12002 case 'B:10': case 'B:11': voice_name = 'Rafi[M'; break;
12003 case 'C:10': case 'C:11': voice_name = 'Fajar[M'; break;
12004 case 'D:10': case 'D:11': voice_name = 'Ilham[M'; break;
12005 case 'E:10': case 'E:11': voice_name = 'Bayu[M'; break;
12006 case 'F:10': case 'F:11': voice_name = 'Dewi[F'; break;
12007 case 'G:10': case 'G:11': voice_name = 'Salsa[F'; break;
12008 case 'H:10': case 'H:11': voice_name = 'Nisa[F'; break;
12009 case 'I:10': case 'I:11': voice_name = 'Arif[M'; break;
12010 case 'J:10': case 'J:11': voice_name = 'Maya[F'; break;
12011 case 'K:10': case 'K:11': voice_name = 'Hendra[M'; break;
12012 case 'L:10': case 'L:11': voice_name = 'Indira[F'; break;
12013 case 'M:10': case 'M:11': voice_name = 'Taufik[M'; break;
12014 case 'N:10': case 'N:11': voice_name = 'Zahra[F'; break;
12015 case 'O:10': case 'O:11': voice_name = 'Irwan[M'; break;
12016 case 'P:10': case 'P:11': voice_name = 'Indah[F'; break;
12017 case 'Q:10': case 'Q:11': voice_name = 'Aisha[F'; break;
12018 case 'R:10': case 'R:11': voice_name = 'Ratna[F'; break;
12019 case 'S:10': case 'S:11': voice_name = 'Yoga[M'; break;
12020 case 'T:10': case 'T:11': voice_name = 'Rizal[M'; break;
12021 case 'U:10': case 'U:11': voice_name = 'Citra[F'; break;
12022 case 'V:10': case 'V:11': voice_name = 'Bagus[M'; break;
12023 case 'W:10': case 'W:11': voice_name = 'Fikri[M'; break;
12024 case 'X:10': case 'X:11': voice_name = 'Rangga[M'; break;
12025 case 'Y:10': case 'Y:11': voice_name = 'Dani[M'; break;
12026 case 'Z:10': case 'Z:11': voice_name = 'Lina[F'; break;
12027 case 'AA:10': case 'AA:11': voice_name = 'Rama[M'; break;
12028 case 'AB:10': case 'AB:11': voice_name = 'Melati[F'; break;
12029 case 'AC:10': case 'AC:11': voice_name = 'Nabila[F'; break;
12030 case 'AD:10': case 'AD:11': voice_name = 'Surya[M'; break;
12031 }
12032 else if(lang_code == 'kn-IN')
12033 switch(voice_data) {
12034 case 'A:0': voice_name = 'Amrutha[F'; break;
12035 case 'A:2': voice_name = 'Nisha[F'; break;
12036 case 'B:2': voice_name = 'Pradeep[M'; break;
12037
12038 /* 20 */
12039 case 'A:20': voice_name = 'Lakshmi[F'; break;
12040 case 'B:20': voice_name = 'Shankar[M'; break;
12041 case 'C:20': voice_name = 'Mahesh[M'; break;
12042 case 'D:20': voice_name = 'Meghana[F'; break;
12043 case 'E:20': voice_name = 'Nandini[F'; break;
12044 case 'F:20': voice_name = 'Shwetha[F'; break;
12045 case 'G:20': voice_name = 'Kiran[M'; break;
12046 case 'H:20': voice_name = 'Aishwarya[F'; break;
12047 case 'I:20': voice_name = 'Divya[F'; break;
12048
12049 /* 21 — HD */
12050 case 'A:21': voice_name = 'Lakshmi HD[F'; break;
12051 case 'B:21': voice_name = 'Shankar HD[M'; break;
12052 case 'C:21': voice_name = 'Mahesh HD[M'; break;
12053 case 'D:21': voice_name = 'Meghana HD[F'; break;
12054 case 'E:21': voice_name = 'Nandini HD[F'; break;
12055 case 'F:21': voice_name = 'Shwetha HD[F'; break;
12056 case 'G:21': voice_name = 'Kiran HD[M'; break;
12057 case 'H:21': voice_name = 'Aishwarya HD[F'; break;
12058 case 'I:21': voice_name = 'Divya HD[F'; break;
12059 case 'J:21': voice_name = 'Arjun HD[M'; break;
12060 case 'K:21': voice_name = 'Ravi HD[M'; break;
12061
12062 /* 8 / 9 / 10 / 11 */
12063 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ananya[F'; break;
12064 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Rohan[M'; break;
12065 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Vikram[M'; break;
12066 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Suresh[M'; break;
12067 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Amit[M'; break;
12068 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Pooja[F'; break;
12069 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Neha[F'; break;
12070 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Kiran[F'; break;
12071 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sanjay[M'; break;
12072 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Ira[F'; break;
12073 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Manish[M'; break;
12074 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Alisha[F'; break;
12075 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Deepak[M'; break;
12076 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Rhea[F'; break;
12077 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Kunal[M'; break;
12078 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Simran[F'; break;
12079 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Ishita[F'; break;
12080 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Ayesha[F'; break;
12081 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Varun[M'; break;
12082 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Rakesh[M'; break;
12083 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Diya[F'; break;
12084 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Nikhil[M'; break;
12085 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Arvind[M'; break;
12086 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Rajesh[M'; break;
12087 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Siddharth[M'; break;
12088 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Kavita[F'; break;
12089 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Pranav[M'; break;
12090 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Madhuri[F'; break;
12091 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Shreya[F'; break;
12092 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Tarun[M'; break;
12093 }
12094 else if(lang_code == 'km')
12095 switch(voice_data) {
12096 case 'A:0': voice_name = 'Chanthy[F'; break;
12097
12098 /* 20 */
12099 case 'A:20': voice_name = 'Srey[F'; break;
12100 case 'B:20': voice_name = 'Sok[M'; break;
12101 case 'C:20': voice_name = 'Visal[M'; break;
12102 case 'D:20': voice_name = 'Bopha[F'; break;
12103 case 'E:20': voice_name = 'Kunthea[F'; break;
12104 case 'F:20': voice_name = 'Malis[F'; break;
12105 case 'G:20': voice_name = 'Dara[M'; break;
12106 case 'H:20': voice_name = 'Sophea[F'; break;
12107 case 'I:20': voice_name = 'Ratha[F'; break;
12108
12109 /* 21 — HD */
12110 case 'A:21': voice_name = 'Srey HD[F'; break;
12111 case 'B:21': voice_name = 'Sok HD[M'; break;
12112 case 'C:21': voice_name = 'Visal HD[M'; break;
12113 case 'D:21': voice_name = 'Bopha HD[F'; break;
12114 case 'E:21': voice_name = 'Kunthea HD[F'; break;
12115 case 'F:21': voice_name = 'Malis HD[F'; break;
12116 case 'G:21': voice_name = 'Dara HD[M'; break;
12117 case 'H:21': voice_name = 'Sophea HD[F'; break;
12118 case 'I:21': voice_name = 'Ratha HD[F'; break;
12119 case 'J:21': voice_name = 'Vannak HD[M'; break;
12120 case 'K:21': voice_name = 'Sopheak HD[M'; break;
12121 }
12122 else if(lang_code == 'ko-KR')
12123 switch(voice_data) {
12124 case 'A:0': voice_name = 'Minho[M'; break;
12125 case 'A:2': voice_name = 'Jiyeon[F'; break;
12126 case 'B:2': voice_name = 'Sohyun[F'; break;
12127 case 'C:2': voice_name = 'Jaewon[M'; break;
12128 case 'D:2': voice_name = 'Sangmin[M'; break;
12129
12130 /* 20 */
12131 case 'A:20': voice_name = 'Jiwoo[F'; break;
12132 case 'B:20': voice_name = 'Hyunwoo[M'; break;
12133 case 'C:20': voice_name = 'Junseo[M'; break;
12134 case 'D:20': voice_name = 'Yuna[F'; break;
12135 case 'E:20': voice_name = 'Jimin[F'; break;
12136 case 'F:20': voice_name = 'Minseo[F'; break;
12137 case 'G:20': voice_name = 'Sungwoo[M'; break;
12138 case 'H:20': voice_name = 'Sumin[F'; break;
12139 case 'I:20': voice_name = 'Soojin[F'; break;
12140
12141 /* 21 — HD */
12142 case 'A:21': voice_name = 'Jiwoo HD[F'; break;
12143 case 'B:21': voice_name = 'Hyunwoo HD[M'; break;
12144 case 'C:21': voice_name = 'Junseo HD[M'; break;
12145 case 'D:21': voice_name = 'Yuna HD[F'; break;
12146 case 'E:21': voice_name = 'Jimin HD[F'; break;
12147 case 'F:21': voice_name = 'Minseo HD[F'; break;
12148 case 'G:21': voice_name = 'Sungwoo HD[M'; break;
12149 case 'H:21': voice_name = 'Sumin HD[F'; break;
12150 case 'I:21': voice_name = 'Soojin HD[F'; break;
12151 case 'J:21': voice_name = 'Donghyun HD[M'; break;
12152 case 'K:21': voice_name = 'Taehyun HD[M'; break;
12153
12154 /* 8 / 9 / 10 / 11 */
12155 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ara[F'; break;
12156 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Joon[M'; break;
12157 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Seojun[M'; break;
12158 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Minjae[M'; break;
12159 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Taesung[M'; break;
12160 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Haeun[F'; break;
12161 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Yerin[F'; break;
12162 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Chaeyoung[F'; break;
12163 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Seokjin[M'; break;
12164 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Bora[F'; break;
12165 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Kyungsoo[M'; break;
12166 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Eunji[F'; break;
12167 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Youngho[M'; break;
12168 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Jisoo[F'; break;
12169 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Seungmin[M'; break;
12170 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Nari[F'; break;
12171 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Yeji[F'; break;
12172 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Hana[F'; break;
12173 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Inho[M'; break;
12174 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Junghoon[M'; break;
12175 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Sora[F'; break;
12176 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Taeyong[M'; break;
12177 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Wonho[M'; break;
12178 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Jaehyun[M'; break;
12179 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Sangho[M'; break;
12180 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Rina[F'; break;
12181 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Minjun[M'; break;
12182 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Yeseul[F'; break;
12183 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Harin[F'; break;
12184 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Dongwoo[M'; break;
12185 }
12186 else if(lang_code == 'kok-IN')
12187 switch(voice_data) {
12188
12189 /* 10 / 11 */
12190 case 'A:10': case 'A:11': voice_name = 'Anita[F'; break;
12191 case 'B:10': case 'B:11': voice_name = 'Rohan[M'; break;
12192 case 'C:10': case 'C:11': voice_name = 'Kiran[M'; break;
12193 case 'D:10': case 'D:11': voice_name = 'Mahesh[M'; break;
12194 case 'E:10': case 'E:11': voice_name = 'Vijay[M'; break;
12195
12196 case 'F:10': case 'F:11': voice_name = 'Sneha[F'; break;
12197 case 'G:10': case 'G:11': voice_name = 'Pooja[F'; break;
12198 case 'H:10': case 'H:11': voice_name = 'Meera[F'; break;
12199 case 'I:10': case 'I:11': voice_name = 'Arjun[M'; break;
12200 case 'J:10': case 'J:11': voice_name = 'Neha[F'; break;
12201
12202 case 'K:10': case 'K:11': voice_name = 'Suresh[M'; break;
12203 case 'L:10': case 'L:11': voice_name = 'Kavita[F'; break;
12204 case 'M:10': case 'M:11': voice_name = 'Nikhil[M'; break;
12205 case 'N:10': case 'N:11': voice_name = 'Asha[F'; break;
12206 case 'O:10': case 'O:11': voice_name = 'Deepak[M'; break;
12207
12208 case 'P:10': case 'P:11': voice_name = 'Lata[F'; break;
12209 case 'Q:10': case 'Q:11': voice_name = 'Rekha[F'; break;
12210 case 'R:10': case 'R:11': voice_name = 'Sunita[F'; break;
12211 case 'S:10': case 'S:11': voice_name = 'Prakash[M'; break;
12212 case 'T:10': case 'T:11': voice_name = 'Ajay[M'; break;
12213
12214 case 'U:10': case 'U:11': voice_name = 'Shreya[F'; break;
12215 case 'V:10': case 'V:11': voice_name = 'Rahul[M'; break;
12216 case 'W:10': case 'W:11': voice_name = 'Vinay[M'; break;
12217 case 'X:10': case 'X:11': voice_name = 'Manoj[M'; break;
12218 case 'Y:10': case 'Y:11': voice_name = 'Amit[M'; break;
12219
12220 case 'Z:10': case 'Z:11': voice_name = 'Divya[F'; break;
12221 case 'AA:10': case 'AA:11': voice_name = 'Ritu[F'; break;
12222 case 'AB:10': case 'AB:11': voice_name = 'Seema[F'; break;
12223 case 'AC:10': case 'AC:11': voice_name = 'Pallavi[F'; break;
12224 case 'AD:10': case 'AD:11': voice_name = 'Tarun[M'; break;
12225 }
12226 else if(lang_code == 'la')
12227 switch(voice_data) {
12228 case 'A:0': voice_name = 'Marcus[M'; break;
12229
12230 /* 20 */
12231 case 'A:20': voice_name = 'Claudia[F'; break;
12232 case 'B:20': voice_name = 'Lucius[M'; break;
12233 case 'C:20': voice_name = 'Maximus[M'; break;
12234 case 'D:20': voice_name = 'Lucia[F'; break;
12235 case 'E:20': voice_name = 'Marcia[F'; break;
12236 case 'F:20': voice_name = 'Livia[F'; break;
12237 case 'G:20': voice_name = 'Julius[M'; break;
12238 case 'H:20': voice_name = 'Cornelia[F'; break;
12239 case 'I:20': voice_name = 'Antonia[F'; break;
12240
12241 /* 21 — HD */
12242 case 'A:21': voice_name = 'Claudia HD[F'; break;
12243 case 'B:21': voice_name = 'Lucius HD[M'; break;
12244 case 'C:21': voice_name = 'Maximus HD[M'; break;
12245 case 'D:21': voice_name = 'Lucia HD[F'; break;
12246 case 'E:21': voice_name = 'Marcia HD[F'; break;
12247 case 'F:21': voice_name = 'Livia HD[F'; break;
12248 case 'G:21': voice_name = 'Julius HD[M'; break;
12249 case 'H:21': voice_name = 'Cornelia HD[F'; break;
12250 case 'I:21': voice_name = 'Antonia HD[F'; break;
12251 case 'J:21': voice_name = 'Augustus HD[M'; break;
12252 case 'K:21': voice_name = 'Tiberius HD[M'; break;
12253
12254 /* 10 / 11 */
12255 case 'A:10': case 'A:11': voice_name = 'Aurelia[F'; break;
12256 case 'B:10': case 'B:11': voice_name = 'Gaius[M'; break;
12257 case 'C:10': case 'C:11': voice_name = 'Quintus[M'; break;
12258 case 'D:10': case 'D:11': voice_name = 'Decimus[M'; break;
12259 case 'E:10': case 'E:11': voice_name = 'Sextus[M'; break;
12260 case 'F:10': case 'F:11': voice_name = 'Flavia[F'; break;
12261 case 'G:10': case 'G:11': voice_name = 'Julia[F'; break;
12262 case 'H:10': case 'H:11': voice_name = 'Octavia[F'; break;
12263 case 'I:10': case 'I:11': voice_name = 'Titus[M'; break;
12264 case 'J:10': case 'J:11': voice_name = 'Sabina[F'; break;
12265 case 'K:10': case 'K:11': voice_name = 'Servius[M'; break;
12266 case 'L:10': case 'L:11': voice_name = 'Aemilia[F'; break;
12267 case 'M:10': case 'M:11': voice_name = 'Publius[M'; break;
12268 case 'N:10': case 'N:11': voice_name = 'Domitia[F'; break;
12269 case 'O:10': case 'O:11': voice_name = 'Marcus[M'; break;
12270 case 'P:10': case 'P:11': voice_name = 'Tullia[F'; break;
12271 case 'Q:10': case 'Q:11': voice_name = 'Calpurnia[F'; break;
12272 case 'R:10': case 'R:11': voice_name = 'Agrippina[F'; break;
12273 case 'S:10': case 'S:11': voice_name = 'Drusus[M'; break;
12274 case 'T:10': case 'T:11': voice_name = 'Nero[M'; break;
12275 case 'U:10': case 'U:11': voice_name = 'Fabia[F'; break;
12276 case 'V:10': case 'V:11': voice_name = 'Hadrian[M'; break;
12277 case 'W:10': case 'W:11': voice_name = 'Trajan[M'; break;
12278 case 'X:10': case 'X:11': voice_name = 'Cicero[M'; break;
12279 case 'Y:10': case 'Y:11': voice_name = 'Seneca[M'; break;
12280 case 'Z:10': case 'Z:11': voice_name = 'Clara[F'; break;
12281 case 'AA:10': case 'AA:11': voice_name = 'Helena[F'; break;
12282 case 'AB:10': case 'AB:11': voice_name = 'Paula[F'; break;
12283 case 'AC:10': case 'AC:11': voice_name = 'Justina[F'; break;
12284 case 'AD:10': case 'AD:11': voice_name = 'Valerius[M'; break;
12285 }
12286 else if(lang_code == 'lv-LV')
12287 switch(voice_data) {
12288 case 'A:0': voice_name = 'Raimonds[M'; break;
12289 case 'A:1': voice_name = 'Andris[M'; break;
12290
12291 /* 20 */
12292 case 'A:20': voice_name = 'Anete[F'; break;
12293 case 'B:20': voice_name = 'Rihards[M'; break;
12294 case 'C:20': voice_name = 'Edgars[M'; break; /* FIX: was Andris (collision with base) */
12295 case 'D:20': voice_name = 'Dace[F'; break;
12296 case 'E:20': voice_name = 'Inese[F'; break;
12297 case 'F:20': voice_name = 'Zane[F'; break;
12298 case 'G:20': voice_name = 'Janis[M'; break;
12299 case 'H:20': voice_name = 'Ilze[F'; break;
12300 case 'I:20': voice_name = 'Kristine[F'; break;
12301
12302 /* 21 — HD */
12303 case 'A:21': voice_name = 'Anete HD[F'; break;
12304 case 'B:21': voice_name = 'Rihards HD[M'; break;
12305 case 'C:21': voice_name = 'Edgars HD[M'; break;
12306 case 'D:21': voice_name = 'Dace HD[F'; break;
12307 case 'E:21': voice_name = 'Inese HD[F'; break;
12308 case 'F:21': voice_name = 'Zane HD[F'; break;
12309 case 'G:21': voice_name = 'Janis HD[M'; break;
12310 case 'H:21': voice_name = 'Ilze HD[F'; break;
12311 case 'I:21': voice_name = 'Kristine HD[F'; break;
12312 case 'J:21': voice_name = 'Arturs HD[M'; break;
12313 case 'K:21': voice_name = 'Martins HD[M'; break;
12314
12315 /* 8 / 9 / 10 / 11 */
12316 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Elina[F'; break;
12317 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Toms[M'; break;
12318 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Miks[M'; break;
12319 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Roberts[M'; break;
12320 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Kaspars[M'; break;
12321 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Laura[F'; break;
12322 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Madara[F'; break;
12323 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Liene[F'; break;
12324 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sandis[M'; break;
12325 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Aija[F'; break;
12326 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Uldis[M'; break;
12327 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Baiba[F'; break;
12328 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Gints[M'; break;
12329 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Liga[F'; break;
12330 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Ainars[M'; break;
12331 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Sintija[F'; break;
12332 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Krista[F'; break;
12333 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Una[F'; break;
12334 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Valdis[M'; break;
12335 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Edvins[M'; break;
12336 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Anita[F'; break;
12337 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Raitis[M'; break;
12338 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Normunds[M'; break;
12339 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Ivars[M'; break;
12340 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Agris[M'; break;
12341 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Marta[F'; break;
12342 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Renars[M'; break;
12343 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Zinta[F'; break;
12344 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Ieva[F'; break;
12345 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Maris[M'; break;
12346 }
12347 else if(lang_code == 'lt-LT')
12348 switch(voice_data) {
12349 case 'A:0': voice_name = 'Mantas[M'; break;
12350 case 'A:1': voice_name = 'Tadas[M'; break;
12351
12352 /* 20 */
12353 case 'A:20': voice_name = 'Aiste[F'; break;
12354 case 'B:20': voice_name = 'Lukas[M'; break;
12355 case 'C:20': voice_name = 'Matas[M'; break;
12356 case 'D:20': voice_name = 'Ieva[F'; break;
12357 case 'E:20': voice_name = 'Greta[F'; break;
12358 case 'F:20': voice_name = 'Emilija[F'; break;
12359 case 'G:20': voice_name = 'Dominykas[M'; break;
12360 case 'H:20': voice_name = 'Saule[F'; break;
12361 case 'I:20': voice_name = 'Rugile[F'; break;
12362
12363 /* 21 — HD */
12364 case 'A:21': voice_name = 'Aiste HD[F'; break;
12365 case 'B:21': voice_name = 'Lukas HD[M'; break;
12366 case 'C:21': voice_name = 'Matas HD[M'; break;
12367 case 'D:21': voice_name = 'Ieva HD[F'; break;
12368 case 'E:21': voice_name = 'Greta HD[F'; break;
12369 case 'F:21': voice_name = 'Emilija HD[F'; break;
12370 case 'G:21': voice_name = 'Dominykas HD[M'; break;
12371 case 'H:21': voice_name = 'Saule HD[F'; break;
12372 case 'I:21': voice_name = 'Rugile HD[F'; break;
12373 case 'J:21': voice_name = 'Tomas HD[M'; break;
12374 case 'K:21': voice_name = 'Paulius HD[M'; break;
12375
12376 /* 8 / 9 / 10 / 11 */
12377 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Gabija[F'; break;
12378 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Nojus[M'; break;
12379 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Kajus[M'; break;
12380 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Dovydas[M'; break;
12381 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Rokas[M'; break;
12382 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Ugne[F'; break;
12383 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Liepa[F'; break;
12384 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Kamile[F'; break;
12385 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Arnas[M'; break;
12386 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Goda[F'; break;
12387 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Simas[M'; break;
12388 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Juste[F'; break;
12389 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Paulius[M'; break;
12390 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Egle[F'; break;
12391 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Titas[M'; break;
12392 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Vilte[F'; break;
12393 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Adele[F'; break;
12394 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Medeina[F'; break;
12395 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Karolis[M'; break;
12396 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Mindaugas[M'; break;
12397 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Ausrine[F'; break;
12398 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Evaldas[M'; break;
12399 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Vytautas[M'; break;
12400 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Linas[M'; break;
12401 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Gintaras[M'; break;
12402 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ruta[F'; break;
12403 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Nerija[F'; break;
12404 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Inga[F'; break;
12405 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Birute[F'; break;
12406 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Darius[M'; break;
12407 }
12408 else if(lang_code == 'lb-LU')
12409 switch(voice_data) {
12410
12411 /* 10 / 11 */
12412 case 'A:10': case 'A:11': voice_name = 'Anne[F'; break;
12413 case 'B:10': case 'B:11': voice_name = 'Tom[M'; break;
12414 case 'C:10': case 'C:11': voice_name = 'Luca[M'; break;
12415 case 'D:10': case 'D:11': voice_name = 'Ben[M'; break;
12416 case 'E:10': case 'E:11': voice_name = 'Marc[M'; break;
12417
12418 case 'F:10': case 'F:11': voice_name = 'Sophie[F'; break;
12419 case 'G:10': case 'G:11': voice_name = 'Lea[F'; break;
12420 case 'H:10': case 'H:11': voice_name = 'Mia[F'; break;
12421 case 'I:10': case 'I:11': voice_name = 'Paul[M'; break;
12422 case 'J:10': case 'J:11': voice_name = 'Emma[F'; break;
12423
12424 case 'K:10': case 'K:11': voice_name = 'Alex[M'; break;
12425 case 'L:10': case 'L:11': voice_name = 'Julie[F'; break;
12426 case 'M:10': case 'M:11': voice_name = 'Noah[M'; break;
12427 case 'N:10': case 'N:11': voice_name = 'Nina[F'; break;
12428 case 'O:10': case 'O:11': voice_name = 'David[M'; break;
12429
12430 case 'P:10': case 'P:11': voice_name = 'Laura[F'; break;
12431 case 'Q:10': case 'Q:11': voice_name = 'Chloe[F'; break;
12432 case 'R:10': case 'R:11': voice_name = 'Sara[F'; break;
12433 case 'S:10': case 'S:11': voice_name = 'Leo[M'; break;
12434 case 'T:10': case 'T:11': voice_name = 'Max[M'; break;
12435
12436 case 'U:10': case 'U:11': voice_name = 'Lena[F'; break;
12437 case 'V:10': case 'V:11': voice_name = 'Eric[M'; break;
12438 case 'W:10': case 'W:11': voice_name = 'Daniel[M'; break;
12439 case 'X:10': case 'X:11': voice_name = 'Chris[M'; break;
12440 case 'Y:10': case 'Y:11': voice_name = 'Felix[M'; break;
12441
12442 case 'Z:10': case 'Z:11': voice_name = 'Ella[F'; break;
12443 case 'AA:10': case 'AA:11': voice_name = 'Jonas[M'; break;
12444 case 'AB:10': case 'AB:11': voice_name = 'Lara[F'; break;
12445 case 'AC:10': case 'AC:11': voice_name = 'Mara[F'; break;
12446 case 'AD:10': case 'AD:11': voice_name = 'Tim[M'; break;
12447 }
12448 else if(lang_code == 'lo-LA')
12449 switch(voice_data) {
12450
12451 /* 10 / 11 */
12452 case 'A:10': case 'A:11': voice_name = 'Anong[F'; break;
12453 case 'B:10': case 'B:11': voice_name = 'Somchai[M'; break;
12454 case 'C:10': case 'C:11': voice_name = 'Kham[M'; break;
12455 case 'D:10': case 'D:11': voice_name = 'Vong[M'; break;
12456 case 'E:10': case 'E:11': voice_name = 'Seng[M'; break;
12457
12458 case 'F:10': case 'F:11': voice_name = 'Mali[F'; break;
12459 case 'G:10': case 'G:11': voice_name = 'Dara[F'; break;
12460 case 'H:10': case 'H:11': voice_name = 'Noy[F'; break;
12461 case 'I:10': case 'I:11': voice_name = 'Boun[M'; break;
12462 case 'J:10': case 'J:11': voice_name = 'Lina[F'; break;
12463
12464 case 'K:10': case 'K:11': voice_name = 'Krit[M'; break;
12465 case 'L:10': case 'L:11': voice_name = 'Suda[F'; break;
12466 case 'M:10': case 'M:11': voice_name = 'Phan[M'; break;
12467 case 'N:10': case 'N:11': voice_name = 'Kanya[F'; break;
12468 case 'O:10': case 'O:11': voice_name = 'Xay[M'; break;
12469
12470 case 'P:10': case 'P:11': voice_name = 'Bua[F'; break;
12471 case 'Q:10': case 'Q:11': voice_name = 'Nida[F'; break;
12472 case 'R:10': case 'R:11': voice_name = 'Siri[F'; break;
12473 case 'S:10': case 'S:11': voice_name = 'Kong[M'; break;
12474 case 'T:10': case 'T:11': voice_name = 'Lek[M'; break;
12475
12476 case 'U:10': case 'U:11': voice_name = 'Dao[F'; break;
12477 case 'V:10': case 'V:11': voice_name = 'Than[M'; break;
12478 case 'W:10': case 'W:11': voice_name = 'Phon[M'; break;
12479 case 'X:10': case 'X:11': voice_name = 'Som[M'; break;
12480 case 'Y:10': case 'Y:11': voice_name = 'Vee[M'; break;
12481
12482 case 'Z:10': case 'Z:11': voice_name = 'Kieu[F'; break;
12483 case 'AA:10': case 'AA:11': voice_name = 'Nang[M'; break;
12484 case 'AB:10': case 'AB:11': voice_name = 'Lada[F'; break;
12485 case 'AC:10': case 'AC:11': voice_name = 'Sila[F'; break;
12486 case 'AD:10': case 'AD:11': voice_name = 'Khamphong[M'; break;
12487 }
12488 else if(lang_code == 'ms-MY')
12489 switch(voice_data) {
12490 case 'A:0': voice_name = 'Fatimah[F'; break;
12491 case 'A:2': voice_name = 'Farah[F'; break;
12492 case 'B:2': voice_name = 'Azman[M'; break;
12493 case 'C:2': voice_name = 'Siti[F'; break;
12494 case 'D:2': voice_name = 'Syed[M'; break;
12495
12496 /* 20 */
12497 case 'A:20': voice_name = 'Aisyah[F'; break;
12498 case 'B:20': voice_name = 'Hafiz[M'; break;
12499 case 'C:20': voice_name = 'Firdaus[M'; break;
12500 case 'D:20': voice_name = 'Nabila[F'; break;
12501 case 'E:20': voice_name = 'Aina[F'; break;
12502 case 'F:20': voice_name = 'Nur[F'; break;
12503 case 'G:20': voice_name = 'Khairul[M'; break;
12504 case 'H:20': voice_name = 'Zarina[F'; break;
12505 case 'I:20': voice_name = 'Melissa[F'; break;
12506
12507 /* 21 — HD */
12508 case 'A:21': voice_name = 'Aisyah HD[F'; break;
12509 case 'B:21': voice_name = 'Hafiz HD[M'; break;
12510 case 'C:21': voice_name = 'Firdaus HD[M'; break;
12511 case 'D:21': voice_name = 'Nabila HD[F'; break;
12512 case 'E:21': voice_name = 'Aina HD[F'; break;
12513 case 'F:21': voice_name = 'Nur HD[F'; break;
12514 case 'G:21': voice_name = 'Khairul HD[M'; break;
12515 case 'H:21': voice_name = 'Zarina HD[F'; break;
12516 case 'I:21': voice_name = 'Melissa HD[F'; break;
12517 case 'J:21': voice_name = 'Amir HD[M'; break;
12518 case 'K:21': voice_name = 'Daniel HD[M'; break;
12519
12520 /* 10 / 11 */
12521 case 'A:10': case 'A:11': voice_name = 'Alia[F'; break;
12522 case 'B:10': case 'B:11': voice_name = 'Rizal[M'; break;
12523 case 'C:10': case 'C:11': voice_name = 'Fikri[M'; break;
12524 case 'D:10': case 'D:11': voice_name = 'Hakim[M'; break;
12525 case 'E:10': case 'E:11': voice_name = 'Farid[M'; break;
12526 case 'F:10': case 'F:11': voice_name = 'Diyana[F'; break;
12527 case 'G:10': case 'G:11': voice_name = 'Sofia[F'; break;
12528 case 'H:10': case 'H:11': voice_name = 'Alya[F'; break;
12529 case 'I:10': case 'I:11': voice_name = 'Arif[M'; break;
12530 case 'J:10': case 'J:11': voice_name = 'Hana[F'; break;
12531 case 'K:10': case 'K:11': voice_name = 'Shah[M'; break;
12532 case 'L:10': case 'L:11': voice_name = 'Nadia[F'; break;
12533 case 'M:10': case 'M:11': voice_name = 'Azri[M'; break;
12534 case 'N:10': case 'N:11': voice_name = 'Ira[F'; break;
12535 case 'O:10': case 'O:11': voice_name = 'Faiz[M'; break;
12536 case 'P:10': case 'P:11': voice_name = 'Liyana[F'; break;
12537 case 'Q:10': case 'Q:11': voice_name = 'Balqis[F'; break;
12538 case 'R:10': case 'R:11': voice_name = 'Ain[F'; break;
12539 case 'S:10': case 'S:11': voice_name = 'Zul[M'; break;
12540 case 'T:10': case 'T:11': voice_name = 'Irfan[M'; break;
12541 case 'U:10': case 'U:11': voice_name = 'Yasmin[F'; break;
12542 case 'V:10': case 'V:11': voice_name = 'Adib[M'; break;
12543 case 'W:10': case 'W:11': voice_name = 'Harith[M'; break;
12544 case 'X:10': case 'X:11': voice_name = 'Qasim[M'; break;
12545 case 'Y:10': case 'Y:11': voice_name = 'Rayyan[M'; break;
12546 case 'Z:10': case 'Z:11': voice_name = 'Salma[F'; break;
12547 case 'AA:10': case 'AA:11': voice_name = 'Haziq[M'; break;
12548 case 'AB:10': case 'AB:11': voice_name = 'Amirah[F'; break;
12549 case 'AC:10': case 'AC:11': voice_name = 'Sabrina[F'; break;
12550 case 'AD:10': case 'AD:11': voice_name = 'Naufal[M'; break;
12551 }
12552 else if(lang_code == 'ml-IN')
12553 switch(voice_data) {
12554 case 'A:0': voice_name = 'Anjali[F'; break;
12555 case 'A:2': voice_name = 'Sangeetha[F'; break;
12556 case 'B:2': voice_name = 'Anoop[M'; break;
12557 case 'C:2': voice_name = 'Radhika[F'; break;
12558 case 'D:2': voice_name = 'Manoj[M'; break;
12559
12560 /* 20 */
12561 case 'A:20': voice_name = 'Lakshmi[F'; break;
12562 case 'B:20': voice_name = 'Arun[M'; break;
12563 case 'C:20': voice_name = 'Vishnu[M'; break;
12564 case 'D:20': voice_name = 'Meera[F'; break;
12565 case 'E:20': voice_name = 'Devika[F'; break;
12566 case 'F:20': voice_name = 'Nandana[F'; break;
12567 case 'G:20': voice_name = 'Suresh[M'; break;
12568 case 'H:20': voice_name = 'Athira[F'; break;
12569 case 'I:20': voice_name = 'Keerthana[F'; break;
12570
12571 /* 21 — HD */
12572 case 'A:21': voice_name = 'Lakshmi HD[F'; break;
12573 case 'B:21': voice_name = 'Arun HD[M'; break;
12574 case 'C:21': voice_name = 'Vishnu HD[M'; break;
12575 case 'D:21': voice_name = 'Meera HD[F'; break;
12576 case 'E:21': voice_name = 'Devika HD[F'; break;
12577 case 'F:21': voice_name = 'Nandana HD[F'; break;
12578 case 'G:21': voice_name = 'Suresh HD[M'; break;
12579 case 'H:21': voice_name = 'Athira HD[F'; break;
12580 case 'I:21': voice_name = 'Keerthana HD[F'; break;
12581 case 'J:21': voice_name = 'Rahul HD[M'; break;
12582 case 'K:21': voice_name = 'Ajith HD[M'; break;
12583
12584 /* 10 / 11 */
12585 case 'A:10': case 'A:11': voice_name = 'Amala[F'; break;
12586 case 'B:10': case 'B:11': voice_name = 'Nikhil[M'; break;
12587 case 'C:10': case 'C:11': voice_name = 'Kiran[M'; break;
12588 case 'D:10': case 'D:11': voice_name = 'Santhosh[M'; break;
12589 case 'E:10': case 'E:11': voice_name = 'Praveen[M'; break;
12590 case 'F:10': case 'F:11': voice_name = 'Reshma[F'; break;
12591 case 'G:10': case 'G:11': voice_name = 'Sneha[F'; break;
12592 case 'H:10': case 'H:11': voice_name = 'Anu[F'; break;
12593 case 'I:10': case 'I:11': voice_name = 'Vivek[M'; break;
12594 case 'J:10': case 'J:11': voice_name = 'Divya[F'; break;
12595 case 'K:10': case 'K:11': voice_name = 'Rakesh[M'; break;
12596 case 'L:10': case 'L:11': voice_name = 'Deepa[F'; break;
12597 case 'M:10': case 'M:11': voice_name = 'Hari[M'; break;
12598 case 'N:10': case 'N:11': voice_name = 'Lekha[F'; break;
12599 case 'O:10': case 'O:11': voice_name = 'Aravind[M'; break;
12600 case 'P:10': case 'P:11': voice_name = 'Nimisha[F'; break;
12601 case 'Q:10': case 'Q:11': voice_name = 'Gopika[F'; break;
12602 case 'R:10': case 'R:11': voice_name = 'Sruthi[F'; break;
12603 case 'S:10': case 'S:11': voice_name = 'Mithun[M'; break;
12604 case 'T:10': case 'T:11': voice_name = 'Jithin[M'; break;
12605 case 'U:10': case 'U:11': voice_name = 'Arya[F'; break;
12606 case 'V:10': case 'V:11': voice_name = 'Faisal[M'; break;
12607 case 'W:10': case 'W:11': voice_name = 'Shan[M'; break;
12608 case 'X:10': case 'X:11': voice_name = 'Naveen[M'; break;
12609 case 'Y:10': case 'Y:11': voice_name = 'Akhil[M'; break;
12610 case 'Z:10': case 'Z:11': voice_name = 'Kavya[F'; break;
12611 case 'AA:10': case 'AA:11': voice_name = 'Megha[F'; break;
12612 case 'AB:10': case 'AB:11': voice_name = 'Sreya[F'; break;
12613 case 'AC:10': case 'AC:11': voice_name = 'Neethu[F'; break;
12614 case 'AD:10': case 'AD:11': voice_name = 'Manu[M'; break;
12615 }
12616 else if(lang_code == 'mg-MG')
12617 switch(voice_data) {
12618
12619 /* 10 / 11 */
12620 case 'A:10': case 'A:11': voice_name = 'Hery[F'; break;
12621 case 'B:10': case 'B:11': voice_name = 'Andry[M'; break;
12622 case 'C:10': case 'C:11': voice_name = 'Tahina[M'; break;
12623 case 'D:10': case 'D:11': voice_name = 'Tiana[M'; break;
12624 case 'E:10': case 'E:11': voice_name = 'Feno[M'; break;
12625
12626 case 'F:10': case 'F:11': voice_name = 'Soa[F'; break;
12627 case 'G:10': case 'G:11': voice_name = 'Mialy[F'; break;
12628 case 'H:10': case 'H:11': voice_name = 'Rina[F'; break;
12629 case 'I:10': case 'I:11': voice_name = 'Toky[M'; break;
12630 case 'J:10': case 'J:11': voice_name = 'Lova[F'; break;
12631
12632 case 'K:10': case 'K:11': voice_name = 'Naina[M'; break;
12633 case 'L:10': case 'L:11': voice_name = 'Voahangy[F'; break;
12634 case 'M:10': case 'M:11': voice_name = 'Rado[M'; break;
12635 case 'N:10': case 'N:11': voice_name = 'Hasina[F'; break;
12636 case 'O:10': case 'O:11': voice_name = 'Fitia[M'; break;
12637
12638 case 'P:10': case 'P:11': voice_name = 'Faniry[F'; break;
12639 case 'Q:10': case 'Q:11': voice_name = 'Sarobidy[F'; break;
12640 case 'R:10': case 'R:11': voice_name = 'Fara[F'; break;
12641 case 'S:10': case 'S:11': voice_name = 'Bodo[M'; break;
12642 case 'T:10': case 'T:11': voice_name = 'Kanto[M'; break;
12643
12644 case 'U:10': case 'U:11': voice_name = 'Mamy[F'; break;
12645 case 'V:10': case 'V:11': voice_name = 'Solo[M'; break;
12646 case 'W:10': case 'W:11': voice_name = 'Noro[M'; break;
12647 case 'X:10': case 'X:11': voice_name = 'Rija[M'; break;
12648 case 'Y:10': case 'Y:11': voice_name = 'Tovo[M'; break;
12649
12650 case 'Z:10': case 'Z:11': voice_name = 'Vola[F'; break;
12651 case 'AA:10': case 'AA:11': voice_name = 'Lanto[M'; break;
12652 case 'AB:10': case 'AB:11': voice_name = 'Fanja[F'; break;
12653 case 'AC:10': case 'AC:11': voice_name = 'Nantenaina[F'; break;
12654 case 'AD:10': case 'AD:11': voice_name = 'Haja[M'; break;
12655 }
12656 else if(lang_code == 'mn-MN')
12657 switch(voice_data) {
12658
12659 case 'A:10': case 'A:11': voice_name = 'Sarangerel[F'; break;
12660 case 'B:10': case 'B:11': voice_name = 'Bat[M'; break;
12661 case 'C:10': case 'C:11': voice_name = 'Temuulen[M'; break;
12662 case 'D:10': case 'D:11': voice_name = 'Erdene[M'; break;
12663 case 'E:10': case 'E:11': voice_name = 'Munkh[M'; break;
12664
12665 case 'F:10': case 'F:11': voice_name = 'Anu[F'; break;
12666 case 'G:10': case 'G:11': voice_name = 'Naran[F'; break;
12667 case 'H:10': case 'H:11': voice_name = 'Tuya[F'; break;
12668 case 'I:10': case 'I:11': voice_name = 'Ganbold[M'; break;
12669 case 'J:10': case 'J:11': voice_name = 'Enkhjin[F'; break;
12670
12671 case 'K:10': case 'K:11': voice_name = 'Batsaikhan[M'; break;
12672 case 'L:10': case 'L:11': voice_name = 'Solongo[F'; break;
12673 case 'M:10': case 'M:11': voice_name = 'Tuvshin[M'; break;
12674 case 'N:10': case 'N:11': voice_name = 'Khulan[F'; break;
12675 case 'O:10': case 'O:11': voice_name = 'Altan[M'; break;
12676
12677 case 'P:10': case 'P:11': voice_name = 'Ariunaa[F'; break;
12678 case 'Q:10': case 'Q:11': voice_name = 'Oyun[F'; break;
12679 case 'R:10': case 'R:11': voice_name = 'Sarnai[F'; break;
12680 case 'S:10': case 'S:11': voice_name = 'Dorj[M'; break;
12681 case 'T:10': case 'T:11': voice_name = 'Gantulga[M'; break;
12682
12683 case 'U:10': case 'U:11': voice_name = 'Erdenechimeg[F'; break;
12684 case 'V:10': case 'V:11': voice_name = 'Bayar[M'; break;
12685 case 'W:10': case 'W:11': voice_name = 'Khishig[M'; break;
12686 case 'X:10': case 'X:11': voice_name = 'Sukhbaatar[M'; break;
12687 case 'Y:10': case 'Y:11': voice_name = 'Tsogt[M'; break;
12688
12689 case 'Z:10': case 'Z:11': voice_name = 'Enkhtuya[F'; break;
12690 case 'AA:10': case 'AA:11': voice_name = 'Munkhbat[M'; break;
12691 case 'AB:10': case 'AB:11': voice_name = 'Chimgee[F'; break;
12692 case 'AC:10': case 'AC:11': voice_name = 'Nomuun[F'; break;
12693 case 'AD:10': case 'AD:11': voice_name = 'Bilguun[M'; break;
12694 }
12695 else if(lang_code == 'mr-IN')
12696 switch(voice_data) {
12697 case 'A:0': voice_name = 'Archana[F'; break;
12698 case 'A:2': voice_name = 'Manisha[F'; break;
12699 case 'B:2': voice_name = 'Suresh[M'; break;
12700 case 'C:2': voice_name = 'Neha[F'; break;
12701
12702 /* 20 */
12703 case 'A:20': voice_name = 'Aarti[F'; break;
12704 case 'B:20': voice_name = 'Rahul[M'; break;
12705 case 'C:20': voice_name = 'Amit[M'; break;
12706 case 'D:20': voice_name = 'Snehal[F'; break;
12707 case 'E:20': voice_name = 'Pooja[F'; break;
12708 case 'F:20': voice_name = 'Kavita[F'; break;
12709 case 'G:20': voice_name = 'Vikas[M'; break;
12710 case 'H:20': voice_name = 'Shreya[F'; break;
12711 case 'I:20': voice_name = 'Madhuri[F'; break;
12712
12713 /* 21 — HD */
12714 case 'A:21': voice_name = 'Aarti HD[F'; break;
12715 case 'B:21': voice_name = 'Rahul HD[M'; break;
12716 case 'C:21': voice_name = 'Amit HD[M'; break;
12717 case 'D:21': voice_name = 'Snehal HD[F'; break;
12718 case 'E:21': voice_name = 'Pooja HD[F'; break;
12719 case 'F:21': voice_name = 'Kavita HD[F'; break;
12720 case 'G:21': voice_name = 'Vikas HD[M'; break;
12721 case 'H:21': voice_name = 'Shreya HD[F'; break;
12722 case 'I:21': voice_name = 'Madhuri HD[F'; break;
12723 case 'J:21': voice_name = 'Rohit HD[M'; break;
12724 case 'K:21': voice_name = 'Nikhil HD[M'; break;
12725
12726 /* 8 / 9 / 10 / 11 */
12727 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ananya[F'; break;
12728 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Kiran[M'; break;
12729 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Sameer[M'; break;
12730 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Prakash[M'; break;
12731 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Ajay[M'; break;
12732 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Riya[F'; break;
12733 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Tanvi[F'; break;
12734 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Isha[F'; break;
12735 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Sagar[M'; break;
12736 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mira[F'; break;
12737 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Deepak[M'; break;
12738 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Priya[F'; break;
12739 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Rakesh[M'; break;
12740 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Swati[F'; break;
12741 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Vijay[M'; break;
12742 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Komal[F'; break;
12743 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Rutuja[F'; break;
12744 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Asha[F'; break;
12745 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Mahesh[M'; break;
12746 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Sunil[M'; break;
12747 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Pallavi[F'; break;
12748 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Rohan[M'; break;
12749 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Nitin[M'; break;
12750 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Omkar[M'; break;
12751 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Aditya[M'; break;
12752 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Kajal[F'; break;
12753 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Bhavna[F'; break;
12754 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Vaishnavi[F'; break;
12755 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Sneha[F'; break;
12756 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Akshay[M'; break;
12757 }
12758 else if(lang_code == 'mai-IN')
12759 switch(voice_data) {
12760
12761 /* 20 */
12762 case 'A:20': voice_name = 'Kavita[F'; break;
12763 case 'B:20': voice_name = 'Ravi[M'; break;
12764 case 'C:20': voice_name = 'Amit[M'; break;
12765 case 'D:20': voice_name = 'Sunita[F'; break;
12766 case 'E:20': voice_name = 'Pooja[F'; break;
12767 case 'F:20': voice_name = 'Neha[F'; break;
12768 case 'G:20': voice_name = 'Vikash[M'; break;
12769 case 'H:20': voice_name = 'Anita[F'; break;
12770 case 'I:20': voice_name = 'Rekha[F'; break;
12771
12772 /* 21 — HD */
12773 case 'A:21': voice_name = 'Kavita HD[F'; break;
12774 case 'B:21': voice_name = 'Ravi HD[M'; break;
12775 case 'C:21': voice_name = 'Amit HD[M'; break;
12776 case 'D:21': voice_name = 'Sunita HD[F'; break;
12777 case 'E:21': voice_name = 'Pooja HD[F'; break;
12778 case 'F:21': voice_name = 'Neha HD[F'; break;
12779 case 'G:21': voice_name = 'Vikash HD[M'; break;
12780 case 'H:21': voice_name = 'Anita HD[F'; break;
12781 case 'I:21': voice_name = 'Rekha HD[F'; break;
12782 case 'J:21': voice_name = 'Manoj HD[M'; break;
12783 case 'K:21': voice_name = 'Sanjay HD[M'; break;
12784
12785 /* 10 / 11 */
12786 case 'A:10': case 'A:11': voice_name = 'Asha[F'; break;
12787 case 'B:10': case 'B:11': voice_name = 'Rohit[M'; break;
12788 case 'C:10': case 'C:11': voice_name = 'Deepak[M'; break;
12789 case 'D:10': case 'D:11': voice_name = 'Prakash[M'; break;
12790 case 'E:10': case 'E:11': voice_name = 'Mukesh[M'; break;
12791 case 'F:10': case 'F:11': voice_name = 'Shreya[F'; break;
12792 case 'G:10': case 'G:11': voice_name = 'Nisha[F'; break;
12793 case 'H:10': case 'H:11': voice_name = 'Ritu[F'; break;
12794 case 'I:10': case 'I:11': voice_name = 'Ajay[M'; break;
12795 case 'J:10': case 'J:11': voice_name = 'Kiran[F'; break;
12796 case 'K:10': case 'K:11': voice_name = 'Arun[M'; break;
12797 case 'L:10': case 'L:11': voice_name = 'Meena[F'; break;
12798 case 'M:10': case 'M:11': voice_name = 'Suresh[M'; break;
12799 case 'N:10': case 'N:11': voice_name = 'Lata[F'; break;
12800 case 'O:10': case 'O:11': voice_name = 'Rajesh[M'; break;
12801 case 'P:10': case 'P:11': voice_name = 'Kusum[F'; break;
12802 case 'Q:10': case 'Q:11': voice_name = 'Gita[F'; break;
12803 case 'R:10': case 'R:11': voice_name = 'Radha[F'; break;
12804 case 'S:10': case 'S:11': voice_name = 'Vijay[M'; break;
12805 case 'T:10': case 'T:11': voice_name = 'Naresh[M'; break;
12806 case 'U:10': case 'U:11': voice_name = 'Anju[F'; break;
12807 case 'V:10': case 'V:11': voice_name = 'Dinesh[M'; break;
12808 case 'W:10': case 'W:11': voice_name = 'Rakesh[M'; break;
12809 case 'X:10': case 'X:11': voice_name = 'Mahesh[M'; break;
12810 case 'Y:10': case 'Y:11': voice_name = 'Sanjana[F'; break;
12811 case 'Z:10': case 'Z:11': voice_name = 'Pallavi[F'; break;
12812 case 'AA:10': case 'AA:11': voice_name = 'Reena[F'; break;
12813 case 'AB:10': case 'AB:11': voice_name = 'Seema[F'; break;
12814 case 'AC:10': case 'AC:11': voice_name = 'Ranjana[F'; break;
12815 case 'AD:10': case 'AD:11': voice_name = 'Akash[M'; break;
12816 }
12817 else if(lang_code == 'my')
12818 switch(voice_data) {
12819 case 'A:0': voice_name = 'Khin[F'; break;
12820
12821 /* 20 */
12822 case 'A:20': voice_name = 'Thiri[F'; break;
12823 case 'B:20': voice_name = 'Min[M'; break;
12824 case 'C:20': voice_name = 'Kyaw[M'; break;
12825 case 'D:20': voice_name = 'Nandar[F'; break;
12826 case 'E:20': voice_name = 'Su[F'; break;
12827 case 'F:20': voice_name = 'Hla[F'; break;
12828 case 'G:20': voice_name = 'Aung[M'; break;
12829 case 'H:20': voice_name = 'May[F'; break;
12830 case 'I:20': voice_name = 'Mya[F'; break;
12831
12832 /* 21 — HD */
12833 case 'A:21': voice_name = 'Thiri HD[F'; break;
12834 case 'B:21': voice_name = 'Min HD[M'; break;
12835 case 'C:21': voice_name = 'Kyaw HD[M'; break;
12836 case 'D:21': voice_name = 'Nandar HD[F'; break;
12837 case 'E:21': voice_name = 'Su HD[F'; break;
12838 case 'F:21': voice_name = 'Hla HD[F'; break;
12839 case 'G:21': voice_name = 'Aung HD[M'; break;
12840 case 'H:21': voice_name = 'May HD[F'; break;
12841 case 'I:21': voice_name = 'Mya HD[F'; break;
12842 case 'J:21': voice_name = 'Zaw HD[M'; break;
12843 case 'K:21': voice_name = 'Tun HD[M'; break;
12844 }
12845 else if(lang_code == 'ne')
12846 switch(voice_data) {
12847 case 'A:0': voice_name = 'Nisha[F'; break;
12848
12849 /* 20 */
12850 case 'A:20': voice_name = 'Sita[F'; break;
12851 case 'B:20': voice_name = 'Suman[M'; break;
12852 case 'C:20': voice_name = 'Ramesh[M'; break;
12853 case 'D:20': voice_name = 'Laxmi[F'; break;
12854 case 'E:20': voice_name = 'Rupa[F'; break;
12855 case 'F:20': voice_name = 'Anjali[F'; break;
12856 case 'G:20': voice_name = 'Bikash[M'; break;
12857 case 'H:20': voice_name = 'Maya[F'; break;
12858 case 'I:20': voice_name = 'Gita[F'; break;
12859
12860 /* 21 — HD */
12861 case 'A:21': voice_name = 'Sita HD[F'; break;
12862 case 'B:21': voice_name = 'Suman HD[M'; break;
12863 case 'C:21': voice_name = 'Ramesh HD[M'; break;
12864 case 'D:21': voice_name = 'Laxmi HD[F'; break;
12865 case 'E:21': voice_name = 'Rupa HD[F'; break;
12866 case 'F:21': voice_name = 'Anjali HD[F'; break;
12867 case 'G:21': voice_name = 'Bikash HD[M'; break;
12868 case 'H:21': voice_name = 'Maya HD[F'; break;
12869 case 'I:21': voice_name = 'Gita HD[F'; break;
12870 case 'J:21': voice_name = 'Prakash HD[M'; break;
12871 case 'K:21': voice_name = 'Dipak HD[M'; break;
12872
12873 /* 10 / 11 */
12874 case 'A:10': case 'A:11': voice_name = 'Asha[F'; break;
12875 case 'B:10': case 'B:11': voice_name = 'Ram[M'; break;
12876 case 'C:10': case 'C:11': voice_name = 'Hari[M'; break;
12877 case 'D:10': case 'D:11': voice_name = 'Krishna[M'; break;
12878 case 'E:10': case 'E:11': voice_name = 'Arjun[M'; break;
12879 case 'F:10': case 'F:11': voice_name = 'Sarita[F'; break;
12880 case 'G:10': case 'G:11': voice_name = 'Sunita[F'; break;
12881 case 'H:10': case 'H:11': voice_name = 'Sabina[F'; break;
12882 case 'I:10': case 'I:11': voice_name = 'Rajan[M'; break;
12883 case 'J:10': case 'J:11': voice_name = 'Mina[F'; break;
12884 case 'K:10': case 'K:11': voice_name = 'Kiran[M'; break;
12885 case 'L:10': case 'L:11': voice_name = 'Rekha[F'; break;
12886 case 'M:10': case 'M:11': voice_name = 'Sanjay[M'; break;
12887 case 'N:10': case 'N:11': voice_name = 'Puja[F'; break;
12888 case 'O:10': case 'O:11': voice_name = 'Nabin[M'; break;
12889 case 'P:10': case 'P:11': voice_name = 'Bina[F'; break;
12890 case 'Q:10': case 'Q:11': voice_name = 'Lila[F'; break;
12891 case 'R:10': case 'R:11': voice_name = 'Kamala[F'; break;
12892 case 'S:10': case 'S:11': voice_name = 'Mohan[M'; break;
12893 case 'T:10': case 'T:11': voice_name = 'Bijay[M'; break;
12894 case 'U:10': case 'U:11': voice_name = 'Sushma[F'; break;
12895 case 'V:10': case 'V:11': voice_name = 'Deepak[M'; break;
12896 case 'W:10': case 'W:11': voice_name = 'Kamal[M'; break;
12897 case 'X:10': case 'X:11': voice_name = 'Rohit[M'; break;
12898 case 'Y:10': case 'Y:11': voice_name = 'Sagar[M'; break;
12899 case 'Z:10': case 'Z:11': voice_name = 'Nirmala[F'; break;
12900 case 'AA:10': case 'AA:11': voice_name = 'Gauri[F'; break;
12901 case 'AB:10': case 'AB:11': voice_name = 'Manju[F'; break;
12902 case 'AC:10': case 'AC:11': voice_name = 'Indira[F'; break;
12903 case 'AD:10': case 'AD:11': voice_name = 'Ajit[M'; break;
12904 }
12905 else if(lang_code == 'nb-NO')
12906 switch(voice_data) {
12907 case 'A:0': voice_name = 'Eline[F'; break;
12908 case 'A:2': voice_name = 'Ingrid[F'; break;
12909 case 'B:2': voice_name = 'Andreas[M'; break;
12910 case 'C:2': voice_name = 'Sofie[F'; break;
12911 case 'D:2': voice_name = 'Henrik[M'; break;
12912 case 'E:2': voice_name = 'Kari[F'; break;
12913
12914 /* 20 */
12915 case 'A:20': voice_name = 'Linnea[F'; break;
12916 case 'B:20': voice_name = 'Magnus[M'; break;
12917 case 'C:20': voice_name = 'Sander[M'; break;
12918 case 'D:20': voice_name = 'Nora[F'; break;
12919 case 'E:20': voice_name = 'Emma[F'; break;
12920 case 'F:20': voice_name = 'Thea[F'; break;
12921 case 'G:20': voice_name = 'Oliver[M'; break;
12922 case 'H:20': voice_name = 'Ida[F'; break;
12923 case 'I:20': voice_name = 'Maja[F'; break;
12924
12925 /* 21 — HD */
12926 case 'A:21': voice_name = 'Linnea HD[F'; break;
12927 case 'B:21': voice_name = 'Magnus HD[M'; break;
12928 case 'C:21': voice_name = 'Sander HD[M'; break;
12929 case 'D:21': voice_name = 'Nora HD[F'; break;
12930 case 'E:21': voice_name = 'Emma HD[F'; break;
12931 case 'F:21': voice_name = 'Thea HD[F'; break;
12932 case 'G:21': voice_name = 'Oliver HD[M'; break;
12933 case 'H:21': voice_name = 'Ida HD[F'; break;
12934 case 'I:21': voice_name = 'Maja HD[F'; break;
12935 case 'J:21': voice_name = 'Jonas HD[M'; break;
12936 case 'K:21': voice_name = 'Lucas HD[M'; break;
12937
12938 /* 8 / 9 / 10 / 11 */
12939 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Alva[F'; break;
12940 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Noah[M'; break;
12941 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Emil[M'; break;
12942 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Oskar[M'; break;
12943 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Aksel[M'; break;
12944 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Ella[F'; break;
12945 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Frida[F'; break;
12946 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Sara[F'; break;
12947 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Isak[M'; break;
12948 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Leah[F'; break;
12949 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Henrik[M'; break;
12950 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Noraine[F'; break;
12951 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Mathias[M'; break;
12952 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Inga[F'; break;
12953 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Lars[M'; break;
12954 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Mina[F'; break;
12955 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Live[F'; break;
12956 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Oda[F'; break;
12957 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Eirik[M'; break;
12958 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Even[M'; break;
12959 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Tuva[F'; break;
12960 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Sindre[M'; break;
12961 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Tor[M'; break;
12962 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Knut[M'; break;
12963 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Per[M'; break;
12964 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Vilde[F'; break;
12965 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Stine[F'; break;
12966 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Hanne[F'; break;
12967 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Ragnhild[F'; break;
12968 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Bjørn[M'; break;
12969 }
12970 else if(lang_code == 'nn-NO')
12971 switch(voice_data) {
12972
12973 case 'A:10': case 'A:11': voice_name = 'Ingrid[F'; break;
12974 case 'B:10': case 'B:11': voice_name = 'Ole[M'; break;
12975 case 'C:10': case 'C:11': voice_name = 'Sigrid[F'; break;
12976 case 'D:10': case 'D:11': voice_name = 'Lars[M'; break;
12977 case 'E:10': case 'E:11': voice_name = 'Kari[F'; break;
12978
12979 case 'F:10': case 'F:11': voice_name = 'Nils[M'; break;
12980 case 'G:10': case 'G:11': voice_name = 'Anna[F'; break;
12981 case 'H:10': case 'H:11': voice_name = 'Erik[M'; break;
12982 case 'I:10': case 'I:11': voice_name = 'Marta[F'; break;
12983 case 'J:10': case 'J:11': voice_name = 'Jon[M'; break;
12984
12985 case 'K:10': case 'K:11': voice_name = 'Liv[F'; break;
12986 case 'L:10': case 'L:11': voice_name = 'Per[M'; break;
12987 case 'M:10': case 'M:11': voice_name = 'Ragnhild[F'; break;
12988 case 'N:10': case 'N:11': voice_name = 'Tor[M'; break;
12989 case 'O:10': case 'O:11': voice_name = 'Solveig[F'; break;
12990
12991 case 'P:10': case 'P:11': voice_name = 'Arne[M'; break;
12992 case 'Q:10': case 'Q:11': voice_name = 'Åse[F'; break;
12993 case 'R:10': case 'R:11': voice_name = 'Einar[M'; break;
12994 case 'S:10': case 'S:11': voice_name = 'Inga[F'; break;
12995 case 'T:10': case 'T:11': voice_name = 'Knut[M'; break;
12996
12997 case 'U:10': case 'U:11': voice_name = 'Hilde[F'; break;
12998 case 'V:10': case 'V:11': voice_name = 'Magnus[M'; break;
12999 case 'W:10': case 'W:11': voice_name = 'Sofie[F'; break;
13000 case 'X:10': case 'X:11': voice_name = 'Henrik[M'; break;
13001 case 'Y:10': case 'Y:11': voice_name = 'Ida[F'; break;
13002
13003 case 'Z:10': case 'Z:11': voice_name = 'Oskar[M'; break;
13004 case 'AA:10': case 'AA:11': voice_name = 'Emma[F'; break;
13005 case 'AB:10': case 'AB:11': voice_name = 'Noah[M'; break;
13006 case 'AC:10': case 'AC:11': voice_name = 'Ella[F'; break;
13007 case 'AD:10': case 'AD:11': voice_name = 'William[M'; break;
13008 }
13009 else if(lang_code == 'pl-PL')
13010 switch(voice_data) {
13011 case 'A:0': voice_name = 'Kacper[M'; break;
13012 case 'A:2': voice_name = 'Ewa[F'; break;
13013 case 'B:2': voice_name = 'Szymon[M'; break;
13014 case 'C:2': voice_name = 'Marek[M'; break;
13015 case 'E:2': voice_name = 'Beata[F'; break;
13016 case 'D:2': voice_name = 'Katarzyna[F'; break;
13017
13018 /* 20 */
13019 case 'A:20': voice_name = 'Zofia[F'; break;
13020 case 'B:20': voice_name = 'Mateusz[M'; break; /* FIX: was Szymon (collision with base) */
13021 case 'C:20': voice_name = 'Antoni[M'; break;
13022 case 'D:20': voice_name = 'Julia[F'; break;
13023 case 'E:20': voice_name = 'Aleksandra[F'; break;
13024 case 'F:20': voice_name = 'Natalia[F'; break;
13025 case 'G:20': voice_name = 'Wojciech[M'; break;
13026 case 'H:20': voice_name = 'Magdalena[F'; break; /* FIX: was duplicate Aleksandra */
13027 case 'I:20': voice_name = 'Karolina[F'; break;
13028
13029 /* 21 — HD */
13030 case 'A:21': voice_name = 'Zofia HD[F'; break;
13031 case 'B:21': voice_name = 'Mateusz HD[M'; break;
13032 case 'C:21': voice_name = 'Antoni HD[M'; break;
13033 case 'D:21': voice_name = 'Julia HD[F'; break;
13034 case 'E:21': voice_name = 'Aleksandra HD[F'; break;
13035 case 'F:21': voice_name = 'Natalia HD[F'; break;
13036 case 'G:21': voice_name = 'Wojciech HD[M'; break;
13037 case 'H:21': voice_name = 'Magdalena HD[F'; break;
13038 case 'I:21': voice_name = 'Karolina HD[F'; break;
13039 case 'J:21': voice_name = 'Piotr HD[M'; break;
13040 case 'K:21': voice_name = 'Michal HD[M'; break;
13041
13042 /* 8 / 9 / 10 / 11 */
13043 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Alicja[F'; break;
13044 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Jakub[M'; break;
13045 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Jan[M'; break;
13046 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Stanislaw[M'; break;
13047 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Tomasz[M'; break;
13048 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Maja[F'; break;
13049 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Zuzanna[F'; break;
13050 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Hanna[F'; break;
13051 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Pawel[M'; break;
13052 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Lena[F'; break;
13053 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Krzysztof[M'; break;
13054 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Oliwia[F'; break;
13055 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Adam[M'; break;
13056 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Amelia[F'; break;
13057 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Marcin[M'; break;
13058 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Emilia[F'; break;
13059 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Milena[F'; break;
13060 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Weronika[F'; break;
13061 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Lukasz[M'; break;
13062 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Dawid[M'; break;
13063 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Juliaa[F'; break;
13064 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Patryk[M'; break;
13065 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Grzegorz[M'; break;
13066 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Robert[M'; break;
13067 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Sebastian[M'; break;
13068 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Iga[F'; break;
13069 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Damian[M'; break;
13070 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Joanna[F'; break;
13071 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Agnieszka[F'; break;
13072 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Bartosz[M'; break;
13073 }
13074 else if(lang_code == 'pt-BR')
13075 switch(voice_data) {
13076 case 'A:0': voice_name = 'Camila[F'; break;
13077 case 'A:2': voice_name = 'Isabela[F'; break;
13078 case 'B:2': voice_name = 'Eduardo[M'; break;
13079 case 'C:2': voice_name = 'Priscila[F'; break;
13080
13081 /* 8 / 9 / 10 / 11 */
13082 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Aline[F'; break;
13083 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Joao[M'; break;
13084 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Mateus[M'; break;
13085 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Pedro[M'; break;
13086 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Thiago[M'; break;
13087 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Bianca[F'; break;
13088 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Carla[F'; break;
13089 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Renata[F'; break;
13090 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Carlos[M'; break;
13091 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Daniela[F'; break;
13092 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Marcos[M'; break;
13093 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Tatiana[F'; break;
13094 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Andre[M'; break;
13095 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Paula[F'; break;
13096 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Fernando[M'; break;
13097 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Julianae[F'; break;
13098 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Camile[F'; break;
13099 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Amandaa[F'; break;
13100 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Felipe[M'; break;
13101 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Rodrigo[M'; break;
13102 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Vanessa[F'; break;
13103 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Gustavo[M'; break;
13104 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Leonardo[M'; break;
13105 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Vinicius[M'; break;
13106 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Caio[M'; break;
13107 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Helena[F'; break;
13108 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Luana[F'; break;
13109 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Adriana[F'; break;
13110 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Silvia[F'; break;
13111 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Renato[M'; break;
13112 }
13113 else if(lang_code == 'pt-PT')
13114 switch(voice_data) {
13115 case 'A:0': voice_name = 'Catarina[F'; break;
13116 case 'A:2': voice_name = 'Leonor[F'; break;
13117 case 'B:2': voice_name = 'Diogo[M'; break;
13118 case 'C:2': voice_name = 'Afonso[M'; break;
13119 case 'D:2': voice_name = 'Maria[F'; break;
13120
13121 /* 20 */
13122 case 'A:20': voice_name = 'Beatriz[F'; break;
13123 case 'B:20': voice_name = 'Miguel[M'; break;
13124 case 'C:20': voice_name = 'Pedro[M'; break;
13125 case 'D:20': voice_name = 'Sofia[F'; break;
13126 case 'E:20': voice_name = 'Matilde[F'; break;
13127 case 'F:20': voice_name = 'Ines[F'; break; /* FIX: Maria запрещено — пересечение с base */
13128 case 'G:20': voice_name = 'Bruno[M'; break;
13129 case 'H:20': voice_name = 'Mariana[F'; break;
13130 case 'I:20': voice_name = 'Gabriela[F'; break;
13131
13132 /* 21 — HD */
13133 case 'A:21': voice_name = 'Beatriz HD[F'; break;
13134 case 'B:21': voice_name = 'Miguel HD[M'; break;
13135 case 'C:21': voice_name = 'Pedro HD[M'; break;
13136 case 'D:21': voice_name = 'Sofia HD[F'; break;
13137 case 'E:21': voice_name = 'Matilde HD[F'; break;
13138 case 'F:21': voice_name = 'Ines HD[F'; break;
13139 case 'G:21': voice_name = 'Bruno HD[M'; break;
13140 case 'H:21': voice_name = 'Mariana HD[F'; break;
13141 case 'I:21': voice_name = 'Gabriela HD[F'; break;
13142 case 'J:21': voice_name = 'Tiago HD[M'; break;
13143 case 'K:21': voice_name = 'Rui HD[M'; break;
13144
13145 /* 8 / 9 / 10 / 11 */
13146 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ana[F'; break;
13147 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Joao[M'; break;
13148 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Carlos[M'; break;
13149 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Luis[M'; break;
13150 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Ricardo[M'; break;
13151 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Inesf[F'; break;
13152 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Rita[F'; break;
13153 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Marta[F'; break;
13154 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Paulo[M'; break;
13155 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Sara[F'; break;
13156 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Andre[M'; break;
13157 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Patricia[F'; break;
13158 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Brunom[M'; break;
13159 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Carla[F'; break;
13160 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Filipe[M'; break;
13161 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Daniela[F'; break;
13162 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Helena[F'; break;
13163 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Teresa[F'; break;
13164 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Miguelx[M'; break;
13165 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Hugo[M'; break;
13166 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Bea[F'; break;
13167 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Rafaelx[M'; break;
13168 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Sergio[M'; break;
13169 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Nuno[M'; break;
13170 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Vitor[M'; break;
13171 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Eva[F'; break;
13172 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Claudia[F'; break;
13173 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Susana[F'; break;
13174 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Raquel[F'; break;
13175 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Duarte[M'; break;
13176 }
13177 else if(lang_code == 'ro-RO')
13178 switch(voice_data) {
13179 case 'A:0': voice_name = 'Cristina[F'; break;
13180 case 'A:2': voice_name = 'Simona[F'; break;
13181
13182 /* 20 */
13183 case 'A:20': voice_name = 'Maria[F'; break;
13184 case 'B:20': voice_name = 'Bogdan[M'; break;
13185 case 'C:20': voice_name = 'Radu[M'; break;
13186 case 'D:20': voice_name = 'Ioana[F'; break;
13187 case 'E:20': voice_name = 'Alina[F'; break;
13188 case 'F:20': voice_name = 'Roxana[F'; break;
13189 case 'G:20': voice_name = 'Andrei[M'; break;
13190 case 'H:20': voice_name = 'Elena[F'; break;
13191 case 'I:20': voice_name = 'Gabriela[F'; break;
13192
13193 /* 21 — HD */
13194 case 'A:21': voice_name = 'Maria HD[F'; break;
13195 case 'B:21': voice_name = 'Bogdan HD[M'; break;
13196 case 'C:21': voice_name = 'Radu HD[M'; break;
13197 case 'D:21': voice_name = 'Ioana HD[F'; break;
13198 case 'E:21': voice_name = 'Alina HD[F'; break;
13199 case 'F:21': voice_name = 'Roxana HD[F'; break;
13200 case 'G:21': voice_name = 'Andrei HD[M'; break;
13201 case 'H:21': voice_name = 'Elena HD[F'; break;
13202 case 'I:21': voice_name = 'Gabriela HD[F'; break;
13203 case 'J:21': voice_name = 'Mihai HD[M'; break;
13204 case 'K:21': voice_name = 'Daniel HD[M'; break;
13205
13206 /* 8 / 9 / 10 / 11 */
13207 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Ana[F'; break;
13208 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Ion[M'; break;
13209 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Paul[M'; break;
13210 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Stefan[M'; break;
13211 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Alex[M'; break;
13212 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Diana[F'; break;
13213 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Irina[F'; break;
13214 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Bianca[F'; break;
13215 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Victor[M'; break;
13216 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Mariaa[F'; break;
13217 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Dragos[M'; break;
13218 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Larisa[F'; break;
13219 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'George[M'; break;
13220 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Andra[F'; break;
13221 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Cristian[M'; break;
13222 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Elisaa[F'; break;
13223 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Paula[F'; break;
13224 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Raluca[F'; break;
13225 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Marius[M'; break;
13226 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Robert[M'; break;
13227 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Carmen[F'; break;
13228 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Florin[M'; break;
13229 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Adrian[M'; break;
13230 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Dorin[M'; break;
13231 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Cosmin[M'; break;
13232 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Alinaa[F'; break;
13233 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Daniela[F'; break;
13234 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Oana[F'; break;
13235 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Monica[F'; break;
13236 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Tudor[M'; break;
13237 }
13238 else if(lang_code == 'ru-RU')
13239 switch(voice_data) {
13240
13241 /* base */
13242 case 'A:0': voice_name = 'Elena[F'; break;
13243
13244 /* legacy */
13245 case 'E:2': voice_name = 'Anastasia[F'; break;
13246 case 'A:2': voice_name = 'Olga[F'; break;
13247 case 'B:2': voice_name = 'Sergey[M'; break;
13248 case 'C:2': voice_name = 'Svetlana[F'; break;
13249 case 'D:2': voice_name = 'Boris[M'; break;
13250
13251 /* 20 */
13252 case 'A:20': voice_name = 'Ekaterina[F'; break;
13253 case 'B:20': voice_name = 'Vladimir[M'; break;
13254 case 'C:20': voice_name = 'Ivan[M'; break;
13255 case 'D:20': voice_name = 'Natalia[F'; break;
13256 case 'E:20': voice_name = 'Maria[F'; break;
13257 case 'F:20': voice_name = 'Lera[F'; break;
13258 case 'G:20': voice_name = 'Roman[M'; break;
13259 case 'H:20': voice_name = 'Irina[F'; break;
13260 case 'I:20': voice_name = 'Vera[F'; break;
13261
13262 /* 21 — HD */
13263 case 'A:21': voice_name = 'Ekaterina HD[F'; break;
13264 case 'B:21': voice_name = 'Vladimir HD[M'; break;
13265 case 'C:21': voice_name = 'Ivan HD[M'; break;
13266 case 'D:21': voice_name = 'Natalia HD[F'; break;
13267 case 'E:21': voice_name = 'Maria HD[F'; break;
13268 case 'F:21': voice_name = 'Lera HD[F'; break;
13269 case 'G:21': voice_name = 'Roman HD[M'; break;
13270 case 'H:21': voice_name = 'Irina HD[F'; break;
13271 case 'I:21': voice_name = 'Vera HD[F'; break;
13272 case 'J:21': voice_name = 'Alexandr HD[M'; break;
13273 case 'K:21': voice_name = 'Maksim HD[M'; break;
13274
13275 /* 8 / 9 / 10 / 11 — unified */
13276 case 'A:8': case 'A:9': case 'A:10': case 'A:11': voice_name = 'Anna[F'; break;
13277 case 'B:8': case 'B:9': case 'B:10': case 'B:11': voice_name = 'Dmitry[M'; break;
13278 case 'C:8': case 'C:9': case 'C:10': case 'C:11': voice_name = 'Alexey[M'; break;
13279 case 'D:8': case 'D:9': case 'D:10': case 'D:11': voice_name = 'Mikhail[M'; break;
13280 case 'E:8': case 'E:9': case 'E:10': case 'E:11': voice_name = 'Artem[M'; break;
13281 case 'F:8': case 'F:9': case 'F:10': case 'F:11': voice_name = 'Polina[F'; break;
13282 case 'G:8': case 'G:9': case 'G:10': case 'G:11': voice_name = 'Daria[F'; break;
13283 case 'H:8': case 'H:9': case 'H:10': case 'H:11': voice_name = 'Galina[F'; break;
13284 case 'I:8': case 'I:9': case 'I:10': case 'I:11': voice_name = 'Nikita[M'; break;
13285 case 'J:8': case 'J:9': case 'J:10': case 'J:11': voice_name = 'Alisa[F'; break;
13286 case 'K:8': case 'K:9': case 'K:10': case 'K:11': voice_name = 'Kirill[M'; break;
13287 case 'L:8': case 'L:9': case 'L:10': case 'L:11': voice_name = 'Yulia[F'; break;
13288 case 'M:8': case 'M:9': case 'M:10': case 'M:11': voice_name = 'Maxim[M'; break;
13289 case 'N:8': case 'N:9': case 'N:10': case 'N:11': voice_name = 'Sofia[F'; break;
13290 case 'O:8': case 'O:9': case 'O:10': case 'O:11': voice_name = 'Denis[M'; break;
13291 case 'P:8': case 'P:9': case 'P:10': case 'P:11': voice_name = 'Elizaveta[F'; break;
13292 case 'Q:8': case 'Q:9': case 'Q:10': case 'Q:11': voice_name = 'Milana[F'; break;
13293 case 'R:8': case 'R:9': case 'R:10': case 'R:11': voice_name = 'Victoria[F'; break;
13294 case 'S:8': case 'S:9': case 'S:10': case 'S:11': voice_name = 'Andrey[M'; break;
13295 case 'T:8': case 'T:9': case 'T:10': case 'T:11': voice_name = 'Leonid[M'; break;
13296 case 'U:8': case 'U:9': case 'U:10': case 'U:11': voice_name = 'Arina[F'; break;
13297 case 'V:8': case 'V:9': case 'V:10': case 'V:11': voice_name = 'Oleg[M'; break;
13298 case 'W:8': case 'W:9': case 'W:10': case 'W:11': voice_name = 'Pavel[M'; break;
13299 case 'X:8': case 'X:9': case 'X:10': case 'X:11': voice_name = 'Timofey[M'; break;
13300 case 'Y:8': case 'Y:9': case 'Y:10': case 'Y:11': voice_name = 'Ilya[M'; break;
13301 case 'Z:8': case 'Z:9': case 'Z:10': case 'Z:11': voice_name = 'Ksenia[F'; break;
13302 case 'AA:8': case 'AA:9': case 'AA:10': case 'AA:11': voice_name = 'Yuri[M'; break;
13303 case 'AB:8': case 'AB:9': case 'AB:10': case 'AB:11': voice_name = 'Valeria[F'; break;
13304 case 'AC:8': case 'AC:9': case 'AC:10': case 'AC:11': voice_name = 'Zoya[F'; break;
13305 case 'AD:8': case 'AD:9': case 'AD:10': case 'AD:11': voice_name = 'Yaroslav[M'; break;
13306 }
13307 else if(lang_code == 'sr-RS')
13308 switch(voice_data) {
13309 case 'A:0': voice_name = 'Ivana[F'; break;
13310 case 'A:1': voice_name = 'Jelena[F'; break;
13311
13312 /* 20 */
13313 case 'A:20': voice_name = 'Milica[F'; break;
13314 case 'B:20': voice_name = 'Lazar[M'; break;
13315 case 'C:20': voice_name = 'Vuk[M'; break;
13316 case 'D:20': voice_name = 'Teodora[F'; break;
13317 case 'E:20': voice_name = 'Jovana[F'; break;
13318 case 'F:20': voice_name = 'Katarina[F'; break;
13319 case 'G:20': voice_name = 'Marko[M'; break;
13320 case 'H:20': voice_name = 'Ana[F'; break;
13321 case 'I:20': voice_name = 'Mina[F'; break;
13322
13323 /* 21 — HD */
13324 case 'A:21': voice_name = 'Milica HD[F'; break;
13325 case 'B:21': voice_name = 'Lazar HD[M'; break;
13326 case 'C:21': voice_name = 'Vuk HD[M'; break;
13327 case 'D:21': voice_name = 'Teodora HD[F'; break;
13328 case 'E:21': voice_name = 'Jovana HD[F'; break;
13329 case 'F:21': voice_name = 'Katarina HD[F'; break;
13330 case 'G:21': voice_name = 'Marko HD[M'; break;
13331 case 'H:21': voice_name = 'Ana HD[F'; break;
13332 case 'I:21': voice_name = 'Mina HD[F'; break;
13333 case 'J:21': voice_name = 'Nikola HD[M'; break;
13334 case 'K:21': voice_name = 'Stefan HD[M'; break;
13335
13336 /* 8 / 9 / 10 / 11 */
13337 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Jovana[F'; break;
13338 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Milan[M'; break;
13339 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Uros[M'; break;
13340 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Nemanja[M'; break;
13341 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Petar[M'; break;
13342 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Ana[F'; break;
13343 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Marija[F'; break;
13344 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Ivana[F'; break;
13345 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Marko[M'; break;
13346 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Milica[F'; break;
13347 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Stefan[M'; break;
13348 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Teodora[F'; break;
13349 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Luka[M'; break;
13350 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Jelena[F'; break;
13351 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Nikola[M'; break;
13352 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Katarina[F'; break;
13353 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Tamara[F'; break;
13354 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Sara[F'; break;
13355 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Milos[M'; break;
13356 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Bogdan[M'; break;
13357 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Nina[F'; break;
13358 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Dusan[M'; break;
13359 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Vladimir[M'; break;
13360 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Zoran[M'; break;
13361 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Dejan[M'; break;
13362 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Mina[F'; break;
13363 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Aleksandar[M'; break;
13364 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Jasmina[F'; break;
13365 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Sofija[F'; break;
13366 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Filip[M'; break;
13367 }
13368 else if(lang_code == 'si')
13369 switch(voice_data) {
13370 case 'A:0': voice_name = 'Geethika[F'; break;
13371
13372 /* 20 */
13373 case 'A:20': voice_name = 'Sanduni[F'; break;
13374 case 'B:20': voice_name = 'Kasun[M'; break;
13375 case 'C:20': voice_name = 'Ruwan[M'; break;
13376 case 'D:20': voice_name = 'Thilini[F'; break;
13377 case 'E:20': voice_name = 'Chamari[F'; break;
13378 case 'F:20': voice_name = 'Kanchana[F'; break;
13379 case 'G:20': voice_name = 'Nimal[M'; break;
13380 case 'H:20': voice_name = 'Anushka[F'; break;
13381 case 'I:20': voice_name = 'Dilani[F'; break;
13382
13383 /* 21 — HD */
13384 case 'A:21': voice_name = 'Sanduni HD[F'; break;
13385 case 'B:21': voice_name = 'Kasun HD[M'; break;
13386 case 'C:21': voice_name = 'Ruwan HD[M'; break;
13387 case 'D:21': voice_name = 'Thilini HD[F'; break;
13388 case 'E:21': voice_name = 'Chamari HD[F'; break;
13389 case 'F:21': voice_name = 'Kanchana HD[F'; break;
13390 case 'G:21': voice_name = 'Nimal HD[M'; break;
13391 case 'H:21': voice_name = 'Anushka HD[F'; break;
13392 case 'I:21': voice_name = 'Dilani HD[F'; break;
13393 case 'J:21': voice_name = 'Sanjeewa HD[M'; break;
13394 case 'K:21': voice_name = 'Pradeep HD[M'; break;
13395
13396 /* 8 / 9 / 10 / 11 */
13397 case 'A:10': case 'A:11': voice_name = 'Kumari[F'; break;
13398 case 'B:10': case 'B:11': voice_name = 'Ashan[M'; break;
13399 case 'C:10': case 'C:11': voice_name = 'Nuwan[M'; break;
13400 case 'D:10': case 'D:11': voice_name = 'Sahan[M'; break;
13401 case 'E:10': case 'E:11': voice_name = 'Ravindu[M'; break;
13402 case 'F:10': case 'F:11': voice_name = 'Hasini[F'; break;
13403 case 'G:10': case 'G:11': voice_name = 'Sachini[F'; break;
13404 case 'H:10': case 'H:11': voice_name = 'Dinithi[F'; break;
13405 case 'I:10': case 'I:11': voice_name = 'Isuru[M'; break;
13406 case 'J:10': case 'J:11': voice_name = 'Malini[F'; break;
13407 case 'K:10': case 'K:11': voice_name = 'Pramod[M'; break;
13408 case 'L:10': case 'L:11': voice_name = 'Tharushi[F'; break;
13409 case 'M:10': case 'M:11': voice_name = 'Chamara[M'; break;
13410 case 'N:10': case 'N:11': voice_name = 'Sewwandi[F'; break;
13411 case 'O:10': case 'O:11': voice_name = 'Dilan[M'; break;
13412 case 'P:10': case 'P:11': voice_name = 'Nadeesha[F'; break;
13413 case 'Q:10': case 'Q:11': voice_name = 'Harini[F'; break;
13414 case 'R:10': case 'R:11': voice_name = 'Ishara[F'; break;
13415 case 'S:10': case 'S:11': voice_name = 'Tharindu[M'; break;
13416 case 'T:10': case 'T:11': voice_name = 'Lahiru[M'; break;
13417 case 'U:10': case 'U:11': voice_name = 'Imesha[F'; break;
13418 case 'V:10': case 'V:11': voice_name = 'Sampath[M'; break;
13419 case 'W:10': case 'W:11': voice_name = 'Pasindu[M'; break;
13420 case 'X:10': case 'X:11': voice_name = 'Ruchira[M'; break;
13421 case 'Y:10': case 'Y:11': voice_name = 'Shehan[M'; break;
13422 case 'Z:10': case 'Z:11': voice_name = 'Sajini[F'; break;
13423 case 'AA:10': case 'AA:11': voice_name = 'Chamodi[M'; break;
13424 case 'AB:10': case 'AB:11': voice_name = 'Upeksha[F'; break;
13425 case 'AC:10': case 'AC:11': voice_name = 'Bhagya[F'; break;
13426 case 'AD:10': case 'AD:11': voice_name = 'Lakshan[M'; break;
13427 }
13428 else if(lang_code == 'sk-SK')
13429 switch(voice_data) {
13430 case 'A:0': voice_name = 'Barbora[F'; break;
13431 case 'A:2': voice_name = 'Michaela[F'; break;
13432
13433 /* 20 */
13434 case 'A:20': voice_name = 'Lucia[F'; break;
13435 case 'B:20': voice_name = 'Andrej[M'; break;
13436 case 'C:20': voice_name = 'Peter[M'; break;
13437 case 'D:20': voice_name = 'Anna[F'; break;
13438 case 'E:20': voice_name = 'Petra[F'; break;
13439 case 'F:20': voice_name = 'Jana[F'; break;
13440 case 'G:20': voice_name = 'Marek[M'; break;
13441 case 'H:20': voice_name = 'Zuzana[F'; break;
13442 case 'I:20': voice_name = 'Katarina[F'; break;
13443
13444 /* 21 — HD */
13445 case 'A:21': voice_name = 'Lucia HD[F'; break;
13446 case 'B:21': voice_name = 'Andrej HD[M'; break;
13447 case 'C:21': voice_name = 'Peter HD[M'; break;
13448 case 'D:21': voice_name = 'Anna HD[F'; break;
13449 case 'E:21': voice_name = 'Petra HD[F'; break;
13450 case 'F:21': voice_name = 'Jana HD[F'; break;
13451 case 'G:21': voice_name = 'Marek HD[M'; break;
13452 case 'H:21': voice_name = 'Zuzana HD[F'; break;
13453 case 'I:21': voice_name = 'Katarina HD[F'; break;
13454 case 'J:21': voice_name = 'Tomas HD[M'; break;
13455 case 'K:21': voice_name = 'Martin HD[M'; break;
13456
13457 /* 8 / 9 / 10 / 11 */
13458 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Zuzana[F'; break;
13459 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Milan[M'; break;
13460 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Juraj[M'; break;
13461 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Tomas[M'; break;
13462 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Peter[M'; break;
13463 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Lucia[F'; break;
13464 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Katarina[F'; break;
13465 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Michaela[F'; break;
13466 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Martin[M'; break;
13467 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Anna[F'; break;
13468 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Andrej[M'; break;
13469 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Jana[F'; break;
13470 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Marek[M'; break;
13471 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Barbora[F'; break;
13472 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Juraj[M'; break;
13473 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Petra[F'; break;
13474 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Monika[F'; break;
13475 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Veronika[F'; break;
13476 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Stefan[M'; break;
13477 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Michal[M'; break;
13478 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Eva[F'; break;
13479 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Filip[M'; break;
13480 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Robert[M'; break;
13481 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Daniel[M'; break;
13482 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Adam[M'; break;
13483 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Simona[F'; break;
13484 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Matej[M'; break;
13485 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Iveta[F'; break;
13486 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Daniela[F'; break;
13487 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Lukas[M'; break;
13488 }
13489 else if(lang_code == 'es-ES')
13490 switch(voice_data) {
13491 case 'A:0': voice_name = 'Carmen[F'; break;
13492 case 'C:2': voice_name = 'Laura[F'; break;
13493 case 'D:2': voice_name = 'Nuria[F'; break;
13494 case 'B:2': voice_name = 'Miguel[M'; break;
13495 case 'A:3': voice_name = 'Isabel[F'; break;
13496 case 'E:3': voice_name = 'Sara[F'; break;
13497 case 'F:3': voice_name = 'Francisco[M'; break;
13498 case '1:7': voice_name = 'Mateo[M'; break;
13499
13500 /* 20 */
13501 case 'A:20': voice_name = 'Sofia[F'; break;
13502 case 'B:20': voice_name = 'Juan[M'; break;
13503 case 'C:20': voice_name = 'Luis[M'; break;
13504 case 'D:20': voice_name = 'Maria[F'; break;
13505 case 'E:20': voice_name = 'Elena[F'; break; // FIX conflict with Laura (base)
13506 case 'F:20': voice_name = 'Ana[F'; break;
13507 case 'G:20': voice_name = 'Diego[M'; break;
13508 case 'H:20': voice_name = 'Paula[F'; break;
13509 case 'I:20': voice_name = 'Andrea[F'; break;
13510
13511 /* 21 — HD */
13512 case 'A:21': voice_name = 'Sofia HD[F'; break;
13513 case 'B:21': voice_name = 'Juan HD[M'; break;
13514 case 'C:21': voice_name = 'Luis HD[M'; break;
13515 case 'D:21': voice_name = 'Maria HD[F'; break;
13516 case 'E:21': voice_name = 'Elena HD[F'; break;
13517 case 'F:21': voice_name = 'Ana HD[F'; break;
13518 case 'G:21': voice_name = 'Diego HD[M'; break;
13519 case 'H:21': voice_name = 'Paula HD[F'; break;
13520 case 'I:21': voice_name = 'Andrea HD[F'; break;
13521 case 'J:21': voice_name = 'Carlos HD[M'; break;
13522 case 'K:21': voice_name = 'Javier HD[M'; break;
13523
13524 /* 8 / 9 / 10 / 11 */
13525 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Lucia[F'; break;
13526 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Carlos[M'; break;
13527 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Pablo[M'; break;
13528 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Jorge[M'; break;
13529 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Alvaro[M'; break;
13530 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Marta[F'; break;
13531 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Elena[F'; break;
13532 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Celia[F'; break;
13533 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Raul[M'; break;
13534 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Claudia[F'; break;
13535 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Sergio[M'; break;
13536 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Noelia[F'; break;
13537 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Adrian[M'; break;
13538 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Irene[F'; break;
13539 case 'O:8': case 'O:10': case 'O:11': voice_name = 'David[M'; break;
13540 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Patricia[F'; break;
13541 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Silvia[F'; break;
13542 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Beatriz[F'; break;
13543 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Manuel[M'; break;
13544 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Hector[M'; break;
13545 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Rocio[F'; break;
13546 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Fernando[M'; break;
13547 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Ricardo[M'; break;
13548 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Oscar[M'; break;
13549 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Guillermo[M'; break;
13550 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Natalia[F'; break;
13551 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Diego[M'; break;
13552 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Alicia[F'; break;
13553 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Daniela[F'; break;
13554 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Tomas[M'; break;
13555 }
13556 else if(lang_code == 'es-US')
13557 switch(voice_data) {
13558 case 'A:0': voice_name = 'Rosa[F'; break;
13559 case 'A:2': voice_name = 'Maria[F'; break;
13560 case 'B:2': voice_name = 'Luis[M'; break;
13561 case 'C:2': voice_name = 'Javier[M'; break;
13562 case 'G:5': voice_name = 'Ana[F'; break;
13563 case 'F:5': voice_name = 'Isabel[F'; break;
13564 case 'E:5': voice_name = 'David[M'; break;
13565 case 'D:5': voice_name = 'Carlos[M'; break;
13566
13567 /* 20 */
13568 case 'A:20': voice_name = 'Marta[F'; break;
13569 case 'B:20': voice_name = 'Manuel[M'; break;
13570 case 'C:20': voice_name = 'Francisco[M'; break;
13571 case 'D:20': voice_name = 'Alicia[F'; break;
13572 case 'E:20': voice_name = 'Paula[F'; break;
13573 case 'F:20': voice_name = 'Gabriela[F'; break;
13574 case 'G:20': voice_name = 'Diego[M'; break; // FIX conflict with base Javier
13575 case 'H:20': voice_name = 'Lucia[F'; break; // FIX conflict with base Isabel
13576 case 'I:20': voice_name = 'Alba[F'; break;
13577
13578 /* 21 — HD */
13579 case 'A:21': voice_name = 'Marta HD[F'; break;
13580 case 'B:21': voice_name = 'Manuel HD[M'; break;
13581 case 'C:21': voice_name = 'Francisco HD[M'; break;
13582 case 'D:21': voice_name = 'Alicia HD[F'; break;
13583 case 'E:21': voice_name = 'Paula HD[F'; break;
13584 case 'F:21': voice_name = 'Gabriela HD[F'; break;
13585 case 'G:21': voice_name = 'Diego HD[M'; break;
13586 case 'H:21': voice_name = 'Lucia HD[F'; break;
13587 case 'I:21': voice_name = 'Alba HD[F'; break;
13588 case 'J:21': voice_name = 'Roberto HD[M'; break;
13589 case 'K:21': voice_name = 'Fernando HD[M'; break;
13590
13591 /* 8 / 9 / 10 / 11 */
13592 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Sofia[F'; break;
13593 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Carlos[M'; break;
13594 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Miguel[M'; break;
13595 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Jorge[M'; break;
13596 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Ricardo[M'; break;
13597 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Daniela[F'; break;
13598 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Camila[F'; break;
13599 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Valeria[F'; break;
13600 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Diego[M'; break;
13601 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Elena[F'; break;
13602 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Andres[M'; break;
13603 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Patricia[F'; break;
13604 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Eduardo[M'; break;
13605 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Natalia[F'; break;
13606 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Roberto[M'; break;
13607 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Gabriela[F'; break;
13608 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Paola[F'; break;
13609 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Monica[F'; break;
13610 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Hector[M'; break;
13611 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Rafael[M'; break;
13612 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Laura[F'; break;
13613 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Fernando[M'; break;
13614 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Oscar[M'; break;
13615 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Victor[M'; break;
13616 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Guillermo[M'; break;
13617 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Ariana[F'; break;
13618 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Santiago[M'; break;
13619 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Claudia[F'; break;
13620 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Daniela[F'; break;
13621 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Tomas[M'; break;
13622 }
13623 else if(lang_code == 'es-MX')
13624 switch(voice_data) {
13625
13626 /* base */
13627 case 'A:0': voice_name = 'Sofia[F'; break;
13628
13629 /* 10 / 11 */
13630 case 'A:10': case 'A:11': voice_name = 'Valeria[F'; break;
13631 case 'B:10': case 'B:11': voice_name = 'Santiago[M'; break;
13632 case 'C:10': case 'C:11': voice_name = 'Mateo[M'; break;
13633 case 'D:10': case 'D:11': voice_name = 'Sebastian[M'; break;
13634 case 'E:10': case 'E:11': voice_name = 'Diego[M'; break;
13635
13636 case 'F:10': case 'F:11': voice_name = 'Camila[F'; break;
13637 case 'G:10': case 'G:11': voice_name = 'Ximena[F'; break;
13638 case 'H:10': case 'H:11': voice_name = 'Fernanda[F'; break;
13639 case 'I:10': case 'I:11': voice_name = 'Leonardo[M'; break;
13640 case 'J:10': case 'J:11': voice_name = 'Maria[F'; break;
13641
13642 case 'K:10': case 'K:11': voice_name = 'Daniel[M'; break;
13643 case 'L:10': case 'L:11': voice_name = 'Daniela[F'; break;
13644 case 'M:10': case 'M:11': voice_name = 'Emiliano[M'; break;
13645 case 'N:10': case 'N:11': voice_name = 'Andrea[F'; break;
13646 case 'O:10': case 'O:11': voice_name = 'Miguel[M'; break;
13647
13648 case 'P:10': case 'P:11': voice_name = 'Lucia[F'; break;
13649 case 'Q:10': case 'Q:11': voice_name = 'Renata[F'; break;
13650 case 'R:10': case 'R:11': voice_name = 'Elena[F'; break;
13651 case 'S:10': case 'S:11': voice_name = 'Carlos[M'; break;
13652 case 'T:10': case 'T:11': voice_name = 'Luis[M'; break;
13653
13654 case 'U:10': case 'U:11': voice_name = 'Paula[F'; break;
13655 case 'V:10': case 'V:11': voice_name = 'Javier[M'; break;
13656 case 'W:10': case 'W:11': voice_name = 'Alejandro[M'; break;
13657 case 'X:10': case 'X:11': voice_name = 'Ricardo[M'; break;
13658 case 'Y:10': case 'Y:11': voice_name = 'Angel[M'; break;
13659
13660 case 'Z:10': case 'Z:11': voice_name = 'Gabriela[F'; break;
13661 case 'AA:10': case 'AA:11': voice_name = 'Hector[M'; break;
13662 case 'AB:10': case 'AB:11': voice_name = 'Adriana[F'; break;
13663 case 'AC:10': case 'AC:11': voice_name = 'Patricia[F'; break;
13664 case 'AD:10': case 'AD:11': voice_name = 'Oscar[M'; break;
13665 }
13666 else if(lang_code == 'es')
13667 switch(voice_data) {
13668 case 'A:0': voice_name = 'Camila[F'; break;
13669
13670 /* 8 / 9 / 10 / 11 */
13671 case 'A:10': case 'A:11': voice_name = 'Renata[F'; break;
13672 case 'B:10': case 'B:11': voice_name = 'Carlos[M'; break;
13673 case 'C:10': case 'C:11': voice_name = 'Juan[M'; break;
13674 case 'D:10': case 'D:11': voice_name = 'Pedro[M'; break;
13675 case 'E:10': case 'E:11': voice_name = 'Andres[M'; break;
13676 case 'F:10': case 'F:11': voice_name = 'Paola[F'; break;
13677 case 'G:10': case 'G:11': voice_name = 'Fernanda[F'; break;
13678 case 'H:10': case 'H:11': voice_name = 'Daniela[F'; break;
13679 case 'I:10': case 'I:11': voice_name = 'Luis[M'; break;
13680 case 'J:10': case 'J:11': voice_name = 'Carolina[F'; break;
13681 case 'K:10': case 'K:11': voice_name = 'Jorge[M'; break;
13682 case 'L:10': case 'L:11': voice_name = 'Patricia[F'; break;
13683 case 'M:10': case 'M:11': voice_name = 'Miguel[M'; break;
13684 case 'N:10': case 'N:11': voice_name = 'Ana[F'; break;
13685 case 'O:10': case 'O:11': voice_name = 'Ricardo[M'; break;
13686 case 'P:10': case 'P:11': voice_name = 'Gabriela[F'; break;
13687 case 'Q:10': case 'Q:11': voice_name = 'Monica[F'; break;
13688 case 'R:10': case 'R:11': voice_name = 'Liliana[F'; break;
13689 case 'S:10': case 'S:11': voice_name = 'Hector[M'; break;
13690 case 'T:10': case 'T:11': voice_name = 'Rafael[M'; break;
13691 case 'U:10': case 'U:11': voice_name = 'Elena[F'; break;
13692 case 'V:10': case 'V:11': voice_name = 'Fernando[M'; break;
13693 case 'W:10': case 'W:11': voice_name = 'Oscar[M'; break;
13694 case 'X:10': case 'X:11': voice_name = 'Victor[M'; break;
13695 case 'Y:10': case 'Y:11': voice_name = 'Manuel[M'; break;
13696 case 'Z:10': case 'Z:11': voice_name = 'Rocio[F'; break;
13697 case 'AA:10': case 'AA:11': voice_name = 'Tomas[M'; break;
13698 case 'AB:10': case 'AB:11': voice_name = 'Alicia[F'; break;
13699 case 'AC:10': case 'AC:11': voice_name = 'Silvia[F'; break;
13700 case 'AD:10': case 'AD:11': voice_name = 'Emilio[M'; break;
13701 }
13702 else if(lang_code == 'su')
13703 switch(voice_data) {
13704 case 'A:0': voice_name = 'Dewi[F'; break;
13705
13706 /* 20 */
13707 case 'A:20': voice_name = 'Teti[F'; break;
13708 case 'B:20': voice_name = 'Iwan[M'; break;
13709 case 'C:20': voice_name = 'Edi[M'; break;
13710 case 'D:20': voice_name = 'Rina[F'; break;
13711 case 'E:20': voice_name = 'Yani[F'; break;
13712 case 'F:20': voice_name = 'Wulan[F'; break;
13713 case 'G:20': voice_name = 'Agus[M'; break;
13714 case 'H:20': voice_name = 'Sari[F'; break;
13715 case 'I:20': voice_name = 'Lina[F'; break;
13716
13717 /* 21 — HD */
13718 case 'A:21': voice_name = 'Teti HD[F'; break;
13719 case 'B:21': voice_name = 'Iwan HD[M'; break;
13720 case 'C:21': voice_name = 'Edi HD[M'; break;
13721 case 'D:21': voice_name = 'Rina HD[F'; break;
13722 case 'E:21': voice_name = 'Yani HD[F'; break;
13723 case 'F:21': voice_name = 'Wulan HD[F'; break;
13724 case 'G:21': voice_name = 'Agus HD[M'; break;
13725 case 'H:21': voice_name = 'Sari HD[F'; break;
13726 case 'I:21': voice_name = 'Lina HD[F'; break;
13727 case 'J:21': voice_name = 'Budi HD[M'; break;
13728 case 'K:21': voice_name = 'Rizal HD[M'; break;
13729 }
13730 else if(lang_code == 'sw')
13731 switch(voice_data) {
13732 case 'A:0': voice_name = 'Ali[M'; break;
13733
13734 /* 20 */
13735 case 'A:20': voice_name = 'Amani[F'; break;
13736 case 'B:20': voice_name = 'Hamisi[M'; break;
13737 case 'C:20': voice_name = 'Faraji[M'; break;
13738 case 'D:20': voice_name = 'Zuri[F'; break;
13739 case 'E:20': voice_name = 'Siti[F'; break;
13740 case 'F:20': voice_name = 'Pendo[F'; break;
13741 case 'G:20': voice_name = 'Juma[M'; break;
13742 case 'H:20': voice_name = 'Neema[F'; break;
13743 case 'I:20': voice_name = 'Rehema[F'; break;
13744
13745 /* 21 — HD */
13746 case 'A:21': voice_name = 'Amani HD[F'; break;
13747 case 'B:21': voice_name = 'Hamisi HD[M'; break;
13748 case 'C:21': voice_name = 'Faraji HD[M'; break;
13749 case 'D:21': voice_name = 'Zuri HD[F'; break;
13750 case 'E:21': voice_name = 'Siti HD[F'; break;
13751 case 'F:21': voice_name = 'Pendo HD[F'; break;
13752 case 'G:21': voice_name = 'Juma HD[M'; break;
13753 case 'H:21': voice_name = 'Neema HD[F'; break;
13754 case 'I:21': voice_name = 'Rehema HD[F'; break;
13755 case 'J:21': voice_name = 'Hassan HD[M'; break;
13756 case 'K:21': voice_name = 'Bakari HD[M'; break;
13757
13758 /* 8 / 9 / 10 / 11 */
13759 case 'A:10': case 'A:11': voice_name = 'Zawadi[F'; break;
13760 case 'B:10': case 'B:11': voice_name = 'Musa[M'; break;
13761 case 'C:10': case 'C:11': voice_name = 'Salim[M'; break;
13762 case 'D:10': case 'D:11': voice_name = 'Kassim[M'; break;
13763 case 'E:10': case 'E:11': voice_name = 'Omari[M'; break;
13764 case 'F:10': case 'F:11': voice_name = 'Asha[F'; break;
13765 case 'G:10': case 'G:11': voice_name = 'Nuru[F'; break;
13766 case 'H:10': case 'H:11': voice_name = 'Halima[F'; break;
13767 case 'I:10': case 'I:11': voice_name = 'Abdallah[M'; break;
13768 case 'J:10': case 'J:11': voice_name = 'Jamila[F'; break;
13769 case 'K:10': case 'K:11': voice_name = 'Yusuf[M'; break;
13770 case 'L:10': case 'L:11': voice_name = 'Saida[F'; break;
13771 case 'M:10': case 'M:11': voice_name = 'Baraka[M'; break;
13772 case 'N:10': case 'N:11': voice_name = 'Upendo[F'; break;
13773 case 'O:10': case 'O:11': voice_name = 'Rajabu[M'; break;
13774 case 'P:10': case 'P:11': voice_name = 'Subira[F'; break;
13775 case 'Q:10': case 'Q:11': voice_name = 'Tumaini[F'; break;
13776 case 'R:10': case 'R:11': voice_name = 'Amina[F'; break;
13777 case 'S:10': case 'S:11': voice_name = 'Jabari[M'; break;
13778 case 'T:10': case 'T:11': voice_name = 'Mwinyi[M'; break;
13779 case 'U:10': case 'U:11': voice_name = 'Malkia[F'; break;
13780 case 'V:10': case 'V:11': voice_name = 'Selemani[M'; break;
13781 case 'W:10': case 'W:11': voice_name = 'Bakari[M'; break;
13782 case 'X:10': case 'X:11': voice_name = 'Hamza[M'; break;
13783 case 'Y:10': case 'Y:11': voice_name = 'Idris[M'; break;
13784 case 'Z:10': case 'Z:11': voice_name = 'Zuhura[F'; break;
13785 case 'AA:10': case 'AA:11': voice_name = 'Khalid[M'; break;
13786 case 'AB:10': case 'AB:11': voice_name = 'Latifa[F'; break;
13787 case 'AC:10': case 'AC:11': voice_name = 'Nasra[F'; break;
13788 case 'AD:10': case 'AD:11': voice_name = 'Salma[M'; break;
13789 }
13790 else if(lang_code == 'sd')
13791 switch(voice_data) {
13792
13793 /* 8 / 9 / 10 / 11 */
13794 case 'A:10': case 'A:11': voice_name = 'Aisha[F'; break;
13795 case 'B:10': case 'B:11': voice_name = 'Ali[M'; break;
13796 case 'C:10': case 'C:11': voice_name = 'Ahmed[M'; break;
13797 case 'D:10': case 'D:11': voice_name = 'Bilal[M'; break;
13798 case 'E:10': case 'E:11': voice_name = 'Hassan[M'; break;
13799 case 'F:10': case 'F:11': voice_name = 'Sana[F'; break;
13800 case 'G:10': case 'G:11': voice_name = 'Zara[F'; break;
13801 case 'H:10': case 'H:11': voice_name = 'Fatima[F'; break;
13802 case 'I:10': case 'I:11': voice_name = 'Imran[M'; break;
13803 case 'J:10': case 'J:11': voice_name = 'Noor[F'; break;
13804 case 'K:10': case 'K:11': voice_name = 'Usman[M'; break;
13805 case 'L:10': case 'L:11': voice_name = 'Khadija[F'; break;
13806 case 'M:10': case 'M:11': voice_name = 'Omar[M'; break;
13807 case 'N:10': case 'N:11': voice_name = 'Hina[F'; break;
13808 case 'O:10': case 'O:11': voice_name = 'Rashid[M'; break;
13809 case 'P:10': case 'P:11': voice_name = 'Nadia[F'; break;
13810 case 'Q:10': case 'Q:11': voice_name = 'Samina[F'; break;
13811 case 'R:10': case 'R:11': voice_name = 'Farah[F'; break;
13812 case 'S:10': case 'S:11': voice_name = 'Tariq[M'; break;
13813 case 'T:10': case 'T:11': voice_name = 'Javed[M'; break;
13814 case 'U:10': case 'U:11': voice_name = 'Shazia[F'; break;
13815 case 'V:10': case 'V:11': voice_name = 'Kamran[M'; break;
13816 case 'W:10': case 'W:11': voice_name = 'Adnan[M'; break;
13817 case 'X:10': case 'X:11': voice_name = 'Salman[M'; break;
13818 case 'Y:10': case 'Y:11': voice_name = 'Waqar[M'; break;
13819 case 'Z:10': case 'Z:11': voice_name = 'Mehwish[F'; break;
13820 case 'AA:10': case 'AA:11': voice_name = 'Irfan[M'; break;
13821 case 'AB:10': case 'AB:11': voice_name = 'Bushra[F'; break;
13822 case 'AC:10': case 'AC:11': voice_name = 'Nimra[F'; break;
13823 case 'AD:10': case 'AD:11': voice_name = 'Danish[M'; break;
13824 }
13825 else if(lang_code == 'sv-SE')
13826 switch(voice_data) {
13827 case 'A:0': voice_name = 'Emma[F'; break;
13828 case 'A:2': voice_name = 'Elin[F'; break;
13829 case 'B:2': voice_name = 'Ingrid[F'; break;
13830 case 'C:2': voice_name = 'Gustav[M'; break;
13831 case 'D:2': voice_name = 'Katarina[F'; break;
13832 case 'E:2': voice_name = 'Oskar[M'; break;
13833
13834 /* 20 */
13835 case 'A:20': voice_name = 'Sofia[F'; break;
13836 case 'B:20': voice_name = 'Lars[M'; break;
13837 case 'C:20': voice_name = 'Johan[M'; break;
13838 case 'D:20': voice_name = 'Anna[F'; break;
13839 case 'E:20': voice_name = 'Maria[F'; break;
13840 case 'F:20': voice_name = 'Eva[F'; break;
13841 case 'G:20': voice_name = 'Erik[M'; break;
13842 case 'H:20': voice_name = 'Linnea[F'; break;
13843 case 'I:20': voice_name = 'Karin[F'; break;
13844
13845 /* 21 — HD */
13846 case 'A:21': voice_name = 'Sofia HD[F'; break;
13847 case 'B:21': voice_name = 'Lars HD[M'; break;
13848 case 'C:21': voice_name = 'Johan HD[M'; break;
13849 case 'D:21': voice_name = 'Anna HD[F'; break;
13850 case 'E:21': voice_name = 'Maria HD[F'; break;
13851 case 'F:21': voice_name = 'Eva HD[F'; break;
13852 case 'G:21': voice_name = 'Erik HD[M'; break;
13853 case 'H:21': voice_name = 'Linnea HD[F'; break;
13854 case 'I:21': voice_name = 'Karin HD[F'; break;
13855 case 'J:21': voice_name = 'Anders HD[M'; break;
13856 case 'K:21': voice_name = 'Mikael HD[M'; break;
13857
13858 /* 8 / 9 / 10 / 11 */
13859 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Maja[F'; break;
13860 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Karl[M'; break;
13861 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Nils[M'; break;
13862 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Per[M'; break;
13863 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Olof[M'; break;
13864 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Sara[F'; break;
13865 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Elsa[F'; break;
13866 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Ida[F'; break;
13867 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Axel[M'; break;
13868 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Alva[F'; break;
13869 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Lucas[M'; break;
13870 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Julia[F'; break;
13871 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Viktor[M'; break;
13872 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Emilia[F'; break;
13873 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Anton[M'; break;
13874 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Hanna[F'; break;
13875 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Lina[F'; break;
13876 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Frida[F'; break;
13877 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Emil[M'; break;
13878 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Noah[M'; break;
13879 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Klara[F'; break;
13880 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Leo[M'; break;
13881 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Arvid[M'; break;
13882 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Hugo[M'; break;
13883 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'William[M'; break;
13884 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Nora[F'; break;
13885 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Felix[M'; break;
13886 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Elvira[F'; break;
13887 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Matilda[F'; break;
13888 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Isak[M'; break;
13889 }
13890 else if(lang_code == 'ta-IN')
13891 switch(voice_data) {
13892 case 'A:0': voice_name = 'Deepika[F'; break;
13893 case 'A:2': voice_name = 'Kavya[F'; break;
13894 case 'B:2': voice_name = 'Arjun[M'; break;
13895 case 'C:2': voice_name = 'Nandhini[F'; break;
13896 case 'D:2': voice_name = 'Vijay[M'; break;
13897
13898 /* 20 */
13899 case 'A:20': voice_name = 'Meena[F'; break;
13900 case 'B:20': voice_name = 'Karthik[M'; break;
13901 case 'C:20': voice_name = 'Ravi[M'; break;
13902 case 'D:20': voice_name = 'Lakshmi[F'; break;
13903 case 'E:20': voice_name = 'Anitha[F'; break;
13904 case 'F:20': voice_name = 'Priya[F'; break;
13905 case 'G:20': voice_name = 'Suresh[M'; break;
13906 case 'H:20': voice_name = 'Divya[F'; break;
13907 case 'I:20': voice_name = 'Keerthana[F'; break;
13908
13909 /* 21 — HD */
13910 case 'A:21': voice_name = 'Meena HD[F'; break;
13911 case 'B:21': voice_name = 'Karthik HD[M'; break;
13912 case 'C:21': voice_name = 'Ravi HD[M'; break;
13913 case 'D:21': voice_name = 'Lakshmi HD[F'; break;
13914 case 'E:21': voice_name = 'Anitha HD[F'; break;
13915 case 'F:21': voice_name = 'Priya HD[F'; break;
13916 case 'G:21': voice_name = 'Suresh HD[M'; break;
13917 case 'H:21': voice_name = 'Divya HD[F'; break;
13918 case 'I:21': voice_name = 'Keerthana HD[F'; break;
13919 case 'J:21': voice_name = 'Manoj HD[M'; break;
13920 case 'K:21': voice_name = 'Prakash HD[M'; break;
13921
13922 /* 8 / 9 / 10 / 11 */
13923 case 'A:10': case 'A:11': voice_name = 'Aishwarya[F'; break;
13924 case 'B:10': case 'B:11': voice_name = 'Aravind[M'; break;
13925 case 'C:10': case 'C:11': voice_name = 'Bala[M'; break;
13926 case 'D:10': case 'D:11': voice_name = 'Dinesh[M'; break;
13927 case 'E:10': case 'E:11': voice_name = 'Ganesh[M'; break;
13928 case 'F:10': case 'F:11': voice_name = 'Harini[F'; break;
13929 case 'G:10': case 'G:11': voice_name = 'Janani[F'; break;
13930 case 'H:10': case 'H:11': voice_name = 'Karthika[F'; break;
13931 case 'I:10': case 'I:11': voice_name = 'Kumar[M'; break;
13932 case 'J:10': case 'J:11': voice_name = 'Lavanya[F'; break;
13933 case 'K:10': case 'K:11': voice_name = 'Madhan[M'; break;
13934 case 'L:10': case 'L:11': voice_name = 'Nivetha[F'; break;
13935 case 'M:10': case 'M:11': voice_name = 'Praveen[M'; break;
13936 case 'N:10': case 'N:11': voice_name = 'Revathi[F'; break;
13937 case 'O:10': case 'O:11': voice_name = 'Saravanan[M'; break;
13938 case 'P:10': case 'P:11': voice_name = 'Shalini[F'; break;
13939 case 'Q:10': case 'Q:11': voice_name = 'Sowmya[F'; break;
13940 case 'R:10': case 'R:11': voice_name = 'Uma[F'; break;
13941 case 'S:10': case 'S:11': voice_name = 'Vignesh[M'; break;
13942 case 'T:10': case 'T:11': voice_name = 'Yogesh[M'; break;
13943 case 'U:10': case 'U:11': voice_name = 'Anu[F'; break;
13944 case 'V:10': case 'V:11': voice_name = 'Deepak[M'; break;
13945 case 'W:10': case 'W:11': voice_name = 'Kiran[M'; break;
13946 case 'X:10': case 'X:11': voice_name = 'Mani[M'; break;
13947 case 'Y:10': case 'Y:11': voice_name = 'Ramesh[M'; break;
13948 case 'Z:10': case 'Z:11': voice_name = 'Vidya[F'; break;
13949 case 'AA:10': case 'AA:11': voice_name = 'Sathish[M'; break;
13950 case 'AB:10': case 'AB:11': voice_name = 'Bhavani[F'; break;
13951 case 'AC:10': case 'AC:11': voice_name = 'Devi[F'; break;
13952 case 'AD:10': case 'AD:11': voice_name = 'Prakash[M'; break;
13953 }
13954 else if(lang_code == 'te-IN')
13955 switch(voice_data) {
13956 case 'A:0': voice_name = 'Anusha[F'; break;
13957 case 'A:1': voice_name = 'Lakshmi[F'; break;
13958 case 'B:1': voice_name = 'Venkat[M'; break;
13959
13960 /* 20 */
13961 case 'A:20': voice_name = 'Sravani[F'; break;
13962 case 'B:20': voice_name = 'Ramesh[M'; break;
13963 case 'C:20': voice_name = 'Kiran[M'; break;
13964 case 'D:20': voice_name = 'Padma[F'; break;
13965 case 'E:20': voice_name = 'Divya[F'; break;
13966 case 'F:20': voice_name = 'Keerthi[F'; break;
13967 case 'G:20': voice_name = 'Suresh[M'; break;
13968 case 'H:20': voice_name = 'Madhavi[F'; break;
13969 case 'I:20': voice_name = 'Bhavani[F'; break;
13970
13971 /* 21 — HD */
13972 case 'A:21': voice_name = 'Sravani HD[F'; break;
13973 case 'B:21': voice_name = 'Ramesh HD[M'; break;
13974 case 'C:21': voice_name = 'Kiran HD[M'; break;
13975 case 'D:21': voice_name = 'Padma HD[F'; break;
13976 case 'E:21': voice_name = 'Divya HD[F'; break;
13977 case 'F:21': voice_name = 'Keerthi HD[F'; break;
13978 case 'G:21': voice_name = 'Suresh HD[M'; break;
13979 case 'H:21': voice_name = 'Madhavi HD[F'; break;
13980 case 'I:21': voice_name = 'Bhavani HD[F'; break;
13981 case 'J:21': voice_name = 'Prasad HD[M'; break;
13982 case 'K:21': voice_name = 'Venkatesh HD[M'; break;
13983
13984 /* 8 / 9 / 10 / 11 */
13985 case 'A:10': case 'A:11': voice_name = 'Aparna[F'; break;
13986 case 'B:10': case 'B:11': voice_name = 'Arun[M'; break;
13987 case 'C:10': case 'C:11': voice_name = 'Chandra[M'; break;
13988 case 'D:10': case 'D:11': voice_name = 'Dinesh[M'; break;
13989 case 'E:10': case 'E:11': voice_name = 'Ganesh[M'; break;
13990 case 'F:10': case 'F:11': voice_name = 'Harika[F'; break;
13991 case 'G:10': case 'G:11': voice_name = 'Indira[F'; break;
13992 case 'H:10': case 'H:11': voice_name = 'Jyothi[F'; break;
13993 case 'I:10': case 'I:11': voice_name = 'Karthik[M'; break;
13994 case 'J:10': case 'J:11': voice_name = 'Lavanya[F'; break;
13995 case 'K:10': case 'K:11': voice_name = 'Mahesh[M'; break;
13996 case 'L:10': case 'L:11': voice_name = 'Nirmala[F'; break;
13997 case 'M:10': case 'M:11': voice_name = 'Praveen[M'; break;
13998 case 'N:10': case 'N:11': voice_name = 'Radhika[F'; break;
13999 case 'O:10': case 'O:11': voice_name = 'Ravi[M'; break;
14000 case 'P:10': case 'P:11': voice_name = 'Sarika[F'; break;
14001 case 'Q:10': case 'Q:11': voice_name = 'Sowjanya[F'; break;
14002 case 'R:10': case 'R:11': voice_name = 'Suma[F'; break;
14003 case 'S:10': case 'S:11': voice_name = 'Teja[M'; break;
14004 case 'T:10': case 'T:11': voice_name = 'Uday[M'; break;
14005 case 'U:10': case 'U:11': voice_name = 'Uma[F'; break;
14006 case 'V:10': case 'V:11': voice_name = 'Vijay[M'; break;
14007 case 'W:10': case 'W:11': voice_name = 'Vinay[M'; break;
14008 case 'X:10': case 'X:11': voice_name = 'Yogesh[M'; break;
14009 case 'Y:10': case 'Y:11': voice_name = 'Rajesh[M'; break;
14010 case 'Z:10': case 'Z:11': voice_name = 'Shilpa[F'; break;
14011 case 'AA:10': case 'AA:11': voice_name = 'Satish[M'; break;
14012 case 'AB:10': case 'AB:11': voice_name = 'Bhavana[F'; break;
14013 case 'AC:10': case 'AC:11': voice_name = 'Deepa[F'; break;
14014 case 'AD:10': case 'AD:11': voice_name = 'Prakash[M'; break;
14015 }
14016 else if(lang_code == 'or-IN')
14017 switch(voice_data) {
14018
14019 case 'A:10': case 'A:11': voice_name = 'Ananya[F'; break;
14020 case 'B:10': case 'B:11': voice_name = 'Arjun[M'; break;
14021 case 'C:10': case 'C:11': voice_name = 'Priyanka[F'; break;
14022 case 'D:10': case 'D:11': voice_name = 'Rahul[M'; break;
14023 case 'E:10': case 'E:11': voice_name = 'Sanjay[M'; break;
14024
14025 case 'F:10': case 'F:11': voice_name = 'Madhuri[F'; break;
14026 case 'G:10': case 'G:11': voice_name = 'Kunal[M'; break;
14027 case 'H:10': case 'H:11': voice_name = 'Pooja[F'; break;
14028 case 'I:10': case 'I:11': voice_name = 'Rakesh[M'; break;
14029 case 'J:10': case 'J:11': voice_name = 'Sneha[F'; break;
14030
14031 case 'K:10': case 'K:11': voice_name = 'Amit[M'; break;
14032 case 'L:10': case 'L:11': voice_name = 'Nandini[F'; break;
14033 case 'M:10': case 'M:11': voice_name = 'Vikram[M'; break;
14034 case 'N:10': case 'N:11': voice_name = 'Swati[F'; break;
14035 case 'O:10': case 'O:11': voice_name = 'Deepak[M'; break;
14036
14037 case 'P:10': case 'P:11': voice_name = 'Kavita[F'; break;
14038 case 'Q:10': case 'Q:11': voice_name = 'Manoj[M'; break;
14039 case 'R:10': case 'R:11': voice_name = 'Ritu[F'; break;
14040 case 'S:10': case 'S:11': voice_name = 'Ajay[M'; break;
14041 case 'T:10': case 'T:11': voice_name = 'Neha[F'; break;
14042
14043 case 'U:10': case 'U:11': voice_name = 'Suresh[M'; break;
14044 case 'V:10': case 'V:11': voice_name = 'Meena[F'; break;
14045 case 'W:10': case 'W:11': voice_name = 'Rohit[M'; break;
14046 case 'X:10': case 'X:11': voice_name = 'Anita[F'; break;
14047 case 'Y:10': case 'Y:11': voice_name = 'Tarun[M'; break;
14048
14049 case 'Z:10': case 'Z:11': voice_name = 'Lata[F'; break;
14050 case 'AA:10': case 'AA:11': voice_name = 'Prakash[M'; break;
14051 case 'AB:10': case 'AB:11': voice_name = 'Sunita[F'; break;
14052 case 'AC:10': case 'AC:11': voice_name = 'Gaurav[M'; break;
14053 case 'AD:10': case 'AD:11': voice_name = 'Divya[F'; break;
14054 }
14055 else if(lang_code == 'th-TH')
14056 switch(voice_data) {
14057 case 'A:0': voice_name = 'Suchada[F'; break;
14058 case 'A:1': voice_name = 'Siritida[F'; break;
14059
14060 /* 20 */
14061 case 'A:20': voice_name = 'Supatra[F'; break;
14062 case 'B:20': voice_name = 'Anurak[M'; break;
14063 case 'C:20': voice_name = 'Chaiwat[M'; break;
14064 case 'D:20': voice_name = 'Malai[F'; break;
14065 case 'E:20': voice_name = 'Thip[F'; break;
14066 case 'F:20': voice_name = 'Wanee[F'; break;
14067 case 'G:20': voice_name = 'Rattana[M'; break;
14068 case 'H:20': voice_name = 'Suthida[F'; break;
14069 case 'I:20': voice_name = 'Kanya[F'; break; // FIX duplicate name
14070
14071 /* 21 — HD */
14072 case 'A:21': voice_name = 'Supatra HD[F'; break;
14073 case 'B:21': voice_name = 'Anurak HD[M'; break;
14074 case 'C:21': voice_name = 'Chaiwat HD[M'; break;
14075 case 'D:21': voice_name = 'Malai HD[F'; break;
14076 case 'E:21': voice_name = 'Thip HD[F'; break;
14077 case 'F:21': voice_name = 'Wanee HD[F'; break;
14078 case 'G:21': voice_name = 'Rattana HD[M'; break;
14079 case 'H:21': voice_name = 'Suthida HD[F'; break;
14080 case 'I:21': voice_name = 'Kanya HD[F'; break;
14081 case 'J:21': voice_name = 'Somchai HD[M'; break;
14082 case 'K:21': voice_name = 'Narin HD[M'; break;
14083
14084 /* 8 / 9 / 10 / 11 */
14085 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Arisa[F'; break;
14086 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Somchai[M'; break;
14087 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Nattapong[M'; break;
14088 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Krit[M'; break;
14089 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Thanakorn[M'; break;
14090 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Pim[F'; break;
14091 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Siriporn[F'; break;
14092 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Nalinee[F'; break;
14093 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Chai[M'; break;
14094 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Kamon[F'; break;
14095 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Narin[M'; break;
14096 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Suda[F'; break;
14097 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Prasert[M'; break;
14098 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Busaba[F'; break;
14099 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Anan[M'; break;
14100 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Duangjai[F'; break;
14101 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Malee[F'; break;
14102 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Kanya[F'; break;
14103 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Viroj[M'; break;
14104 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Sakda[M'; break;
14105 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Chutima[F'; break;
14106 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Preecha[M'; break;
14107 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Noppon[M'; break;
14108 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Kittipong[M'; break;
14109 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Yada[M'; break;
14110 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Rinrada[F'; break;
14111 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Adisak[M'; break;
14112 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Lalita[F'; break;
14113 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Patchara[F'; break;
14114 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Thawatchai[M'; break;
14115 }
14116 else if(lang_code == 'tr-TR')
14117 switch(voice_data) {
14118 case 'A:0': voice_name = 'Fatma[F'; break;
14119 case 'B:2': voice_name = 'Ahmet[M'; break;
14120 case 'C:2': voice_name = 'Selma[F'; break;
14121 case 'D:2': voice_name = 'Gamze[F'; break;
14122 case 'E:2': voice_name = 'Hasan[M'; break;
14123 case 'A:2': voice_name = 'Zeynep[F'; break;
14124
14125 /* 20 */
14126 case 'A:20': voice_name = 'Elif[F'; break;
14127 case 'B:20': voice_name = 'Mehmet[M'; break;
14128 case 'C:20': voice_name = 'Mustafa[M'; break;
14129 case 'D:20': voice_name = 'Ayse[F'; break;
14130 case 'E:20': voice_name = 'Emine[F'; break;
14131 case 'F:20': voice_name = 'Hatice[F'; break;
14132 case 'G:20': voice_name = 'Ali[M'; break;
14133 case 'H:20': voice_name = 'Merve[F'; break;
14134 case 'I:20': voice_name = 'Esra[F'; break;
14135
14136 /* 21 — HD */
14137 case 'A:21': voice_name = 'Elif HD[F'; break;
14138 case 'B:21': voice_name = 'Mehmet HD[M'; break;
14139 case 'C:21': voice_name = 'Mustafa HD[M'; break;
14140 case 'D:21': voice_name = 'Ayse HD[F'; break;
14141 case 'E:21': voice_name = 'Emine HD[F'; break;
14142 case 'F:21': voice_name = 'Hatice HD[F'; break;
14143 case 'G:21': voice_name = 'Ali HD[M'; break;
14144 case 'H:21': voice_name = 'Merve HD[F'; break;
14145 case 'I:21': voice_name = 'Esra HD[F'; break;
14146 case 'J:21': voice_name = 'Can HD[M'; break;
14147 case 'K:21': voice_name = 'Kerem HD[M'; break;
14148
14149 /* 8 / 9 / 10 / 11 */
14150 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Deniz[F'; break;
14151 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Emre[M'; break;
14152 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Burak[M'; break;
14153 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Omer[M'; break;
14154 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Yusuf[M'; break;
14155 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Ece[F'; break;
14156 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Ceren[F'; break;
14157 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Derya[F'; break;
14158 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Murat[M'; break;
14159 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Seda[F'; break;
14160 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Kaan[M'; break;
14161 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Buse[F'; break;
14162 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Serkan[M'; break;
14163 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Gizem[F'; break;
14164 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Hakan[M'; break;
14165 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Asli[F'; break;
14166 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Zehra[F'; break;
14167 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Melis[F'; break;
14168 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Onur[M'; break;
14169 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Tolga[M'; break;
14170 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Nisa[F'; break;
14171 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Baris[M'; break;
14172 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Ugur[M'; break;
14173 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Tunc[M'; break;
14174 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Yasin[M'; break;
14175 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Elvan[F'; break;
14176 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Cagatay[M'; break;
14177 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Pinar[F'; break;
14178 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Hande[F'; break;
14179 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Levent[M'; break;
14180 }
14181 else if(lang_code == 'uk-UA')
14182 switch(voice_data) {
14183 case 'A:0': voice_name = 'Oksana[F'; break;
14184 case 'A:2': voice_name = 'Nataliya[F'; break;
14185
14186 /* 20 */
14187 case 'A:20': voice_name = 'Kateryna[F'; break;
14188 case 'B:20': voice_name = 'Oleksandr[M'; break;
14189 case 'C:20': voice_name = 'Ivan[M'; break;
14190 case 'D:20': voice_name = 'Maria[F'; break;
14191 case 'E:20': voice_name = 'Yuliya[F'; break;
14192 case 'F:20': voice_name = 'Anastasiya[F'; break;
14193 case 'G:20': voice_name = 'Roman[M'; break;
14194 case 'H:20': voice_name = 'Iryna[F'; break;
14195 case 'I:20': voice_name = 'Lesya[F'; break;
14196
14197 /* 21 — HD */
14198 case 'A:21': voice_name = 'Kateryna HD[F'; break;
14199 case 'B:21': voice_name = 'Oleksandr HD[M'; break;
14200 case 'C:21': voice_name = 'Ivan HD[M'; break;
14201 case 'D:21': voice_name = 'Maria HD[F'; break;
14202 case 'E:21': voice_name = 'Yuliya HD[F'; break;
14203 case 'F:21': voice_name = 'Anastasiya HD[F'; break;
14204 case 'G:21': voice_name = 'Roman HD[M'; break;
14205 case 'H:21': voice_name = 'Iryna HD[F'; break;
14206 case 'I:21': voice_name = 'Lesya HD[F'; break;
14207 case 'J:21': voice_name = 'Dmytro HD[M'; break;
14208 case 'K:21': voice_name = 'Maksym HD[M'; break;
14209
14210 /* 8 / 9 / 10 / 11 */
14211 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Olena[F'; break;
14212 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Andriy[M'; break;
14213 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Serhiy[M'; break;
14214 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Taras[M'; break;
14215 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Volodymyr[M'; break;
14216 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Tetiana[F'; break;
14217 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Halyna[F'; break;
14218 case 'H:8': case 'H:10': case 'H:11': voice_name = 'Svitlana[F'; break;
14219 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Bohdan[M'; break;
14220 case 'J:8': case 'J:10': case 'J:11': voice_name = 'Nadiya[F'; break;
14221 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Yaroslav[M'; break;
14222 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Liliya[F'; break;
14223 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Pavlo[M'; break;
14224 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Olya[F'; break;
14225 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Mykola[M'; break;
14226 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Viktoriya[F'; break;
14227 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Inna[F'; break;
14228 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Alina[F'; break;
14229 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Denys[M'; break;
14230 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Artem[M'; break;
14231 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Ira[F'; break;
14232 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Oleksiy[M'; break;
14233 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Ruslan[M'; break;
14234 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Vadym[M'; break;
14235 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Kyrylo[M'; break;
14236 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Marina[F'; break;
14237 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Stepan[M'; break;
14238 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Olesya[F'; break;
14239 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Kristina[F'; break;
14240 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Maksym[M'; break;
14241 }
14242 else if(lang_code == 'ur')
14243 switch(voice_data) {
14244 case 'A:0': voice_name = 'Ayesha[F'; break;
14245
14246 /* 20 */
14247 case 'A:20': voice_name = 'Fatima[F'; break;
14248 case 'B:20': voice_name = 'Muhammad[M'; break;
14249 case 'C:20': voice_name = 'Hassan[M'; break;
14250 case 'D:20': voice_name = 'Hina[F'; break;
14251 case 'E:20': voice_name = 'Sana[F'; break;
14252 case 'F:20': voice_name = 'Zara[F'; break;
14253 case 'G:20': voice_name = 'Ali[M'; break;
14254 case 'H:20': voice_name = 'Amina[F'; break;
14255 case 'I:20': voice_name = 'Khadija[F'; break;
14256
14257 /* 21 — HD */
14258 case 'A:21': voice_name = 'Fatima HD[F'; break;
14259 case 'B:21': voice_name = 'Muhammad HD[M'; break;
14260 case 'C:21': voice_name = 'Hassan HD[M'; break;
14261 case 'D:21': voice_name = 'Hina HD[F'; break;
14262 case 'E:21': voice_name = 'Sana HD[F'; break;
14263 case 'F:21': voice_name = 'Zara HD[F'; break;
14264 case 'G:21': voice_name = 'Ali HD[M'; break;
14265 case 'H:21': voice_name = 'Amina HD[F'; break;
14266 case 'I:21': voice_name = 'Khadija HD[F'; break;
14267 case 'J:21': voice_name = 'Omar HD[M'; break;
14268 case 'K:21': voice_name = 'Bilal HD[M'; break;
14269
14270 /* 8 / 9 / 10 / 11 */
14271 case 'A:10': case 'A:11': voice_name = 'Noor[F'; break;
14272 case 'B:10': case 'B:11': voice_name = 'Ahmed[M'; break;
14273 case 'C:10': case 'C:11': voice_name = 'Usman[M'; break;
14274 case 'D:10': case 'D:11': voice_name = 'Hamza[M'; break;
14275 case 'E:10': case 'E:11': voice_name = 'Zain[M'; break;
14276 case 'F:10': case 'F:11': voice_name = 'Iqra[F'; break;
14277 case 'G:10': case 'G:11': voice_name = 'Maryam[F'; break;
14278 case 'H:10': case 'H:11': voice_name = 'Laiba[F'; break;
14279 case 'I:10': case 'I:11': voice_name = 'Imran[M'; break;
14280 case 'J:10': case 'J:11': voice_name = 'Areeba[F'; break;
14281 case 'K:10': case 'K:11': voice_name = 'Farhan[M'; break;
14282 case 'L:10': case 'L:11': voice_name = 'Rabia[F'; break;
14283 case 'M:10': case 'M:11': voice_name = 'Saad[M'; break;
14284 case 'N:10': case 'N:11': voice_name = 'Mahnoor[F'; break;
14285 case 'O:10': case 'O:11': voice_name = 'Rizwan[M'; break;
14286 case 'P:10': case 'P:11': voice_name = 'Nadia[F'; break;
14287 case 'Q:10': case 'Q:11': voice_name = 'Komal[F'; break;
14288 case 'R:10': case 'R:11': voice_name = 'Sadia[F'; break;
14289 case 'S:10': case 'S:11': voice_name = 'Tariq[M'; break;
14290 case 'T:10': case 'T:11': voice_name = 'Junaid[M'; break;
14291 case 'U:10': case 'U:11': voice_name = 'Hafsa[F'; break;
14292 case 'V:10': case 'V:11': voice_name = 'Salman[M'; break;
14293 case 'W:10': case 'W:11': voice_name = 'Adnan[M'; break;
14294 case 'X:10': case 'X:11': voice_name = 'Danish[M'; break;
14295 case 'Y:10': case 'Y:11': voice_name = 'Waqar[M'; break;
14296 case 'Z:10': case 'Z:11': voice_name = 'Zainab[F'; break;
14297 case 'AA:10': case 'AA:11': voice_name = 'Irfan[M'; break;
14298 case 'AB:10': case 'AB:11': voice_name = 'Bushra[F'; break;
14299 case 'AC:10': case 'AC:11': voice_name = 'Nimra[F'; break;
14300 case 'AD:10': case 'AD:11': voice_name = 'Kamran[M'; break;
14301 }
14302 else if(lang_code == 'vi-VN')
14303 switch(voice_data) {
14304 case 'A:0': voice_name = 'Kim[F'; break;
14305 case 'A:2': voice_name = 'Linh[F'; break;
14306 case 'B:2': voice_name = 'Hieu[M'; break;
14307 case 'C:2': voice_name = 'Hoa[F'; break;
14308 case 'D:2': voice_name = 'Tuan[M'; break;
14309
14310 /* 20 */
14311 case 'A:20': voice_name = 'Ngoc[F'; break;
14312 case 'B:20': voice_name = 'Minh[M'; break;
14313 case 'C:20': voice_name = 'Anh[M'; break;
14314 case 'D:20': voice_name = 'Trang[F'; break;
14315 case 'E:20': voice_name = 'Thao[F'; break;
14316 case 'F:20': voice_name = 'Huong[F'; break;
14317 case 'G:20': voice_name = 'Quang[M'; break;
14318 case 'H:20': voice_name = 'Mai[F'; break;
14319 case 'I:20': voice_name = 'Lan[F'; break;
14320
14321 /* 21 — HD */
14322 case 'A:21': voice_name = 'Ngoc HD[F'; break;
14323 case 'B:21': voice_name = 'Minh HD[M'; break;
14324 case 'C:21': voice_name = 'Anh HD[M'; break;
14325 case 'D:21': voice_name = 'Trang HD[F'; break;
14326 case 'E:21': voice_name = 'Thao HD[F'; break;
14327 case 'F:21': voice_name = 'Huong HD[F'; break;
14328 case 'G:21': voice_name = 'Quang HD[M'; break;
14329 case 'H:21': voice_name = 'Mai HD[F'; break;
14330 case 'I:21': voice_name = 'Lan HD[F'; break;
14331 case 'J:21': voice_name = 'Duc HD[M'; break;
14332 case 'K:21': voice_name = 'Bao HD[M'; break;
14333
14334 /* 8 / 9 / 10 / 11 */
14335 case 'A:8': case 'A:10': case 'A:11': voice_name = 'Vy[F'; break;
14336 case 'B:8': case 'B:10': case 'B:11': voice_name = 'Nam[M'; break;
14337 case 'C:8': case 'C:10': case 'C:11': voice_name = 'Khoa[M'; break;
14338 case 'D:8': case 'D:10': case 'D:11': voice_name = 'Phuc[M'; break;
14339 case 'E:8': case 'E:10': case 'E:11': voice_name = 'Long[M'; break;
14340 case 'F:8': case 'F:10': case 'F:11': voice_name = 'Nhi[F'; break;
14341 case 'G:8': case 'G:10': case 'G:11': voice_name = 'Yen[F'; break;
14342 case 'H:8': case 'H:10': case 'H:11': voice_name = 'My[F'; break;
14343 case 'I:8': case 'I:10': case 'I:11': voice_name = 'Tuan[M'; break;
14344 case 'J:8': case 'J:10': case 'J:11': voice_name = 'LinhChi[F'; break;
14345 case 'K:8': case 'K:10': case 'K:11': voice_name = 'Huy[M'; break;
14346 case 'L:8': case 'L:10': case 'L:11': voice_name = 'Dieu[F'; break;
14347 case 'M:8': case 'M:10': case 'M:11': voice_name = 'Son[M'; break;
14348 case 'N:8': case 'N:10': case 'N:11': voice_name = 'Thuy[F'; break;
14349 case 'O:8': case 'O:10': case 'O:11': voice_name = 'Duy[M'; break;
14350 case 'P:8': case 'P:10': case 'P:11': voice_name = 'Hanh[F'; break;
14351 case 'Q:8': case 'Q:10': case 'Q:11': voice_name = 'Trinh[F'; break;
14352 case 'R:8': case 'R:10': case 'R:11': voice_name = 'Nga[F'; break;
14353 case 'S:8': case 'S:10': case 'S:11': voice_name = 'Viet[M'; break;
14354 case 'T:8': case 'T:10': case 'T:11': voice_name = 'Phong[M'; break;
14355 case 'U:8': case 'U:10': case 'U:11': voice_name = 'Tam[F'; break;
14356 case 'V:8': case 'V:10': case 'V:11': voice_name = 'Tien[M'; break;
14357 case 'W:8': case 'W:10': case 'W:11': voice_name = 'Kiet[M'; break;
14358 case 'X:8': case 'X:10': case 'X:11': voice_name = 'Dat[M'; break;
14359 case 'Y:8': case 'Y:10': case 'Y:11': voice_name = 'Binh[M'; break;
14360 case 'Z:8': case 'Z:10': case 'Z:11': voice_name = 'Ha[F'; break;
14361 case 'AA:8': case 'AA:10': case 'AA:11': voice_name = 'Bao[M'; break;
14362 case 'AB:8': case 'AB:10': case 'AB:11': voice_name = 'Quyen[F'; break;
14363 case 'AC:8': case 'AC:10': case 'AC:11': voice_name = 'Phuong[F'; break;
14364 case 'AD:8': case 'AD:10': case 'AD:11': voice_name = 'Trung[M'; break;
14365 }
14366 else if(lang_code == 'yue-HK')
14367 switch(voice_data) {
14368 case 'A:1': voice_name = 'Wing[F'; break;
14369 case 'B:1': voice_name = 'Chan[M'; break;
14370 case 'C:1': voice_name = 'Yee[F'; break;
14371 case 'D:1': voice_name = 'Lau[M'; break;
14372
14373 /* 20 */
14374 case 'A:20': voice_name = 'Mei[F'; break;
14375 case 'B:20': voice_name = 'Chun[M'; break;
14376 case 'C:20': voice_name = 'Ming[M'; break;
14377 case 'D:20': voice_name = 'Yuet[F'; break;
14378 case 'E:20': voice_name = 'Ting[F'; break;
14379 case 'F:20': voice_name = 'Sze[F'; break;
14380 case 'G:20': voice_name = 'KaHo[M'; break;
14381 case 'H:20': voice_name = 'Ling[F'; break;
14382 case 'I:20': voice_name = 'SiuYan[F'; break;
14383
14384 /* 21 — HD */
14385 case 'A:21': voice_name = 'Mei HD[F'; break;
14386 case 'B:21': voice_name = 'Chun HD[M'; break;
14387 case 'C:21': voice_name = 'Ming HD[M'; break;
14388 case 'D:21': voice_name = 'Yuet HD[F'; break;
14389 case 'E:21': voice_name = 'Ting HD[F'; break;
14390 case 'F:21': voice_name = 'Sze HD[F'; break;
14391 case 'G:21': voice_name = 'KaHo HD[M'; break;
14392 case 'H:21': voice_name = 'Ling HD[F'; break;
14393 case 'I:21': voice_name = 'SiuYan HD[F'; break;
14394 case 'J:21': voice_name = 'WaiMan HD[M'; break;
14395 case 'K:21': voice_name = 'ChiKeung HD[M'; break;
14396 }
14397
14398
14399 voice_name = voice_name.replace('[M', ' (Male)');
14400 voice_name = voice_name.replace('[F', ' (Female)');
14401
14402 return voice_name;
14403 };
14404
14405 this.refreshLogin = function(page) {
14406
14407 var l_html = `<div class="gsp_login_wrapper refresh_login_wrapper">
14408 <div class="gsp_login_title">Sign in again!</div>
14409 <div class="gsp_login_subtitle">Enter your credentials to sign in</div>
14410 <input type="text" class="gsp_login_input gsp_login_email_uni" id="" placeholder="Email" />
14411 <input type="password" class="gsp_login_input gsp_login_password_uni" id="" placeholder="Password" />
14412 <div class="gsp_login_button gsp_login_button_uni gsp_refresh_login" id="">Sign In</div>
14413 </div>`;
14414
14415 this.showMessage('', l_html, true, true);
14416
14417 var email_val = $("#gsp_useremail").html();
14418 $(".gsp_login_email_uni").val(email_val);
14419 $(".gsp_login_button_uni").data('page', page);
14420 };
14421
14422 this.createLangsListWebsiteSettings = function(sel_lang_code) {
14423
14424 var appsumo = 0;
14425 var user_plan = 0;
14426 const $gsp_appsumo = $("#gsp_appsumo");
14427 const $gsp_plan = $("#gsp_plan");
14428 if ($gsp_appsumo.length) {
14429 appsumo = parseInt($gsp_appsumo.html(), 10) || 0;
14430 }
14431 if ($gsp_plan.length) {
14432 user_plan = parseInt($gsp_plan.html(), 10) || 0;
14433 }
14434
14435 var appsumo_blocked_langs = [];
14436 var appsumo_tier1_blocked_langs = ['eu-ES','gl-ES','lt-LT','yue-HK','hy','be','kk','mk','mi','fa','pa-Arab','sl'];
14437 var free_plan_blocked_langs = ['hy','be','eu-ES','gl-ES','kk','lt-LT','mk','mi','fa','pa-Arab','sl','yue-HK'];
14438
14439 var $lng_sel = $("#lng_sel");
14440
14441 if(!$lng_sel.length)
14442 return;
14443
14444 var langs = this.langsObj;
14445
14446 var langs_html = '';
14447 for(var t = 0;t < langs.length;t++) {
14448
14449 var k1 = langs[t],
14450 l_name = k1["name"],
14451 audios_obj = k1["audios"];
14452
14453 var lang_restricted = false;
14454 if(appsumo == 1 && thisPage.inArray(k1["value"],appsumo_blocked_langs)) {
14455 lang_restricted = true;
14456 }
14457
14458 if(appsumo == 1 && user_plan == 1 && thisPage.inArray(k1["value"],appsumo_tier1_blocked_langs)) {
14459 lang_restricted = true;
14460 }
14461
14462 if(user_plan == 0 && thisPage.inArray(k1["value"],free_plan_blocked_langs))
14463 lang_restricted = true;
14464
14465 this.preview_audios[k1["value"]] = audios_obj;
14466
14467 var selected = k1["value"] == sel_lang_code ? 'li_selected ss_ul_li_act' : '',
14468 sel_title = k1["value"] == sel_lang_code ? l_name : sel_title;
14469
14470 if(!lang_restricted)
14471 langs_html += '<li class="search_li '+selected+'" data-voices_data="'+k1["voice_data"]+'" data-val="'+k1["value"]+'"><span>'+l_name+'</span></li>';
14472 }
14473
14474 if(sel_lang_code != -1) {
14475 $lng_sel.find(".items_select_filter_content span").html(sel_title);
14476 $lng_sel.find(".li_selected").removeClass("li_selected");
14477 }
14478
14479 $lng_sel.find(".items_select_ul").html(langs_html);
14480 };
14481
14482 this.createLangsListReg = function(sel_lang_code) {
14483
14484 var appsumo = 0;
14485 var user_plan = 0;
14486 const $gsp_appsumo = $("#gsp_appsumo");
14487 const $gsp_plan = $("#gsp_plan");
14488 if ($gsp_appsumo.length) {
14489 appsumo = parseInt($gsp_appsumo.html(), 10) || 0;
14490 }
14491 if ($gsp_plan.length) {
14492 user_plan = parseInt($gsp_plan.html(), 10) || 0;
14493 }
14494
14495 var appsumo_blocked_langs = [];
14496 var appsumo_tier1_blocked_langs = ['eu-ES','gl-ES','lt-LT','yue-HK','hy','be','kk','mk','mi','fa','pa-Arab','sl'];
14497 var free_plan_blocked_langs = ['hy','be','eu-ES','gl-ES','kk','lt-LT','mk','mi','fa','pa-Arab','sl','yue-HK'];
14498
14499 var $lng_sel = $("#reg_website_lang");
14500
14501 sel_lang_code = sel_lang_code == '' ? 'en' : sel_lang_code;
14502
14503 if(!$lng_sel.length)
14504 return;
14505
14506 var langs = this.langsObj;
14507
14508 var langs_html = '';
14509 for(var t = 0;t < langs.length;t++) {
14510
14511 var k1 = langs[t],
14512 l_name = k1["name"],
14513 l_val = k1["value"],
14514 l_val_0 = l_val.split('-')[0],
14515 audios_obj = k1["audios"];
14516
14517 var lang_restricted = false;
14518 if(appsumo == 1 && thisPage.inArray(k1["value"],appsumo_blocked_langs)) {
14519 lang_restricted = true;
14520 }
14521
14522 if(appsumo == 1 && user_plan == 1 && thisPage.inArray(k1["value"],appsumo_tier1_blocked_langs)) {
14523 lang_restricted = true;
14524 }
14525
14526 if(user_plan == 0 && thisPage.inArray(k1["value"],free_plan_blocked_langs))
14527 lang_restricted = true;
14528
14529
14530 // this.preview_audios[k1["value"]] = audios_obj;
14531
14532 var selected = sel_lang_code == 'en' ? (l_val == 'en-US' ? 'li_selected ss_ul_li_act' : '') : (l_val_0 == sel_lang_code ? 'li_selected ss_ul_li_act' : ''),
14533 sel_title = sel_lang_code == 'en' ? (l_val == 'en-US' ? l_name : sel_title) : (l_val_0 == sel_lang_code ? l_name : sel_title);
14534
14535 if(!lang_restricted)
14536 langs_html += '<li class="search_li '+selected+'" data-voices_data="'+k1["voice_data"]+'" data-val="'+l_val+'"><span>'+l_name+'</span></li>';
14537 }
14538
14539 if(sel_lang_code != -1) {
14540 $lng_sel.find(".items_select_filter_content span").html(sel_title);
14541 $lng_sel.find(".li_selected").removeClass("li_selected");
14542 }
14543
14544 $lng_sel.find(".items_select_ul").append(langs_html);
14545 };
14546
14547 this.createLangsListAddWebsite = function() {
14548
14549 var appsumo = 0;
14550 var user_plan = 0;
14551 const $gsp_appsumo = $("#gsp_appsumo");
14552 const $gsp_plan = $("#gsp_plan");
14553 if ($gsp_appsumo.length) {
14554 appsumo = parseInt($gsp_appsumo.html(), 10) || 0;
14555 }
14556 if ($gsp_plan.length) {
14557 user_plan = parseInt($gsp_plan.html(), 10) || 0;
14558 }
14559
14560 var appsumo_blocked_langs = [];
14561 var appsumo_tier1_blocked_langs = ['eu-ES','gl-ES','lt-LT','yue-HK','hy','be','kk','mk','mi','fa','pa-Arab','sl'];
14562 var free_plan_blocked_langs = ['hy','be','eu-ES','gl-ES','kk','lt-LT','mk','mi','fa','pa-Arab','sl','yue-HK'];
14563
14564 var $lng_sel = $("#add_website_lang");
14565
14566 var sel_lang_code = $("#gsp_old_p_lang").html();
14567
14568 sel_lang_code = sel_lang_code == '' ? 'en' : sel_lang_code;
14569
14570 if(!$lng_sel.length)
14571 return;
14572
14573 var langs = this.langsObj;
14574
14575 var langs_html = '';
14576 for(var t = 0;t < langs.length;t++) {
14577
14578 var k1 = langs[t],
14579 l_name = k1["name"],
14580 l_val = k1["value"],
14581 l_val_0 = l_val.split('-')[0],
14582 audios_obj = k1["audios"];
14583
14584 var lang_restricted = false;
14585 if(appsumo == 1 && thisPage.inArray(k1["value"],appsumo_blocked_langs)) {
14586 lang_restricted = true;
14587 }
14588
14589 if(appsumo == 1 && user_plan == 1 && thisPage.inArray(k1["value"],appsumo_tier1_blocked_langs)) {
14590 lang_restricted = true;
14591 }
14592
14593 if(user_plan == 0 && thisPage.inArray(k1["value"],free_plan_blocked_langs))
14594 lang_restricted = true;
14595
14596 // this.preview_audios[k1["value"]] = audios_obj;
14597
14598 var selected = sel_lang_code == 'en' ? (l_val == 'en-US' ? 'li_selected ss_ul_li_act' : '') : (l_val_0 == sel_lang_code ? 'li_selected ss_ul_li_act' : ''),
14599 sel_title = sel_lang_code == 'en' ? (l_val == 'en-US' ? l_name : sel_title) : (l_val_0 == sel_lang_code ? l_name : sel_title);
14600
14601 if(!lang_restricted)
14602 langs_html += '<li class="search_li '+selected+'" data-voices_data="'+k1["voice_data"]+'" data-val="'+l_val+'"><span>'+l_name+'</span></li>';
14603 }
14604
14605 if(sel_lang_code != -1) {
14606 $lng_sel.find(".items_select_filter_content span").html(sel_title);
14607 $lng_sel.find(".li_selected").removeClass("li_selected");
14608 }
14609
14610 $lng_sel.find(".items_select_ul").append(langs_html);
14611 };
14612
14613 this.resetPlayerWebsiteSettings = function() {
14614
14615 if(!$("#wbs_voice").length)
14616 return;
14617
14618 var $player = $(".ss_voice_preview_wrapper").find(".ssplayer_wrapper");
14619
14620 if(window.gspeech == undefined)
14621 return;
14622
14623 var $gsLanguageSelector = $("#lng_sel"),
14624 $gsVoiceSelector = $("#wbs_voice");
14625
14626 var player_lang = $gsLanguageSelector.find("li.li_selected").data('val'),
14627 player_voice = $gsVoiceSelector.find('.li_selected').data('val'),
14628 player_speed = $("#gsp_slider_speed").find('.gsp_value_label').val(),
14629 player_pitch = $("#gsp_slider_pitch").find('.gsp_value_label').val(),
14630 player_html = $("#voice_preview_data").data("preview_txt_ready");
14631
14632 if(player_lang == -1 || player_voice == undefined) {
14633 player_lang = "en-US";
14634 player_html = player_lang == -1 ? "Please choose language" : "Please choose voice";
14635 player_voice = "C-2";
14636 player_speed = 1;
14637 player_pitch = 0;
14638 }
14639
14640 $player.data("lang", player_lang);
14641 $player.data("voice", player_voice);
14642 $player.data("speed", player_speed);
14643 $player.data("pitch", player_pitch);
14644 $player.find(".ssplayer_audio_content").html(player_html);
14645
14646 if($player.find(".ssplayer_icon_bg").hasClass("ssplayer_loading")) {
14647 window.gspeech.showeAbortMessage = false;
14648 window.gspeech.request.abort();
14649 }
14650
14651 $player.find(".ssplayer_icon_bg").removeClass("ssplayer_play").removeClass("ssplayer_pause").removeClass("ssplayer_loading").addClass("ssplayer_speaker");
14652 $player.find(".ssplayer_txt_wrapper").removeClass("ssplayer_play").removeClass("ssplayer_pause").removeClass("ssplayer_loading").addClass("ssplayer_speaker");
14653
14654 $player.data('once_loaded', false);
14655 $player.data('cur_s', 0);
14656 $player.find('.sstimeline_active').width('0%');
14657 $player.find('.ss_time_start').html('0:00');
14658 $player.find('.ss_time_end').html('0:00');
14659
14660 var name_hash = $player.data("name_hash");
14661
14662 if(name_hash != undefined) {
14663 var $playerElG = $('.' + name_hash).get(0);
14664 $playerElG.pause();
14665 $playerElG.currentTime = 0;
14666 }
14667 };
14668
14669 this.createTranslationListWebsiteSettings = function() {
14670
14671 var $this = this;
14672
14673 var $lng_sel = $("#ss_translation_options");
14674
14675 if(!$lng_sel.length)
14676 return;
14677
14678 var appsumo = 0;
14679 const $appsumoElement = $("#gsp_appsumo");
14680 if ($appsumoElement.length) {
14681 appsumo = parseInt($appsumoElement.html(), 10) || 0;
14682 }
14683
14684 var sel_lang_code = $lng_sel.data("val"),
14685 langs = this.langsObj,
14686 langs_html = '<div class="ss_langs_opt">',
14687 l_c = langs.length,
14688 p_s = parseInt(l_c / 4) + 1;
14689
14690 for(var t = 0;t < langs.length;t++) {
14691
14692 var k1 = langs[t],
14693 l_name = k1["name"];
14694
14695 var voice_options = this.generateVoices(k1["voice_data"], k1["value"], appsumo);
14696
14697 var l_item = '<div class="ss_translation_item ss_lang_holder_'+k1["value"]+'" data-voices_data="'+k1["voice_data"]+'" data-val="'+k1["value"]+'">';
14698 l_item += '<div class="ss_tr_line1">';
14699 l_item += '<span class="ss_checkbox_wrapper"><span class="ss_checkbox_line1"></span><span class="ss_checkbox_line2"></span><span class="ss_checkbox_ripple"></span><span class="ss_checkbox_bg"></span></span>';
14700 l_item += '<span class="ss_checkbox_label">'+l_name+'</span>';
14701 l_item += '</div>';
14702 l_item += '<div class="ss_tr_line2">';
14703 l_item +=
14704 `
14705 <div class="items_select_filter_wrapper ss_select_multiple ss_audio_holder" data-sel_voice="" data-def_txt="Select voices">
14706 <div class="items_select_filter">
14707 <div class="items_select_filter_content"><span>Select voices</span></div>
14708 <div class="items_select_filter_icon_wrapper">
14709 <div class="items_select_filter_icon_holder">
14710 <div class="items_select_filter_icon_inner">
14711 <span class="items_select_filter_icon">
14712 <svg class="" aria-hidden="true" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"></path></svg>
14713 </span>
14714 </div>
14715 </div>
14716 </div>
14717 <div class="items_select_ul_wrapper">
14718 <div class="items_select_ul_holder">
14719 <div class="items_select_ul_inner">
14720 <ul class="items_select_ul">`+voice_options+`</ul>
14721 </div>
14722 </div>
14723 </div>
14724 </div>
14725 </div>
14726 `;
14727 l_item += '</div>';
14728 l_item += '</div>';
14729
14730 if(voice_options != '')
14731 langs_html += l_item;
14732
14733 if(t != 0 && t % p_s == 0)
14734 langs_html += '</div><div class="ss_langs_opt">';
14735 }
14736 langs_html += '</div>';
14737
14738 $lng_sel.html(langs_html);
14739
14740 // set preview audios
14741 // $(".ss_translation_item").each(function() {
14742
14743 // var lng_val = $(this).data("val");
14744
14745 // $(this).find(".search_li").each(function() {
14746
14747 // var voice_val = $(this).data("val"),
14748 // audio_hash = $this.preview_audios[lng_val][voice_val];
14749
14750 // $(this).data('name_hash',audio_hash);
14751 // });
14752 // });
14753
14754 // set selection
14755 var sel_langs = $("#ss_translation_options").data("sel_langs");
14756 var sel_lang_global = $("#lng_sel").data("val");
14757 if(sel_langs == '')
14758 sel_langs = sel_lang_global;
14759
14760 var sel_langs_array = sel_langs.split(';');
14761 for(let t=0;t<sel_langs_array.length;t++) {
14762
14763 let sel_l_itm = sel_langs_array[t],
14764 sel_l_data = sel_l_itm.split('|'),
14765 s_l = sel_l_data[0],
14766 s_v_data = sel_l_data.length > 1 ? sel_l_data[1] : '';
14767
14768 let $s_item = $('.ss_lang_holder_' + s_l);
14769 $s_item.find(".ss_tr_line2").addClass("ss_tr_line2_v").addClass("ss_ov_v");
14770 $s_item.find(".ss_checkbox_wrapper").addClass("ss_checked");
14771
14772 // correction
14773 thisPage.createTranslationBlockPreviewTxt($s_item);
14774
14775 // set voices
14776 if(s_v_data != '') {
14777
14778 let s_v_array = s_v_data.split(','),
14779 v_c_val = '';
14780 for(let q=0;q<s_v_array.length;q++) {
14781
14782 let v_item = s_v_array[q];
14783 $s_item.find('.option-' + v_item).addClass("li_selected").addClass("ss_ul_li_act");
14784
14785 v_c_val += $s_item.find('.option-' + v_item).find("span").html() + ', ';
14786 }
14787 v_c_val = v_c_val.slice(0, -2);
14788 $s_item.find('.items_select_filter_content span').addClass("ss_processed74").html(v_c_val);
14789 }
14790 }
14791
14792 // set disabled classes
14793 $(".ss_lang_holder_" + sel_lang_global).addClass("ss_tr_block_hardcoded").find(".ss_checkbox_wrapper").addClass("ss_disabled");
14794
14795 // set voice
14796 let sel_v = $("#wbs_voice").data("sel_voice");
14797 let sel_v_val = $("#wbs_voice").data("val");
14798
14799 sel_v = sel_v == "" ? sel_v_val : sel_v;
14800 if(sel_v != "" && sel_v != undefined) {
14801 $(".ss_lang_holder_" + sel_lang_global).find('.option-' + sel_v).addClass("li_selected").addClass("ss_ul_li_act").addClass("ss_option_hardcoded");
14802
14803 let $c_c = $(".ss_lang_holder_" + sel_lang_global).find('.items_select_filter_content span');
14804 let v_c = $(".ss_lang_holder_" + sel_lang_global).find('.li_selected span').html();
14805
14806 if(!$c_c.hasClass("ss_processed74"))
14807 $c_c.html(v_c);
14808 }
14809 };
14810
14811 // Inner methods ///////////////////////////////////////////////////////////////////////
14812
14813 this.makeTableFilter = function() {
14814
14815 var $this = this;
14816
14817 var widget_id = this.options.widget_id;
14818
14819 var $order_table = $('.gsp_left_m_c_active').find('.items_wrapper');
14820 var $active_item = $order_table.find('.itm_ord_active');
14821 var $search_input = $order_table.find('.search_input');
14822 var search_val = $search_input.val();
14823
14824 $search_input.data('search_val', search_val);
14825
14826 var order_table = $order_table.data('order_table');
14827 var order_field = $active_item.data('order_field');
14828 if($active_item.hasClass('item_ord_desc'))
14829 var order_dir = 'DESC';
14830 else
14831 var order_dir = 'ASC';
14832
14833 // generate filters
14834 var filters_var = '';
14835 $order_table.find(".items_select_filter_wrapper:not(.itms_pages_limit)").each(function(i) {
14836 var filter_id = $(this).data('filter_id');
14837 var filter_val = $(this).find('.li_selected').data('val');
14838
14839 if(filter_id == undefined)
14840 return;
14841
14842 var itm_v = filter_id + ':' + filter_val;
14843 filters_var += itm_v + ';';
14844 });
14845
14846 filters_var = filters_var.slice(0, -1);
14847
14848 // pagination
14849 var pgn_limit = 0;
14850 var pgn_page = 0;
14851 if($order_table.find('.items_pagination').length) {
14852 pgn_limit = $order_table.find(".itms_pages_limit").find('.li_selected').data('val');
14853 pgn_page = $order_table.find('.items_pagination').find('.itms_p_sel').data('val');
14854 }
14855
14856 // make table filter
14857 var ajax_id = 'make_table_filter_connection';
14858 var gspeech_token = this.getCookie('gspeech_token');
14859 var tts_url = thisPage.options.tts_url;
14860
14861 // show loadings
14862 $order_table.find('.items_wrapper_overlay').addClass('items_wrapper_overlay_visible');
14863 $order_table.find('.itm_c').addClass('itm_c_hidden');
14864 $order_table.find('.itm_l').addClass('itm_l_visible');
14865
14866 // make random widths
14867 $order_table.find('.item_row_item_1').each(function(i) {
14868 var rand = thisPage.getRundBetween(0, 70);
14869 $(this).find('.itm_l').css({'right':rand + '%'});
14870 });
14871 $order_table.find('.item_row_item_2').each(function(i) {
14872 var rand = thisPage.getRundBetween(0, 70);
14873 $(this).find('.itm_l').css({'right':rand + '%'});
14874 });
14875
14876 var post_data = {
14877 'ajax_id':ajax_id,
14878 'token':gspeech_token,
14879 'order_table':order_table,
14880 'order_field':order_field,
14881 'order_dir':order_dir,
14882 'search_val':search_val,
14883 'filters_val':filters_var,
14884 'pgn_page':pgn_page,
14885 'widget_id':widget_id,
14886 'pgn_limit':pgn_limit
14887 };
14888
14889 var hash = window.location.hash;
14890
14891 hash = hash == '' ? '#settings' : hash;
14892
14893 var hash_striped = hash.replace('#','');
14894
14895 $.ajax({
14896 type: 'POST',
14897 url: tts_url + '/ajax',
14898 crossDomain: true,
14899 data: post_data,
14900 dataType: 'json',
14901 success: function(responseData, textStatus, jqXHR) {
14902
14903 var result = responseData.success;
14904 var html = responseData.html;
14905 var pages_html = responseData.pages_html;
14906 var items_count_full = responseData.items_count_full;
14907
14908 if(result == 'true') {
14909 $('.gsp_left_m_c_active .items_inner_wrapper').html(html);
14910 $('.items_pagination_itms_holder').html(pages_html);
14911
14912 var items_count = $('.gsp_left_m_c_active .items_inner_wrapper').find('.item_item').length;
14913 var pages_count = $('.gsp_left_m_c_active .items_pagination_itms_holder').find('.itms_p_i').length;
14914 var s_ident = items_count == 1 ? '' : 's';
14915 var vis_ident = pages_count == 1 ? 'p_hid' : '';
14916 $('.gsp_left_m_c_active .items_pagination_itms_holder').removeClass('p_hid').addClass(vis_ident);
14917
14918 var item_text = ' item';
14919 if(order_table == 'gspeech_ssblocks')
14920 item_text = ' widget';
14921 else if(order_table == 'gspeech_speeches')
14922 item_text = ' audio';
14923
14924 var count_txt = items_count + item_text + s_ident;
14925
14926 if(items_count_full != 0 && items_count_full != items_count)
14927 count_txt += ' (total '+items_count_full+')';
14928
14929 $('.gsp_left_m_c_active .items_count').html(count_txt);
14930
14931 $('html, body').animate({scrollTop:0}, 600);
14932
14933 if(hash_striped == "widgets") {
14934
14935 $this.setValsWidgets(widget_id);
14936 }
14937 else if(hash_striped == "audios") {
14938
14939 $this.setValsAudios(widget_id);
14940 }
14941 }
14942 else if(result == "auth_failed") {
14943
14944 $this.refreshLogin("table_filter");
14945 }
14946
14947 // hide loadings
14948 $('.gsp_left_m_c_active .items_wrapper_overlay').removeClass('items_wrapper_overlay_visible');
14949 $('.gsp_left_m_c_active .itm_l').removeClass('itm_l_visible');
14950 },
14951 error: function (responseData, textStatus, errorThrown) {
14952
14953 $this.showMessage('error','Error sending request.');
14954
14955 // if(window.gspeech != undefined)
14956 // window.gspeech.doSmartSpeech('Error sending request.', 'en-US');
14957 }
14958 });
14959 };
14960
14961 this.applyPageFunctions = function() {
14962
14963 this.validateEmail = function(email_val) {
14964
14965 // var email_val = $elem.val();
14966 var email_validate_pattern = new RegExp(/^[a-z0-9][a-z0-9-_\.]+@([a-z]|[a-z0-9]?[a-z0-9-]+[a-z0-9])\.[a-z0-9]{2,5}(?:\.[a-z]{2,5})?$/);
14967
14968 if(!email_validate_pattern.test(email_val)) {
14969 return false;
14970 }
14971 else {
14972 return true;
14973 }
14974 };
14975
14976 this.validateUrl = function(url_val) {
14977
14978 // url validation
14979 // var expression_url = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi;
14980 var expression_url = /^(http(s)?:\/\/)?(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/gi;
14981 var regex_url = new RegExp(expression_url);
14982
14983 if(url_val.match(regex_url)) {
14984 return true;
14985 }
14986 else {
14987 return false;
14988 }
14989 };
14990
14991 this.shake = function ($elem, options) {
14992 // defaults
14993 var settings = {
14994 'shakes': 2,
14995 'distance': 30,
14996 'duration':300
14997 };
14998
14999 if(options) {
15000 settings = options;
15001 }
15002
15003 var pos;
15004
15005 // position if necessary
15006 pos = $elem.css('position');
15007 if (!pos || pos === 'static') {
15008 $elem.css('position', 'relative');
15009 };
15010 // shake it
15011 for (var x = 1; x <= settings.shakes; x++) {
15012 $elem.animate({ left: settings.distance * -1 }, (settings.duration / settings.shakes) / 4)
15013 .animate({ left: settings.distance }, (settings.duration / settings.shakes) / 2)
15014 .animate({ left: 0 }, (settings.duration / settings.shakes) / 4);
15015 };
15016 };
15017
15018 this.inArray = function(needle, haystack) {
15019 var length = haystack.length;
15020 for(var i = 0; i < length; i++) {
15021 if(haystack[i] == needle) return true;
15022 }
15023 return false;
15024 };
15025
15026 this.getRundBetween = function(min, max) {
15027
15028 return Math.floor(Math.random() * (max - min + 1)) + min;
15029 };
15030
15031 this.applySSSelect = function() {
15032
15033 // select
15034 var s_timeout1 = 0;
15035 var s_timeout2 = 0;
15036 $('body').on('click', '.items_select_filter_wrapper', function(e) {
15037 var $el = $(e.target);
15038
15039 if($el.hasClass('li_search') || $el.parents('.li_search').length || $el.hasClass('li_selected') || $el.parents('.search_li').hasClass('li_selected') || $el.hasClass('play_voice_preview') || $el.parents('.play_voice_preview').length ) {
15040 return;
15041 }
15042
15043 // do not close for multiple select
15044 if($el.hasClass('search_li') || $el.parents('.search_li').length) {
15045 if($el.parents('.items_select_filter_wrapper').hasClass("ss_select_multiple"))
15046 return;
15047 }
15048
15049 if(!$el.hasClass('items_select_filter_wrapper')) {
15050 $el = $el.parents('.items_select_filter_wrapper');
15051 }
15052
15053 if($el.hasClass("ss_disabled"))
15054 return;
15055
15056 var offset = $el.offset(),
15057 offset_top = offset.top,
15058 el_h = $el.outerHeight(),
15059 w_h = $(window).height(),
15060 w_s_y = window.scrollY,
15061 ofsset_screen_top = offset_top - w_s_y,
15062 ofsset_screen_bottom = w_h - ofsset_screen_top - el_h;
15063
15064 //check if search enabled, set focus
15065 if($el.find('.li_search_input').length && !$el.hasClass('isfw_opened')) {
15066
15067 var c_htm = $el.find('.items_select_filter_content span').html();
15068 $el.find('.li_search_input').attr("placeholder", c_htm);
15069 setTimeout(function() {
15070 $el.find('.li_search_input').focus();
15071 }, 100);
15072 }
15073
15074 // set scroll top
15075 if(!$el.hasClass('isfw_opened')) {
15076 setTimeout(function() {
15077
15078 if($el.find(".li_selected").length) {
15079 var li_h = 35;
15080 var i = 0;
15081 var its_h = $el.find('.items_select_ul_inner').height();
15082 $el.find('li').each(function() {
15083 var $li = $(this);
15084
15085 if($li.hasClass('li_h')) {
15086 return; // just continue loop
15087 }
15088
15089 i++;
15090
15091 if($li.hasClass('li_selected')) {
15092 return false;
15093 }
15094 });
15095
15096 var act_i = i > 0 ? i-1 : i;
15097 var t_h = act_i * li_h;
15098
15099 var top_ratio = (its_h - li_h)/2;
15100 var top_pos = t_h - top_ratio;
15101 }
15102 else {
15103 var top_pos = 0;
15104 }
15105
15106 $el.find('.items_select_ul_inner').scrollTop(top_pos);
15107
15108 }, 100);
15109 }
15110
15111 // set height
15112 var itm_h = 35;
15113 var itms_c = $el.find("li:not(.li_h)").length;
15114 var itms_h = 210;
15115 itms_h = itms_c < 6 ? itms_c * itm_h : itms_h;
15116 $el.find('.items_select_ul_inner').height(itms_h);
15117
15118 // check space from bottom, to place to top, if neccesary
15119 if(itms_h > ofsset_screen_bottom) {
15120 $el.find('.items_select_ul_wrapper').css({'bottom': 'calc(100% + 4px)','top': 'initial'});
15121 }
15122 else {
15123 $el.find('.items_select_ul_wrapper').css({'top': 'calc(100% + 4px)','bottom': 'initial'});
15124 }
15125
15126 // animate icon
15127 var $isfiw = $el.find('.items_select_filter_icon_wrapper');
15128 if($isfiw.hasClass('isfi_opened'))
15129 $isfiw.removeClass('isfi_opened');
15130 else
15131 $isfiw.addClass('isfi_opened');
15132
15133 // wrapper
15134 clearTimeout(s_timeout1);
15135 clearTimeout(s_timeout2);
15136
15137 if($el.hasClass('isfw_opened')) { // opened -> close
15138
15139 if(!$el.hasClass('isfw_closing')) {
15140
15141 $el.addClass('isfw_closing');
15142 s_timeout1 = setTimeout(function() {
15143 $el.removeClass('isfw_opened');
15144 $el.removeClass('isfw_closing');
15145
15146 $el.find('.ss_ul_li_act').removeClass("ss_ul_li_act");
15147 $el.find('.li_selected').addClass("ss_ul_li_act");
15148
15149 if($el.find('.li_search_input').length) {
15150 $el.find('.li_search_input').val("");
15151 $el.find(".search_li").removeClass("li_h");
15152 $el.find('.ss_no_result').remove();
15153 }
15154
15155 }, 320);
15156 }
15157 else {
15158 $el.removeClass('isfw_closing');
15159 }
15160 }
15161 else {
15162 setTimeout(function() {
15163 $el.addClass('isfw_opened');
15164 }, 1);
15165 }
15166
15167 // make 3d animation
15168 setTimeout(function() {
15169 var $isuw = $el.find('.items_select_ul_wrapper');
15170 if($isuw.hasClass('isuw_opened'))
15171 $isuw.removeClass('isuw_opened');
15172 else
15173 $isuw.addClass('isuw_opened');
15174 },20);
15175
15176 // reset
15177 s_timeout2 = setTimeout(function() {
15178 $el.find('.items_select_ul_inner').height('auto');
15179 }, 320);
15180 });
15181
15182 // hide right menus
15183 $('body').on('click', function(e) {
15184
15185 var $target = $(e.target);
15186
15187 if($target.hasClass('items_select_filter_wrapper') || $target.parents('.items_select_filter_wrapper').length) { // clicked on wrapper
15188
15189 if(!$target.hasClass('items_select_filter_wrapper'))
15190 $target = $target.parents('.items_select_filter_wrapper');
15191
15192 if($target.hasClass('isfw_opened')) {
15193
15194 $target.addClass('self_clicked');
15195
15196 setTimeout(function() {
15197 $target.removeClass('self_clicked');
15198 }, 320);
15199 }
15200 }
15201
15202 $(".isfw_opened:not(.self_clicked)").each(function() {
15203
15204 var $el = $(this);
15205
15206 // set height
15207 var itm_h = 35;
15208 var itms_c = $el.find("li:not(.li_h)").length;
15209 var itms_h = 210;
15210 itms_h = itms_c < 6 ? itms_c * itm_h : itms_h;
15211 $el.find('.items_select_ul_inner').height(itms_h);
15212
15213 // animate icon
15214 var $isfiw = $el.find('.items_select_filter_icon_wrapper');
15215 $isfiw.removeClass('isfi_opened');
15216
15217 setTimeout(function() {
15218 $el.removeClass('isfw_opened');
15219 $el.find('.ss_ul_li_act').removeClass("ss_ul_li_act");
15220 $el.find('.li_selected').addClass("ss_ul_li_act");
15221
15222 if($el.find('.li_search_input').length) {
15223 $el.find('.li_search_input').val("");
15224 $el.find(".search_li").removeClass("li_h");
15225 $el.find('.ss_no_result').remove();
15226 }
15227 }, 320);
15228
15229 // make 3d animation
15230 setTimeout(function() {
15231 var $isuw = $el.find('.items_select_ul_wrapper');
15232 $isuw.removeClass('isuw_opened');
15233 },20);
15234
15235 // reset height
15236 setTimeout(function() {
15237 $el.find('.items_select_ul_inner').height('auto');
15238
15239 $('.self_clicked').removeClass('self_clicked');
15240 }, 320);
15241
15242 });
15243 });
15244
15245 function setNextPrevActiveLi(dir) {
15246
15247 var $el = $(".items_select_filter_wrapper.isfw_opened");
15248
15249 var sel_index = 0;
15250 var lis_count = $el.find(".search_li:not(.li_h)").length;
15251
15252 $el.find(".search_li:not(.li_h)").each(function(k) {
15253
15254 if($(this).hasClass("ss_ul_li_act")) {
15255
15256 sel_index = k;
15257 return false;
15258 }
15259 });
15260
15261 if((dir == 0 && sel_index == 0) || (dir == 1 && sel_index == lis_count - 1 && sel_index != 0)) {
15262 return;
15263 }
15264
15265 var new_index = dir == 0 ? sel_index - 1 : sel_index + 1;
15266
15267 if(!$el.find(".ss_ul_li_act:not(.li_h)").length)
15268 new_index = 0;
15269
15270 $el.find(".search_li:not(.li_h)").removeClass("ss_ul_li_act").each(function(k) {
15271
15272 if(k == new_index) {
15273 $(this).addClass("ss_ul_li_act");
15274 return false;
15275 }
15276 });
15277
15278 // set scroll top
15279 var it_h = parseInt($el.find('.search_li:first-child').height()),
15280 its_h = parseInt($el.find('.items_select_ul_inner').height()),
15281 top_ratio = (its_h - it_h)/2,
15282 t_h = new_index * it_h,
15283 top_pos = t_h - top_ratio;
15284
15285 $el.find('.items_select_ul_inner').stop(true, true).animate({scrollTop:top_pos}, 300);
15286 };
15287
15288 $("body").on("keydown", function(e) {
15289
15290 var $el = $(".items_select_filter_wrapper.isfw_opened");
15291
15292 // if(!$el.length)
15293 // return;
15294
15295 var e_key = e.key,
15296 e_which = e.which;
15297
15298 if(e_which == 38) {
15299 setNextPrevActiveLi(0);
15300 return false;
15301 }
15302 else if(e_which == 40) {
15303 setNextPrevActiveLi(1);
15304 return false;
15305 }
15306 else if(e_which == 27) {
15307
15308 // set height
15309 var itm_h = 35;
15310 var itms_c = $el.find("li:not(.li_h)").length;
15311 var itms_h = 210;
15312 itms_h = itms_c < 6 ? itms_c * itm_h : itms_h;
15313 $el.find('.items_select_ul_inner').height(itms_h);
15314
15315 // animate icon
15316 var $isfiw = $el.find('.items_select_filter_icon_wrapper');
15317 $isfiw.removeClass('isfi_opened');
15318
15319 setTimeout(function() {
15320 $el.removeClass('isfw_opened');
15321 $el.find('.ss_ul_li_act').removeClass("ss_ul_li_act");
15322 $el.find('.li_selected').addClass("ss_ul_li_act");
15323
15324 if($el.find('.li_search_input').length) {
15325 $el.find('.li_search_input').val("");
15326 $el.find(".search_li").removeClass("li_h");
15327 $el.find('.ss_no_result').remove();
15328 }
15329 }, 320);
15330
15331 // make 3d animation
15332 setTimeout(function() {
15333 var $isuw = $el.find('.items_select_ul_wrapper');
15334 $isuw.removeClass('isuw_opened');
15335 },20);
15336
15337 // reset height
15338 setTimeout(function() {
15339 $el.find('.items_select_ul_inner').height('auto');
15340 }, 320);
15341
15342 }
15343 else if(e_which == 13) {
15344
15345 $el.find(".ss_ul_li_act").eq(0).trigger("mousedown");
15346 $el.find(".ss_ul_li_act").eq(0).trigger("click");
15347 }
15348 });
15349
15350 $("body").on("keyup", ".li_search_input", function(e) {
15351
15352 var $ss_wrapper = $(this).parents(".items_select_filter_wrapper");
15353
15354 if(!$ss_wrapper.hasClass("isfw_opened"))
15355 return;
15356
15357 var e_key = e.key,
15358 e_which = e.which;
15359
15360 if(e_which == 38 || e_which == 40 || e_which == 27 || e_which == 13) {
15361 return;
15362 }
15363
15364 $ss_wrapper.find('.items_select_ul_inner').scrollTop(0);
15365
15366 $ss_wrapper.find('.ss_ul_li_act').removeClass("ss_ul_li_act");
15367
15368 var search_val = $ss_wrapper.find(".li_search_input").val();
15369 search_val = search_val.replace('(','\\(');
15370 search_val = search_val.replace(')','\\)');
15371 search_val = search_val.replace('.','\\.');
15372
15373 var $ul = $ss_wrapper.find('.items_select_ul');
15374
15375 var count_lis = $ul.find('.search_li').length;
15376 var hidden_count = 0;
15377 $ul.find('li').each(function() {
15378 $li = $(this);
15379
15380 if($li.hasClass('ss_no_result') || $li.hasClass('li_def'))
15381 return;
15382
15383 var li_val = $li.find('span').html();
15384 var rg = new RegExp(search_val, "gi");
15385 if(li_val.match(rg))
15386 $li.removeClass('li_h');
15387 else {
15388 $li.addClass('li_h');
15389 hidden_count ++;
15390 }
15391 });
15392
15393 if(hidden_count == count_lis) {
15394 if(!$ul.find('.ss_no_result').length) {
15395 var hidden_li = '<li class="ss_no_result">No matching data</li>';
15396 $ul.append(hidden_li);
15397 }
15398 }
15399 else {
15400 $ul.find('.search_li:not(.li_h)').eq(0).addClass("ss_ul_li_act");
15401 $ul.find('.ss_no_result').remove();
15402 }
15403
15404 return false;
15405 });
15406
15407 $('body').on('click', '.search_li', function(e) {
15408
15409 var $el = $(e.target);
15410
15411 // check if voice icon clicked
15412 if($el.hasClass('play_voice_preview') || $el.parents('.play_voice_preview').length)
15413 return;
15414
15415 if(!$el.hasClass('search_li'))
15416 $el = $el.parents('.search_li');
15417
15418 if($el.hasClass('ss_disabled'))
15419 return;
15420
15421 var if_multiple = $el.parents(".items_select_filter_wrapper").hasClass("ss_select_multiple") ? true : false;
15422
15423 if($el.hasClass('li_selected') && !if_multiple)
15424 return;
15425
15426 if($el.hasClass('li_selected') && if_multiple && $el.hasClass('ss_option_hardcoded'))
15427 return;
15428
15429 // set active page to 1
15430 if($('.gsp_left_m_c_active .itms_p_sel').length) {
15431 $('.gsp_left_m_c_active .itms_p_sel').removeClass('itms_p_sel');
15432 $('.gsp_left_m_c_active .items_pagination_itms_holder').find('.itms_p_i:first-child').addClass('itms_p_sel');
15433 }
15434
15435 setTimeout(function() {
15436
15437 var val = $el.find('span').html();
15438
15439 if(!if_multiple) {
15440 $el.parents('.items_select_ul').find('.li_selected').removeClass('li_selected');
15441 $el.addClass('li_selected').addClass('ss_ul_li_act');
15442 $el.parents('.items_select_filter').find('.items_select_filter_content span').html(val);
15443 }
15444 else {
15445
15446 if($el.hasClass('li_selected'))
15447 $el.removeClass("li_selected").removeClass("ss_ul_li_act");
15448 else
15449 $el.addClass("li_selected").addClass("ss_ul_li_act");
15450
15451 var m_s_val = '';
15452 $el.parents(".items_select_ul").find(".search_li.li_selected").each(function() {
15453 var val = $(this).find("span").html();
15454 m_s_val += val + ', ';
15455 });
15456
15457 if(m_s_val == "")
15458 m_s_val = $el.parents(".items_select_filter_wrapper").data("def_txt");
15459 else
15460 m_s_val = m_s_val.slice(0, -2);
15461
15462 $el.parents('.items_select_filter').find('.items_select_filter_content span').html(m_s_val);
15463 }
15464
15465 if($el.parents('.items_filter_table').length) { // for table filter, make filter
15466
15467 thisPage.makeTableFilter();
15468 }
15469
15470 $el.parents(".items_select_filter_wrapper").removeClass("ss_error");
15471
15472 },1);
15473 });
15474 };
15475
15476 this.applyMessagesFunctionality();
15477
15478 this.applySSSelect();
15479 };
15480
15481 this.applyMessagesFunctionality = function() {
15482
15483 this.createRequiredHtml = function() {
15484
15485 var messages_html = '<div class="ss_message_container nospeech" style="visibility: hidden;">';
15486 messages_html += '<div class="ss_message_title"></div>';
15487 messages_html += '<div class="ss_message_body"></div>';
15488 messages_html += ' <div class="ss_message_close">' + this.svgs["close"] + '</div>';
15489 messages_html += '</div>';
15490
15491 messages_html += '<div class="ss_body_overlay"></div>';
15492 messages_html += '<div id="ss_page_loading" style="display: none;"><img src="https://storage.googleapis.com/gspeech-assets/bricks.svg" /></div>';
15493
15494 $("body").append(messages_html);
15495 };
15496
15497 this.showMessage = function(className,message,keepOpened,showOverlay,isComfirm,options) {
15498
15499 // this.hideMessage();
15500
15501 clearTimeout(this.timeouts.message_timeout);
15502
15503 var keepOpened = keepOpened || false;
15504 var showOverlay = showOverlay || false;
15505 var isComfirm = isComfirm || false;
15506 var options = options || false;
15507
15508 var gsp_classname = 'gsp_' + className;
15509
15510 $('.ss_message_container').data('keep_opened',keepOpened);
15511 $('.ss_message_container').find('.ss_message_title').html(message);
15512 $('.ss_message_container').removeClass('ss_error').removeClass('ss_success');
15513 $('.ss_message_container').removeClass('gsp_error').removeClass('gsp_success');
15514 if(className != '')
15515 $('.ss_message_container').addClass(gsp_classname);
15516
15517 $('.ss_message_container').addClass('ssvis');
15518 setTimeout(function() {
15519 $('.ss_message_container').addClass('ss_visible');
15520 }, 20);
15521
15522 if(isComfirm) {
15523
15524 $('.ss_message_container').addClass('sscomfirm-block');
15525
15526 var subTitle = options.sub_title;
15527 var but1Txt = options.button_1_txt;
15528 var but2Txt = options.button_2_txt;
15529 var but2Class = options.button_2_class;
15530 var callback_function = options.callback_function;
15531 var itemId = options.item_id;
15532
15533 this.options.callback_id = itemId;
15534 this.options.callback_function = callback_function;
15535
15536 var comfirmHtm = '<div class="comfirm-sub-title">'+subTitle+'</div>';
15537 comfirmHtm += '<div class="comfirm-buttons-wrapper"><div class="ss-comfirm-button-1">'+but1Txt+'</div><div class="ss-comfirm-button-2 '+but2Class+'">'+but2Txt+'</div></div>';
15538
15539 $('.ss_message_container').find('.ss_message_body').html(comfirmHtm);
15540 }
15541 else {
15542 $('.ss_message_container').removeClass('sscomfirm-block');
15543 $('.ss_message_container').find('.ss_message_body').html('');
15544 }
15545
15546 if(!keepOpened) {
15547 this.timeouts.message_timeout = setTimeout(function() {
15548 this.hideMessage();
15549 }.bind(this), this.options.messages_hide_delay);
15550 }
15551 if(showOverlay) {
15552 this.showOverlay();
15553 }
15554 };
15555
15556 this.hideMessage = function(keepOverlay) {
15557 var keepOverlay = keepOverlay || false;
15558
15559 // check for opened add site wrapper
15560 if($(".add_new_website_popup_wrapper").length) {
15561 if($(".add_new_website_popup_wrapper").hasClass('ssvisible')) {
15562 keepOverlay = true;
15563 }
15564 }
15565
15566 if(!keepOverlay) {
15567 this.hideOverlay();
15568 }
15569
15570 $('.ss_message_container').removeClass('ss_visible');
15571 setTimeout(function() {
15572 $('.ss_message_container').removeClass('ssvis');
15573 }, 200);
15574 };
15575
15576 this.showLoading = function() {
15577
15578 $('#ss_page_loading').addClass('ss_visible');
15579 };
15580
15581 this.hideLoading = function() {
15582
15583 $('#ss_page_loading').removeClass('ss_visible');
15584 };
15585
15586 this.showOverlay = function() {
15587
15588 if($('.ss_body_overlay').hasClass('ss_visible')) {
15589 return;
15590 }
15591
15592 $('.ss_body_overlay').addClass('ssvis');
15593
15594 setTimeout(function() {
15595 $('.ss_body_overlay').addClass('ss_visible');
15596 $('.ss_body_overlay').removeClass('ssvis');
15597 },20);
15598 };
15599
15600 this.hideOverlay = function() {
15601 if($('.ss_body_overlay').hasClass('ss_visible')) {
15602
15603 $('.ss_body_overlay').addClass('ssvis');
15604 $('.ss_body_overlay').removeClass('ss_visible');
15605
15606 setTimeout(function() {
15607 $('.ss_body_overlay').removeClass('ssvis');
15608 },300);
15609 }
15610 };
15611
15612 this.comfirmFunction = function() {
15613
15614 this.options.callback_function(this.options.callback_id);
15615 };
15616
15617 this.applyMessagesEvents = function() {
15618
15619 $("body").on("click",'.ss_message_close', function(e) {
15620 this.hideMessage();
15621 }.bind(this));
15622
15623 $('body').on('click', '.ss-comfirm-button-1', function() {
15624 this.hideMessage();
15625 }.bind(this));
15626
15627 $('body').on('click', '.ss-comfirm-button-2', function() {
15628 this.comfirmFunction();
15629 }.bind(this));
15630
15631 $("body").on("mouseenter", '.ss_message_container', function() {
15632 var keepOpened = $('.ss_message_container').data('keep_opened');
15633 if(!keepOpened) {
15634 clearTimeout(this.timeouts.message_timeout);
15635 }
15636 }.bind(this));
15637
15638 $("body").on("mouseleave", '.ss_message_container', function() {
15639 var keepOpened = $('.ss_message_container').data('keep_opened');
15640 if(!keepOpened) {
15641 this.timeouts.message_timeout = setTimeout(function() {
15642 this.hideMessage();
15643 }.bind(this), this.options.messages_hide_delay);
15644 }
15645 }.bind(this));
15646 };
15647
15648 this.createRequiredHtml();
15649
15650 this.applyMessagesEvents();
15651 };
15652
15653 this.escapeHTML = function(unsafe) {
15654
15655 unsafe = unsafe.replace(/[\"\'\<\>]/g, '', unsafe);
15656
15657 return unsafe;
15658
15659 // return unsafe.replace(
15660 // /[\u0000-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u00FF]/g,
15661 // c => '&#' + ('000' + c.charCodeAt(0)).slice(-4) + ';'
15662 // )
15663 };
15664
15665 this.applyCookies = function() {
15666
15667 this.setCookie = function(key, value, expiry) {
15668
15669 var cookie_val = key + '=' + value + ';path=/';
15670 if(expiry != -1) {
15671 var expires = new Date();
15672 expires.setTime(expires.getTime() + (expiry * 60 * 60 * 1000)); // in hours
15673 cookie_val += ';expires=' + expires.toUTCString();
15674 }
15675 document.cookie = cookie_val;
15676 };
15677
15678 this.getCookie = function(key) {
15679 var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
15680 return keyValue ? keyValue[2] : null;
15681 };
15682
15683 this.eraseCookie = function(key) {
15684 var keyValue = this.getCookie(key);
15685 this.setCookie(key, keyValue, '-2');
15686 };
15687 };
15688
15689 // generate wrapper height
15690 this.setWrapperHeight = function() {
15691
15692 // $('.gspeech-wrapper').css({'height': 'auto'});
15693
15694 // var footer_height = $(".gspeech_footer").height();
15695 // var wrapper_height = $('html').height() - footer_height;
15696 // var wrapper_min_height = 450;
15697 // wrapper_height = wrapper_height < wrapper_min_height ? wrapper_min_height : wrapper_height;
15698
15699 // $('.gspeech-wrapper').css({
15700 // 'height': wrapper_height
15701 // }
15702 // );
15703
15704 $('.gsp_dashboard_wrapper').height('auto');
15705
15706 var wrapper_height = parseInt($('html').height());
15707 var p_wrapper_height = parseInt($('.gsp_dashboard_wrapper').height());
15708 var wrapper_height_calc = wrapper_height - 108;
15709 var p_wrapper_height_calc = p_wrapper_height + 108;
15710
15711 if(p_wrapper_height_calc < wrapper_height) {
15712
15713 $('.gsp_dashboard_wrapper').height(wrapper_height_calc);
15714 }
15715 };
15716
15717 this.generateWrapperHeight = function() {
15718
15719 thisPage.setWrapperHeight();
15720 setTimeout(function() {
15721 thisPage.setWrapperHeight();
15722 }, 200);
15723 setTimeout(function() {
15724 thisPage.setWrapperHeight();
15725 }, 800);
15726 setTimeout(function() {
15727 thisPage.setWrapperHeight();
15728 }, 2000);
15729 };
15730
15731 this.generateWrapperHeight();
15732
15733 $(window).resize(function() {
15734 thisPage.setWrapperHeight();
15735 });
15736
15737 this.applyOldPlugin = function() {
15738
15739 $("#wpgs_accordion").accordion({
15740 collapsible: true,
15741 heightStyle: "content"
15742 });
15743 $("#wpgs_tabs").tabs();
15744
15745 $('.speaker_type_select').change(function() {
15746 var roll = $(this).attr("roll");
15747 var val = $(this).val();
15748
15749 var size_ident = $('input[name="wpgs_settings\\[speaker_size_' + roll + '\\]"]:checked').val();
15750 $("#sound_container_" + roll).attr("class","").addClass("sound_container_pro gspeech_slider_pro").addClass(val).addClass("size_" + size_ident);
15751 $("#sound_container_" + roll + '_hover').attr("class","").addClass("sound_container_pro hovered gspeech_slider_pro_hovered").addClass(val).addClass("size_" + size_ident);
15752 });
15753
15754 $('.speaker_size_radio').change(function() {
15755 var roll = $(this).attr("roll");
15756 var val = $(this).val();
15757
15758 speaker_type = $('select[name="wpgs_settings\\[speaker_type_' + roll + '\\]"]').val();
15759 $("#sound_container_" + roll).attr("class","").addClass("sound_container_pro gspeech_slider_pro").addClass(speaker_type).addClass("size_" + val);
15760 $("#sound_container_" + roll + '_hover').attr("class","").addClass("sound_container_pro hovered gspeech_slider_pro_hovered").addClass(speaker_type).addClass("size_" + val);
15761 });
15762
15763 $('.next_speaker').click(function() {
15764 var select = $(this).parent('div').prev('select');
15765 var val = select.val();
15766 var int_val_array = val.split('_');
15767 var int_val = int_val_array[1];
15768 var new_val = int_val == 40 ? 1 : int_val*1 + 1*1;
15769 var new_val_selected = 'speaker_' + new_val;
15770 select.val(new_val_selected);
15771 select.trigger("change");
15772 });
15773 $('.prev_speaker').click(function() {
15774 var select = $(this).parent('div').prev('select');
15775 var val = select.val();
15776 var int_val_array = val.split('_');
15777 var int_val = int_val_array[1];
15778 var new_val = int_val == 1 ? 40 : int_val*1 - 1*1;
15779 var new_val_selected = 'speaker_' + new_val;
15780 select.val(new_val_selected);
15781 select.trigger("change");
15782 });
15783
15784 $('.tooltip_select').change(function() {
15785 var val = $(this).val();
15786
15787 var new_class = 'the-tooltip top left ' + val;
15788 var $tooltip = $(this).parents('.ui-accordion-content').find('.the-tooltip');
15789 $tooltip.attr("class",new_class);
15790 });
15791
15792 $('.next_tooltip').click(function() {
15793 var select = $(this).parent('div').prev('select');
15794 var val = select.val();
15795 var next_elem = select.children('option:selected').next().val();
15796 if(typeof next_elem === 'undefined')
15797 next_elem = select.children('option:first').val();
15798 select.val(next_elem);
15799 select.trigger("change");
15800 });
15801 $('.prev_tooltip').click(function() {
15802 var select = $(this).parent('div').prev('select');
15803 var val = select.val();
15804 var prev_elem = select.children('option:selected').prev().val();
15805 if(typeof prev_elem === 'undefined') {
15806 prev_elem = select.children('option:last').val();
15807 }
15808 select.val(prev_elem);
15809 select.trigger("change");
15810 });
15811
15812 var active_element;
15813 $('.colorSelector').click(function() {
15814 active_element = $(this).parent('.selector_wrapper');
15815 })
15816
15817 $('.colorSelector').ColorPicker({
15818 onBeforeShow: function () {
15819 $color = active_element.find('input').val();
15820 $(this).ColorPickerSetColor($color);
15821 },
15822 onShow: function (colpkr) {
15823 $(colpkr).fadeIn(500);
15824 return false;
15825 },
15826 onHide: function (colpkr) {
15827 $(colpkr).fadeOut(500);
15828 return false;
15829 },
15830 onChange: function (hsb, hex, rgb) {
15831 active_element.children('div').children('div').css('backgroundColor', '#' + hex);
15832 active_element.find('input').val('#' + hex);
15833 roll = active_element.find('input').attr('roll');
15834
15835 if(roll == 2) {
15836 var elem = active_element.parent('div').parent('div').find('.animate_item_passive');
15837 elem.css('backgroundColor' , '#' + hex);
15838 }
15839 else if(roll == 3) {
15840 var elem = active_element.parent('div').parent('div').find('.animate_item_passive');
15841 elem.css('color' , '#' + hex);
15842 }
15843 else if(roll == 4) {
15844 var elem = active_element.parent('div').parent('div').find('.animate_item_active');
15845 elem.css('backgroundColor' , '#' + hex);
15846 }
15847 else if(roll == 5) {
15848 var elem = active_element.parent('div').parent('div').find('.animate_item_active');
15849 elem.css('color' , '#' + hex);
15850 }
15851 }
15852 });
15853
15854 $('.slider_select_1').change(function() {
15855 var val = $(this).val() / 100;
15856 var elem = $(this).parent('div').parent('div').find('.gspeech_slider_pro');
15857 elem.css('opacity',val);
15858 });
15859 $('.slider_select_2').change(function() {
15860 var val = $(this).val() / 100;
15861 var elem = $(this).parent('div').parent('div').find('.gspeech_slider_pro_hovered');
15862 elem.css('opacity',val);
15863 });
15864
15865 //sliders
15866 //slider style1/////////////////////////////////////////////////////////////////////////////////////////////////////////////
15867 var select11 = $( "#slider_select11" );
15868 var place11 = select11.next('label');
15869 var slider11 = $( "<div id='slider_11' class='wpgs_slider'></div>" ).insertAfter( place11 ).slider({
15870 min: 1,
15871 max: 10,
15872 range: "min",
15873 value: select11[ 0 ].selectedIndex + 1,
15874 slide: function( event, ui ) {
15875 select11[ 0 ].selectedIndex = ui.value - 1;
15876 select11.trigger("change");
15877 }
15878 });
15879 $( "#slider_select11" ).change(function() {
15880 slider11.slider( "value", this.selectedIndex + 1 );
15881 });
15882
15883 var select12 = $( "#slider_select12" );
15884 var place12 = select12.next('label');
15885 var slider12 = $( "<div id='slider_12' class='wpgs_slider'></div>" ).insertAfter( place12 ).slider({
15886 min: 1,
15887 max: 10,
15888 range: "min",
15889 value: select12[ 0 ].selectedIndex + 1,
15890 slide: function( event, ui ) {
15891 select12[ 0 ].selectedIndex = ui.value - 1;
15892 select12.trigger("change");
15893 }
15894 });
15895 $( "#slider_select12" ).change(function() {
15896 slider12.slider( "value", this.selectedIndex + 1 );
15897 });
15898
15899 var select13 = $( "#slider_select13" );
15900 var place13 = select13.next('label');
15901 var slider13 = $( "<div id='slider_13' class='wpgs_slider'></div>" ).insertAfter( place13 ).slider({
15902 min: 1,
15903 max: 13,
15904 range: "min",
15905 value: select13[ 0 ].selectedIndex + 1,
15906 slide: function( event, ui ) {
15907 select13[ 0 ].selectedIndex = ui.value - 1;
15908 }
15909 });
15910 $( "#slider_select13" ).change(function() {
15911 slider13.slider( "value", this.selectedIndex + 1 );
15912 });
15913 //slider style2/////////////////////////////////////////////////////////////////////////////////////////////////////////////
15914 var select21 = $( "#slider_select21" );
15915 var place21 = select21.next('label');
15916 var slider21 = $( "<div id='slider_22' class='wpgs_slider'></div>" ).insertAfter( place21 ).slider({
15917 min: 1,
15918 max: 10,
15919 range: "min",
15920 value: select21[ 0 ].selectedIndex + 1,
15921 slide: function( event, ui ) {
15922 select21[ 0 ].selectedIndex = ui.value - 1;
15923 select21.trigger("change");
15924 }
15925 });
15926 $( "#slider_select21" ).change(function() {
15927 slider21.slider( "value", this.selectedIndex + 1 );
15928 });
15929
15930 var select22 = $( "#slider_select22" );
15931 var place22 = select22.next('label');
15932 var slider22 = $( "<div id='slider_22' class='wpgs_slider'></div>" ).insertAfter( place22 ).slider({
15933 min: 1,
15934 max: 10,
15935 range: "min",
15936 value: select22[ 0 ].selectedIndex + 1,
15937 slide: function( event, ui ) {
15938 select22[ 0 ].selectedIndex = ui.value - 1;
15939 select22.trigger("change");
15940 }
15941 });
15942 $( "#slider_select22" ).change(function() {
15943 slider22.slider( "value", this.selectedIndex + 1 );
15944 });
15945
15946 var select23 = $( "#slider_select23" );
15947 var place23 = select23.next('label');
15948 var slider23 = $( "<div id='slider_23' class='wpgs_slider'></div>" ).insertAfter( place23 ).slider({
15949 min: 1,
15950 max: 13,
15951 range: "min",
15952 value: select23[ 0 ].selectedIndex + 1,
15953 slide: function( event, ui ) {
15954 select23[ 0 ].selectedIndex = ui.value - 1;
15955 }
15956 });
15957 $( "#slider_select23" ).change(function() {
15958 slider23.slider( "value", this.selectedIndex + 1 );
15959 });
15960 //slider style3/////////////////////////////////////////////////////////////////////////////////////////////////////////////
15961 var select31 = $( "#slider_select31" );
15962 var place31 = select31.next('label');
15963 var slider31 = $( "<div id='slider_31' class='wpgs_slider'></div>" ).insertAfter( place31 ).slider({
15964 min: 1,
15965 max: 10,
15966 range: "min",
15967 value: select31[ 0 ].selectedIndex + 1,
15968 slide: function( event, ui ) {
15969 select31[ 0 ].selectedIndex = ui.value - 1;
15970 select31.trigger("change");
15971 }
15972 });
15973 $( "#slider_select31" ).change(function() {
15974 slider31.slider( "value", this.selectedIndex + 1 );
15975 });
15976
15977 var select32 = $( "#slider_select32" );
15978 var place32 = select32.next('label');
15979 var slider32 = $( "<div id='slider_32' class='wpgs_slider'></div>" ).insertAfter( place32 ).slider({
15980 min: 1,
15981 max: 10,
15982 range: "min",
15983 value: select32[ 0 ].selectedIndex + 1,
15984 slide: function( event, ui ) {
15985 select32[ 0 ].selectedIndex = ui.value - 1;
15986 select32.trigger("change");
15987 }
15988 });
15989 $( "#slider_select32" ).change(function() {
15990 slider32.slider( "value", this.selectedIndex + 1 );
15991 });
15992
15993 var select33 = $( "#slider_select33" );
15994 var place33 = select33.next('label');
15995 var slider33 = $( "<div id='slider_33' class='wpgs_slider'></div>" ).insertAfter( place33 ).slider({
15996 min: 1,
15997 max: 13,
15998 range: "min",
15999 value: select33[ 0 ].selectedIndex + 1,
16000 slide: function( event, ui ) {
16001 select33[ 0 ].selectedIndex = ui.value - 1;
16002 }
16003 });
16004 $( "#slider_select33" ).change(function() {
16005 slider33.slider( "value", this.selectedIndex + 1 );
16006 });
16007 //slider style4/////////////////////////////////////////////////////////////////////////////////////////////////////////////
16008 var select41 = $( "#slider_select41" );
16009 var place41 = select41.next('label');
16010 var slider41 = $( "<div id='slider_41' class='wpgs_slider'></div>" ).insertAfter( place41 ).slider({
16011 min: 1,
16012 max: 10,
16013 range: "min",
16014 value: select41[ 0 ].selectedIndex + 1,
16015 slide: function( event, ui ) {
16016 select41[ 0 ].selectedIndex = ui.value - 1;
16017 select41.trigger("change");
16018 }
16019 });
16020 $( "#slider_select41" ).change(function() {
16021 slider41.slider( "value", this.selectedIndex + 1 );
16022 });
16023
16024 var select42 = $( "#slider_select42" );
16025 var place42 = select42.next('label');
16026 var slider42 = $( "<div id='slider_42' class='wpgs_slider'></div>" ).insertAfter( place42 ).slider({
16027 min: 1,
16028 max: 10,
16029 range: "min",
16030 value: select42[ 0 ].selectedIndex + 1,
16031 slide: function( event, ui ) {
16032 select42[ 0 ].selectedIndex = ui.value - 1;
16033 select42.trigger("change");
16034 }
16035 });
16036 $( "#slider_select42" ).change(function() {
16037 slider42.slider( "value", this.selectedIndex + 1 );
16038 });
16039
16040 var select43 = $( "#slider_select43" );
16041 var place43 = select43.next('label');
16042 var slider43 = $( "<div id='slider_43' class='wpgs_slider'></div>" ).insertAfter( place43 ).slider({
16043 min: 1,
16044 max: 13,
16045 range: "min",
16046 value: select43[ 0 ].selectedIndex + 1,
16047 slide: function( event, ui ) {
16048 select43[ 0 ].selectedIndex = ui.value - 1;
16049 }
16050 });
16051 $( "#slider_select43" ).change(function() {
16052 slider43.slider( "value", this.selectedIndex + 1 );
16053 });
16054 //slider style5/////////////////////////////////////////////////////////////////////////////////////////////////////////////
16055 var select51 = $( "#slider_select51" );
16056 var place51 = select51.next('label');
16057 var slider51 = $( "<div id='slider_51' class='wpgs_slider'></div>" ).insertAfter( place51 ).slider({
16058 min: 1,
16059 max: 10,
16060 range: "min",
16061 value: select51[ 0 ].selectedIndex + 1,
16062 slide: function( event, ui ) {
16063 select51[ 0 ].selectedIndex = ui.value - 1;
16064 select51.trigger("change");
16065 }
16066 });
16067 $( "#slider_select51" ).change(function() {
16068 slider51.slider( "value", this.selectedIndex + 1 );
16069 });
16070
16071 var select52 = $( "#slider_select52" );
16072 var place52 = select52.next('label');
16073 var slider52 = $( "<div id='slider_52' class='wpgs_slider'></div>" ).insertAfter( place52 ).slider({
16074 min: 1,
16075 max: 10,
16076 range: "min",
16077 value: select52[ 0 ].selectedIndex + 1,
16078 slide: function( event, ui ) {
16079 select52[ 0 ].selectedIndex = ui.value - 1;
16080 select52.trigger("change");
16081 }
16082 });
16083 $( "#slider_select52" ).change(function() {
16084 slider52.slider( "value", this.selectedIndex + 1 );
16085 });
16086
16087 var select53 = $( "#slider_select53" );
16088 var place53 = select53.next('label');
16089 var slider53 = $( "<div id='slider_53' class='wpgs_slider'></div>" ).insertAfter( place53 ).slider({
16090 min: 1,
16091 max: 13,
16092 range: "min",
16093 value: select53[ 0 ].selectedIndex + 1,
16094 slide: function( event, ui ) {
16095 select53[ 0 ].selectedIndex = ui.value - 1;
16096 }
16097 });
16098 $( "#slider_select53" ).change(function() {
16099 slider53.slider( "value", this.selectedIndex + 1 );
16100 });
16101 };
16102
16103 this.applySliderFunctionality = function(parent_selector, callback_function) {
16104
16105 var $parent = this;
16106
16107 var click_event = $parent.is_touch_devise ? 'touchstart' : 'click',
16108 mousedown_event = $parent.is_touch_devise ? 'touchstart' : 'mousedown',
16109 mouseenter_event = $parent.is_touch_devise ? 'touchstart' : 'mouseenter',
16110 mouseup_event = $parent.is_touch_devise ? 'touchend' : 'mouseup',
16111 mousemove_event = $parent.is_touch_devise ? 'touchmove' : 'mousemove';
16112
16113 $(parent_selector + ' .gsp_slider_wrapper').each(function() {
16114
16115 var $gsp_slider_wrapper = $(this);
16116 var $gsp_value_label = $gsp_slider_wrapper.parent('div').find('.gsp_value_label');
16117 var $gsp_reset_icon = $gsp_slider_wrapper.parent('div').find('.gsp_label_reset_icon');
16118
16119 // set volume
16120 $gsp_slider_wrapper.data('value', '0');
16121
16122 $gsp_slider_wrapper.find('.gsp_slider_bar_button').on(mousedown_event, function() {
16123
16124 var v = $gsp_slider_wrapper.data('value');
16125
16126 $gsp_slider_wrapper.find(".gsp_slider_bar").addClass('gsp_slide_enabled');
16127 $(this).addClass('gsp_slider_z_index_low');
16128
16129 $gsp_slider_wrapper.find(".gsp_slider_bar_active").addClass('gsp_transition_none');
16130 });
16131
16132 $("body").on(mouseup_event, function() {
16133
16134 $gsp_slider_wrapper.find(".gsp_slider_bar").removeClass('gsp_slide_enabled');
16135 $gsp_slider_wrapper.find('.gsp_slider_bar_button').removeClass('gsp_slider_z_index_low');
16136
16137 $gsp_slider_wrapper.find(".gsp_slider_bar_active").removeClass('gsp_transition_none');
16138 });
16139
16140 $gsp_slider_wrapper.find('.gsp_slider_bar_percents').on(mousedown_event, function(e) {
16141
16142 var w = $(this).width(),
16143 posX1 = $(this).offset().left,
16144 // pageX = e.pageX,
16145 pageX = $parent.is_touch_devise ? e.touches[0].pageX : e.pageX,
16146 qq = Math.abs(posX1 - pageX),
16147 // tt = w - qq,
16148 tt = qq,
16149 percent = parseInt((100*tt)/w);
16150
16151 // validation
16152 var bar_start = parseInt($gsp_slider_wrapper.data('bar_start'));
16153 var bar_end = parseInt($gsp_slider_wrapper.data('bar_end'));
16154 var bar_module = bar_end - bar_start;
16155 var bar_limit_start = parseFloat($gsp_slider_wrapper.data('bar_limit_start'));
16156 bar_limit_start = isNaN(bar_limit_start) ? 0 : bar_limit_start;
16157 var bar_limit_end = parseFloat($gsp_slider_wrapper.data('bar_limit_end'));
16158 bar_limit_end = isNaN(bar_limit_end) ? 0 : bar_limit_end;
16159
16160 var cur_size = parseFloat(bar_module*percent/100);
16161
16162 if(bar_start < 0) {
16163 cur_size = cur_size - bar_end;
16164 }
16165 var bar_limit_condition = (bar_start < 0 && bar_limit_start >= 0) ? false : true;
16166 if(cur_size < bar_limit_start && bar_limit_condition) {
16167 var new_val = bar_limit_start;
16168 if(bar_start < 0) {
16169 new_val = new_val - bar_start;
16170 }
16171 var new_perc = parseFloat(new_val * 100 / bar_module);
16172 percent = new_perc;
16173 }
16174 // todo: add bar_limit_end check
16175
16176 $gsp_slider_wrapper.find(".gsp_slider_bar_active").css('width', percent + '%');
16177
16178 // set value
16179 $gsp_slider_wrapper.data('value', percent);
16180
16181 updateValueLabel();
16182
16183 // enable move
16184 $gsp_slider_wrapper.find(".gsp_slider_bar").addClass('gsp_slide_enabled');
16185 $gsp_slider_wrapper.find('.gsp_slider_bar_button').addClass('gsp_slider_z_index_low');
16186 setTimeout(function() {
16187
16188 }, 400);
16189 });
16190
16191 // $gsp_slider_wrapper.find('.gsp_slider_bar_percents').on('mousemove', function(e) {
16192 $("body").on(mousemove_event, function(e) {
16193
16194 if(!$gsp_slider_wrapper.find(".gsp_slider_bar").hasClass('gsp_slide_enabled')) {
16195 return;
16196 }
16197
16198 $gsp_slider_wrapper.find(".gsp_slider_bar_active").addClass('gsp_transition_none');
16199
16200 var w = $gsp_slider_wrapper.find(".gsp_slider_bar_percents").width(),
16201 posX1 = $gsp_slider_wrapper.find(".gsp_slider_bar_percents").offset().left,
16202 // pageX = e.pageX,
16203 pageX = $parent.is_touch_devise ? e.touches[0].pageX : e.pageX,
16204 qq = pageX - posX1,
16205 // tt = w - qq,
16206 tt = qq,
16207 percent = parseInt((100*tt)/w);
16208
16209 percent = percent < 0 ? 0 : percent;
16210 percent = percent > 100 ? 100 : percent;
16211
16212 setTimeout(function() {
16213
16214 // validation
16215 var bar_start = parseInt($gsp_slider_wrapper.data('bar_start'));
16216 var bar_end = parseInt($gsp_slider_wrapper.data('bar_end'));
16217 var bar_module = bar_end - bar_start;
16218 var bar_limit_start = parseFloat($gsp_slider_wrapper.data('bar_limit_start'));
16219 bar_limit_start = isNaN(bar_limit_start) ? 0 : bar_limit_start;
16220 var bar_limit_end = parseFloat($gsp_slider_wrapper.data('bar_limit_end'));
16221 bar_limit_end = isNaN(bar_limit_end) ? bar_end : bar_limit_end;
16222
16223 var cur_size = parseFloat(bar_module*percent/100);
16224
16225 if(bar_start < 0) {
16226 cur_size = cur_size - bar_end;
16227 }
16228 var bar_limit_condition = (bar_start < 0 && bar_limit_start >= 0) ? false : true;
16229
16230 if(cur_size < bar_limit_start && bar_limit_condition) {
16231
16232 var new_val = bar_limit_start;
16233 if(bar_start < 0) {
16234 new_val = new_val - bar_start;
16235 }
16236 var new_perc = parseFloat(new_val * 100 / bar_module);
16237 percent = new_perc;
16238 }
16239
16240 // todo: add bar_limit_end check
16241
16242 $gsp_slider_wrapper.find(".gsp_slider_bar_active").css('width', percent + '%');
16243
16244 // set value
16245 $gsp_slider_wrapper.data('value', percent);
16246
16247 updateValueLabel();
16248
16249 }.bind(this), 0);
16250
16251 });
16252
16253 // initital values
16254 setTimeout(function() {
16255
16256 var bar_start = parseFloat($gsp_slider_wrapper.data('bar_start'));
16257 var bar_end = parseFloat($gsp_slider_wrapper.data('bar_end'));
16258 var start_value = parseFloat($gsp_slider_wrapper.data('start_value'));
16259
16260 var bar_module = bar_end - bar_start;
16261
16262 var start_value_size = start_value - bar_start;
16263 var current_percent = parseFloat((start_value_size * 100 ) / bar_module);
16264
16265 var current_size_label = parseFloat((bar_module * current_percent) / 100);
16266
16267 if(bar_start < 0) {
16268 current_size_label = current_size_label + bar_start;
16269 }
16270 else {
16271 current_size_label = current_size_label - bar_start;
16272 }
16273
16274 current_size_label = current_size_label.toFixed(2);
16275
16276 $gsp_slider_wrapper.data('value', current_percent);
16277 $gsp_slider_wrapper.data('bar_module', bar_module);
16278 $gsp_slider_wrapper.find(".gsp_slider_bar_active").css('width', current_percent + '%');
16279
16280 $gsp_slider_wrapper.parent('div').find(".gsp_value_label").val(current_size_label);
16281 }, 200);
16282
16283 function updateValueLabel() {
16284
16285 var value = parseFloat($gsp_slider_wrapper.data('value'));
16286 var bar_module = parseFloat($gsp_slider_wrapper.data('bar_module'));
16287
16288 var v_size = parseFloat(bar_module * value / 100);
16289
16290 var bar_start = parseInt($gsp_slider_wrapper.data('bar_start'));
16291 var bar_end = parseInt($gsp_slider_wrapper.data('bar_end'));
16292
16293 if(bar_start < 0) {
16294 v_size = v_size - bar_end;
16295 }
16296
16297 v_size = v_size.toFixed(2);
16298 $gsp_slider_wrapper.parent('div').find(".gsp_value_label").addClass('gsp_slider_label_active');
16299 $gsp_slider_wrapper.parent('div').find(".gsp_value_label").val(v_size);
16300
16301 setTimeout(function() {
16302 $gsp_slider_wrapper.parent('div').find(".gsp_value_label").removeClass('gsp_slider_label_active');
16303 }, 400);
16304
16305 var start_value = parseFloat($gsp_slider_wrapper.data('start_value'));
16306 start_value = start_value.toFixed(2);
16307 if(v_size != start_value) {
16308 $gsp_reset_icon.removeClass('gsp_reset_disabled');
16309 }
16310 else {
16311 $gsp_reset_icon.addClass('gsp_reset_disabled');
16312 }
16313
16314 applyBarCallback();
16315 };
16316
16317 $gsp_value_label.on('keyup', function(e) {
16318
16319 var key = e.key;
16320 if(key == 'Enter') {
16321 updateBarSizeViaLabel();
16322 }
16323 });
16324
16325 $gsp_value_label.on('blur', function(e) {
16326 updateBarSizeViaLabel();
16327 });
16328
16329 $gsp_reset_icon.on(click_event, function(e) {
16330
16331 if($(this).hasClass('gsp_reset_disabled')) {
16332 $parent.shake($(this), {'shakes': 2,'distance': 2,'duration':150});
16333
16334 return;
16335 }
16336
16337 var start_value = parseFloat($gsp_slider_wrapper.data('start_value'));
16338 var val = start_value.toFixed(2);
16339 $gsp_value_label.val(val);
16340
16341 updateBarSizeViaLabel();
16342 });
16343
16344 function updateBarSizeViaLabel() {
16345
16346 var val_init = $gsp_value_label.val();
16347 var val = parseFloat(val_init);
16348 val = isNaN(val) ? 0 : val;
16349
16350 // validation
16351 var bar_start = parseInt($gsp_slider_wrapper.data('bar_start'));
16352 var bar_end = parseInt($gsp_slider_wrapper.data('bar_end'));
16353 var bar_module = bar_end - bar_start;
16354 var bar_limit_start = parseFloat($gsp_slider_wrapper.data('bar_limit_start'));
16355 bar_limit_start = isNaN(bar_limit_start) ? 0 : bar_limit_start;
16356 var bar_limit_end = parseFloat($gsp_slider_wrapper.data('bar_limit_end'));
16357 bar_limit_end = isNaN(bar_limit_end) ? 0 : bar_limit_end;
16358
16359 // check for strat
16360 if(val < bar_start) {
16361 val = bar_start;
16362 }
16363 if(val > bar_end) {
16364 val = bar_end;
16365 }
16366
16367 var bar_limit_condition = (bar_start < 0 && bar_limit_start >= 0) ? false : true;
16368 if(val < bar_limit_start && bar_limit_condition) {
16369 val = bar_limit_start;
16370 }
16371 // todo: add bar_limit_end check
16372
16373 val = val.toFixed(2);
16374
16375 $gsp_value_label.val(val);
16376
16377 var start_value_size = val - bar_start;
16378 var current_percent = parseFloat((start_value_size * 100 ) / bar_module);
16379
16380 $gsp_slider_wrapper.find(".gsp_slider_bar_active").css('width', current_percent + '%');
16381
16382 $gsp_slider_wrapper.data('value', current_percent);
16383
16384 var start_value = parseFloat($gsp_slider_wrapper.data('start_value'));
16385 start_value = start_value.toFixed(2);
16386 if(val != start_value) {
16387 $gsp_reset_icon.removeClass('gsp_reset_disabled');
16388 }
16389 else {
16390 $gsp_reset_icon.addClass('gsp_reset_disabled');
16391 }
16392
16393 applyBarCallback();
16394 };
16395
16396 function applyBarCallback() {
16397
16398 callback_function();
16399 };
16400 });
16401
16402 // disable drag
16403 $('.gsp_slider_wrapper').on('dragstart', function () {
16404 return false;
16405 });
16406 };
16407
16408 this.init();
16409 };
16410
16411
16412 $(document).ready(function() {
16413
16414 // gspeech 3.x
16415 var gsp_options = {};
16416 window.gspeechDash = new gspeechDash(gsp_options);
16417
16418 });
16419 })(jQuery);