Plugin Directory

Changeset 2301256


Ignore:
Timestamp:
05/08/2020 08:40:33 PM (6 years ago)
Author:
mspanwa2
Message:

Upgrade V2.1.1
Removed Go-Pro banner, added warning for none chrome users, minor improvements

Location:
universal-voice-search
Files:
94 added
16 edited

Legend:

Unmodified
Added
Removed
  • universal-voice-search/trunk/classes/languages/languages.php

    r2289691 r2301256  
    3737            ),
    3838            self::WIDGET_MESSAGES => array(
    39                 self::PLACEHOLDER => "اكتب استعلام"
     39                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    4040            ),
    4141            self::ERRORS => array(
     
    5353            ),
    5454            self::WIDGET_MESSAGES => array(
    55                 self::PLACEHOLDER => "اكتب استعلام"
     55                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    5656            ),
    5757            self::ERRORS => array(
     
    6969            ),
    7070            self::WIDGET_MESSAGES => array(
    71                 self::PLACEHOLDER => "اكتب استعلام"
     71                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    7272            ),
    7373            self::ERRORS => array(
     
    8585            ),
    8686            self::WIDGET_MESSAGES => array(
    87                 self::PLACEHOLDER => "اكتب استعلام"
     87                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    8888            ),
    8989            self::ERRORS => array(
     
    101101            ),
    102102            self::WIDGET_MESSAGES => array(
    103                 self::PLACEHOLDER => "اكتب استعلام"
     103                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    104104            ),
    105105            self::ERRORS => array(
     
    117117            ),
    118118            self::WIDGET_MESSAGES => array(
    119                 self::PLACEHOLDER => "اكتب استعلام"
     119                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    120120            ),
    121121            self::ERRORS => array(
     
    133133            ),
    134134            self::WIDGET_MESSAGES => array(
    135                 self::PLACEHOLDER => "اكتب استعلام"
     135                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    136136            ),
    137137            self::ERRORS => array(
     
    149149            ),
    150150            self::WIDGET_MESSAGES => array(
    151                 self::PLACEHOLDER => "اكتب استعلام"
     151                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    152152            ),
    153153            self::ERRORS => array(
     
    165165            ),
    166166            self::WIDGET_MESSAGES => array(
    167                 self::PLACEHOLDER => "اكتب استعلام"
     167                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    168168            ),
    169169            self::ERRORS => array(
     
    181181            ),
    182182            self::WIDGET_MESSAGES => array(
    183                 self::PLACEHOLDER => "اكتب استعلام"
     183                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    184184            ),
    185185            self::ERRORS => array(
     
    197197            ),
    198198            self::WIDGET_MESSAGES => array(
    199                 self::PLACEHOLDER => "اكتب استعلام"
     199                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    200200            ),
    201201            self::ERRORS => array(
     
    213213            ),
    214214            self::WIDGET_MESSAGES => array(
    215                 self::PLACEHOLDER => "اكتب استعلام"
     215                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    216216            ),
    217217            self::ERRORS => array(
     
    229229            ),
    230230            self::WIDGET_MESSAGES => array(
    231                 self::PLACEHOLDER => "اكتب استعلام"
     231                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    232232            ),
    233233            self::ERRORS => array(
     
    245245            ),
    246246            self::WIDGET_MESSAGES => array(
    247                 self::PLACEHOLDER => "اكتب استعلام"
     247                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    248248            ),
    249249            self::ERRORS => array(
     
    261261            ),
    262262            self::WIDGET_MESSAGES => array(
    263                 self::PLACEHOLDER => "اكتب استعلام"
     263                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    264264            ),
    265265            self::ERRORS => array(
     
    277277            ),
    278278            self::WIDGET_MESSAGES => array(
    279                 self::PLACEHOLDER => "اكتب استعلام"
     279                self::PLACEHOLDER => "أو اكتب الاستعلام الخاص بك"
    280280            ),
    281281            self::ERRORS => array(
     
    293293            ),
    294294            self::WIDGET_MESSAGES => array(
    295                 self::PLACEHOLDER => "Geben Sie eine Abfrage ein"
     295                self::PLACEHOLDER => "oder geben Sie Ihre Anfrage ein"
    296296            ),
    297297            self::ERRORS => array(
     
    309309            ),
    310310            self::WIDGET_MESSAGES => array(
    311                 self::PLACEHOLDER => "Type a query"
     311                self::PLACEHOLDER => "or type your query"
    312312            ),
    313313            self::ERRORS => array(
     
    325325            ),
    326326            self::WIDGET_MESSAGES => array(
    327                 self::PLACEHOLDER => "Type a query"
     327                self::PLACEHOLDER => "or type your query"
    328328            ),
    329329            self::ERRORS => array(
     
    341341            ),
    342342            self::WIDGET_MESSAGES => array(
    343                 self::PLACEHOLDER => "Type a query"
     343                self::PLACEHOLDER => "or type your query"
    344344            ),
    345345            self::ERRORS => array(
     
    357357            ),
    358358            self::WIDGET_MESSAGES => array(
    359                 self::PLACEHOLDER => "Type a query"
     359                self::PLACEHOLDER => "or type your query"
    360360            ),
    361361            self::ERRORS => array(
     
    373373            ),
    374374            self::WIDGET_MESSAGES => array(
    375                 self::PLACEHOLDER => "Type a query"
     375                self::PLACEHOLDER => "or type your query"
    376376            ),
    377377            self::ERRORS => array(
     
    389389            ),
    390390            self::WIDGET_MESSAGES => array(
    391                 self::PLACEHOLDER => "Type a query"
     391                self::PLACEHOLDER => "or type your query"
    392392            ),
    393393            self::ERRORS => array(
     
    405405            ),
    406406            self::WIDGET_MESSAGES => array(
    407                 self::PLACEHOLDER => "Type a query"
     407                self::PLACEHOLDER => "or type your query"
    408408            ),
    409409            self::ERRORS => array(
     
    421421            ),
    422422            self::WIDGET_MESSAGES => array(
    423                 self::PLACEHOLDER => "Type a query"
     423                self::PLACEHOLDER => "or type your query"
    424424            ),
    425425            self::ERRORS => array(
     
    437437            ),
    438438            self::WIDGET_MESSAGES => array(
    439                 self::PLACEHOLDER => "Type a query"
     439                self::PLACEHOLDER => "or type your query"
    440440            ),
    441441            self::ERRORS => array(
     
    453453            ),
    454454            self::WIDGET_MESSAGES => array(
    455                 self::PLACEHOLDER => "Type a query"
     455                self::PLACEHOLDER => "or type your query"
    456456            ),
    457457            self::ERRORS => array(
     
    469469            ),
    470470            self::WIDGET_MESSAGES => array(
    471                 self::PLACEHOLDER => "Type a query"
     471                self::PLACEHOLDER => "or type your query"
    472472            ),
    473473            self::ERRORS => array(
     
    485485            ),
    486486            self::WIDGET_MESSAGES => array(
    487                 self::PLACEHOLDER => "Type a query"
     487                self::PLACEHOLDER => "or type your query"
    488488            ),
    489489            self::ERRORS => array(
     
    501501            ),
    502502            self::WIDGET_MESSAGES => array(
    503                 self::PLACEHOLDER => "Type a query"
     503                self::PLACEHOLDER => "or type your query"
    504504            ),
    505505            self::ERRORS => array(
     
    517517            ),
    518518            self::WIDGET_MESSAGES => array(
    519                 self::PLACEHOLDER => "Type a query"
     519                self::PLACEHOLDER => "or type your query"
    520520            ),
    521521            self::ERRORS => array(
     
    533533            ),
    534534            self::WIDGET_MESSAGES => array(
    535                 self::PLACEHOLDER => "Escribe una consulta"
     535                self::PLACEHOLDER => "o escriba su consulta"
    536536            ),
    537537            self::ERRORS => array(
     
    549549            ),
    550550            self::WIDGET_MESSAGES => array(
    551                 self::PLACEHOLDER => "Escribe una consulta"
     551                self::PLACEHOLDER => "o escriba su consulta"
    552552            ),
    553553            self::ERRORS => array(
     
    565565            ),
    566566            self::WIDGET_MESSAGES => array(
    567                 self::PLACEHOLDER => "Escribe una consulta"
     567                self::PLACEHOLDER => "o escriba su consulta"
    568568            ),
    569569            self::ERRORS => array(
     
    581581            ),
    582582            self::WIDGET_MESSAGES => array(
    583                 self::PLACEHOLDER => "Escribe una consulta"
     583                self::PLACEHOLDER => "o escriba su consulta"
    584584            ),
    585585            self::ERRORS => array(
     
    597597            ),
    598598            self::WIDGET_MESSAGES => array(
    599                 self::PLACEHOLDER => "Escribe una consulta"
     599                self::PLACEHOLDER => "o escriba su consulta"
    600600            ),
    601601            self::ERRORS => array(
     
    613613            ),
    614614            self::WIDGET_MESSAGES => array(
    615                 self::PLACEHOLDER => "Escribe una consulta"
     615                self::PLACEHOLDER => "o escriba su consulta"
    616616            ),
    617617            self::ERRORS => array(
     
    629629            ),
    630630            self::WIDGET_MESSAGES => array(
    631                 self::PLACEHOLDER => "Escribe una consulta"
     631                self::PLACEHOLDER => "o escriba su consulta"
    632632            ),
    633633            self::ERRORS => array(
     
    645645            ),
    646646            self::WIDGET_MESSAGES => array(
    647                 self::PLACEHOLDER => "Escribe una consulta"
     647                self::PLACEHOLDER => "o escriba su consulta"
    648648            ),
    649649            self::ERRORS => array(
     
    661661            ),
    662662            self::WIDGET_MESSAGES => array(
    663                 self::PLACEHOLDER => "Escribe una consulta"
     663                self::PLACEHOLDER => "o escriba su consulta"
    664664            ),
    665665            self::ERRORS => array(
     
    677677            ),
    678678            self::WIDGET_MESSAGES => array(
    679                 self::PLACEHOLDER => "Escribe una consulta"
     679                self::PLACEHOLDER => "o escriba su consulta"
    680680            ),
    681681            self::ERRORS => array(
     
    693693            ),
    694694            self::WIDGET_MESSAGES => array(
    695                 self::PLACEHOLDER => "Escribe una consulta"
     695                self::PLACEHOLDER => "o escriba su consulta"
    696696            ),
    697697            self::ERRORS => array(
     
    709709            ),
    710710            self::WIDGET_MESSAGES => array(
    711                 self::PLACEHOLDER => "Escribe una consulta"
     711                self::PLACEHOLDER => "o escriba su consulta"
    712712            ),
    713713            self::ERRORS => array(
     
    725725            ),
    726726            self::WIDGET_MESSAGES => array(
    727                 self::PLACEHOLDER => "Escribe una consulta"
     727                self::PLACEHOLDER => "o escriba su consulta"
    728728            ),
    729729            self::ERRORS => array(
     
    741741            ),
    742742            self::WIDGET_MESSAGES => array(
    743                 self::PLACEHOLDER => "Escribe una consulta"
     743                self::PLACEHOLDER => "o escriba su consulta"
    744744            ),
    745745            self::ERRORS => array(
     
    757757            ),
    758758            self::WIDGET_MESSAGES => array(
    759                 self::PLACEHOLDER => "Escribe una consulta"
     759                self::PLACEHOLDER => "o escriba su consulta"
    760760            ),
    761761            self::ERRORS => array(
     
    773773            ),
    774774            self::WIDGET_MESSAGES => array(
    775                 self::PLACEHOLDER => "Escribe una consulta"
     775                self::PLACEHOLDER => "o escriba su consulta"
    776776            ),
    777777            self::ERRORS => array(
     
    789789            ),
    790790            self::WIDGET_MESSAGES => array(
    791                 self::PLACEHOLDER => "Escribe una consulta"
     791                self::PLACEHOLDER => "o escriba su consulta"
    792792            ),
    793793            self::ERRORS => array(
     
    805805            ),
    806806            self::WIDGET_MESSAGES => array(
    807                 self::PLACEHOLDER => "Escribe una consulta"
     807                self::PLACEHOLDER => "o escriba su consulta"
    808808            ),
    809809            self::ERRORS => array(
     
    821821            ),
    822822            self::WIDGET_MESSAGES => array(
    823                 self::PLACEHOLDER => "Escribe una consulta"
     823                self::PLACEHOLDER => "o escriba su consulta"
    824824            ),
    825825            self::ERRORS => array(
     
    837837            ),
    838838            self::WIDGET_MESSAGES => array(
    839                 self::PLACEHOLDER => "Escribe una consulta"
     839                self::PLACEHOLDER => "o escriba su consulta"
    840840            ),
    841841            self::ERRORS => array(
     
    853853            ),
    854854            self::WIDGET_MESSAGES => array(
    855                 self::PLACEHOLDER => "Tapez une requête"
     855                self::PLACEHOLDER => "ou saisissez votre requête"
    856856            ),
    857857            self::ERRORS => array(
     
    869869            ),
    870870            self::WIDGET_MESSAGES => array(
    871                 self::PLACEHOLDER => "Tapez une requête"
     871                self::PLACEHOLDER => "ou saisissez votre requête"
    872872            ),
    873873            self::ERRORS => array(
     
    885885            ),
    886886            self::WIDGET_MESSAGES => array(
    887                 self::PLACEHOLDER => "Digita una query"
     887                self::PLACEHOLDER => "o digita la tua query"
    888888            ),
    889889            self::ERRORS => array(
     
    901901            ),
    902902            self::WIDGET_MESSAGES => array(
    903                 self::PLACEHOLDER => "クエリを入力"
     903                self::PLACEHOLDER => "またはクエリを入力します"
    904904            ),
    905905            self::ERRORS => array(
     
    917917            ),
    918918            self::WIDGET_MESSAGES => array(
    919                 self::PLACEHOLDER => "검색어를 입력하십시오"
     919                self::PLACEHOLDER => "또는 검색어를 입력하십시오"
    920920            ),
    921921            self::ERRORS => array(
     
    933933            ),
    934934            self::WIDGET_MESSAGES => array(
    935                 self::PLACEHOLDER => "Typ een zoekopdracht"
     935                self::PLACEHOLDER => "of typ uw vraag"
    936936            ),
    937937            self::ERRORS => array(
     
    949949            ),
    950950            self::WIDGET_MESSAGES => array(
    951                 self::PLACEHOLDER => "Typ een zoekopdracht"
     951                self::PLACEHOLDER => "of typ uw vraag"
    952952            ),
    953953            self::ERRORS => array(
     
    958958            self::MESSAGES => array(
    959959                self::MIC_NOT_ACCESSIBLE => "Nie mogę uzyskać dostępu do mikrofonu",
    960                 self::BROWSER_DENIED_ACCESS => "Zabezpieczenia przeglądarki nie pozwalają mi na dostęp do mikrofonu",
     960                self::BROWSER_DENIED_ACCESS => "Bezpieczeństwo twojej przeglądarki nie pozwala mi na dostęp do mikrofonu",
    961961                self::TRANSCRIBING => " Przepisywanie ...",
    962962                self::UNABLE_TO_HEAR => "Nie słyszę cię",
     
    965965            ),
    966966            self::WIDGET_MESSAGES => array(
    967                 self::PLACEHOLDER => "Wpisz zapytanie"
     967                self::PLACEHOLDER => "lub wpisz zapytanie"
    968968            ),
    969969            self::ERRORS => array(
     
    981981            ),
    982982            self::WIDGET_MESSAGES => array(
    983                 self::PLACEHOLDER => "Digite uma consulta"
     983                self::PLACEHOLDER => "ou digite sua consulta"
    984984            ),
    985985            self::ERRORS => array(
     
    997997            ),
    998998            self::WIDGET_MESSAGES => array(
    999                 self::PLACEHOLDER => "Введите запрос"
     999                self::PLACEHOLDER => "или введите свой запрос"
    10001000            ),
    10011001            self::ERRORS => array(
     
    10131013            ),
    10141014            self::WIDGET_MESSAGES => array(
    1015                 self::PLACEHOLDER => "พิมพ์แบบสอบถาม"
     1015                self::PLACEHOLDER => "หรือพิมพ์ข้อความค้นหาของคุณ"
    10161016            ),
    10171017            self::ERRORS => array(
     
    10291029            ),
    10301030            self::WIDGET_MESSAGES => array(
    1031                 self::PLACEHOLDER => "Bir sorgu yazın"
     1031                self::PLACEHOLDER => "veya sorgunuzu yazın"
    10321032            ),
    10331033            self::ERRORS => array(
     
    10451045            ),
    10461046            self::WIDGET_MESSAGES => array(
    1047                 self::PLACEHOLDER => "输入查询"
     1047                self::PLACEHOLDER => "输入查询"
    10481048            ),
    10491049            self::ERRORS => array(
     
    10611061            ),
    10621062            self::WIDGET_MESSAGES => array(
    1063                 self::PLACEHOLDER => "输入查询"
     1063                self::PLACEHOLDER => "输入查询"
    10641064            ),
    10651065            self::ERRORS => array(
     
    10771077            ),
    10781078            self::WIDGET_MESSAGES => array(
    1079                 self::PLACEHOLDER => "输入查询"
     1079                self::PLACEHOLDER => "输入查询"
    10801080            ),
    10811081            self::ERRORS => array(
     
    10931093            ),
    10941094            self::WIDGET_MESSAGES => array(
    1095                 self::PLACEHOLDER => "Въведете заявка"
     1095                self::PLACEHOLDER => "или въведете заявката си"
    10961096            ),
    10971097            self::ERRORS => array(
     
    11091109            ),
    11101110            self::WIDGET_MESSAGES => array(
    1111                 self::PLACEHOLDER => "Escriviu una consulta"
     1111                self::PLACEHOLDER => "o escriviu la vostra consulta"
    11121112            ),
    11131113            self::ERRORS => array(
     
    11251125            ),
    11261126            self::WIDGET_MESSAGES => array(
    1127                 self::PLACEHOLDER => "Zadejte dotaz"
     1127                self::PLACEHOLDER => "nebo zadejte svůj dotaz"
    11281128            ),
    11291129            self::ERRORS => array(
     
    11411141            ),
    11421142            self::WIDGET_MESSAGES => array(
    1143                 self::PLACEHOLDER => "Skriv en forespørgsel"
     1143                self::PLACEHOLDER => "eller skriv din forespørgsel"
    11441144            ),
    11451145            self::ERRORS => array(
     
    11571157            ),
    11581158            self::WIDGET_MESSAGES => array(
    1159                 self::PLACEHOLDER => "Πληκτρολογήστε ένα ερώτημα"
     1159                self::PLACEHOLDER => "ή πληκτρολογήστε το ερώτημά σας"
    11601160            ),
    11611161            self::ERRORS => array(
     
    11731173            ),
    11741174            self::WIDGET_MESSAGES => array(
    1175                 self::PLACEHOLDER => "Kirjoita kysely"
     1175                self::PLACEHOLDER => "tai kirjoita kyselysi"
    11761176            ),
    11771177            self::ERRORS => array(
     
    11851185                self::TRANSCRIBING => " מתמלל….",
    11861186                self::UNABLE_TO_HEAR => "אני לא מסוגל לשמוע אותך",
    1187                 self::ASK_AGAIN => " תגיד את זה שוב ....",
     1187                self::ASK_AGAIN => " חזור שנית ....",
    11881188                self::CAN_NOT_ACCESS_MIC => "לא יכול לגשת למיקרופון",
    11891189            ),
    11901190            self::WIDGET_MESSAGES => array(
    1191                 self::PLACEHOLDER => "הקלד שאילתה"
     1191                self::PLACEHOLDER => "או הקלד את השאילתה שלך"
    11921192            ),
    11931193            self::ERRORS => array(
     
    12051205            ),
    12061206            self::WIDGET_MESSAGES => array(
    1207                 self::PLACEHOLDER => "एक क्वेरी टाइप करें"
     1207                self::PLACEHOLDER => "या अपनी क्वेरी टाइप करें"
    12081208            ),
    12091209            self::ERRORS => array(
     
    12211221            ),
    12221222            self::WIDGET_MESSAGES => array(
    1223                 self::PLACEHOLDER => "Upišite upit"
     1223                self::PLACEHOLDER => "ili upišite svoj upit"
    12241224            ),
    12251225            self::ERRORS => array(
     
    12301230            self::MESSAGES => array(
    12311231                self::MIC_NOT_ACCESSIBLE => "Nem tudom elérni a mikrofont",
    1232                 self::BROWSER_DENIED_ACCESS => "A böngésző biztonsága nem teszi lehetővé a mikrofon elérését",
     1232                self::BROWSER_DENIED_ACCESS => "Az Ön böngészőjének biztonsága nem teszi lehetővé a mikrofon elérését",
    12331233                self::TRANSCRIBING => " Átírás ...",
    12341234                self::UNABLE_TO_HEAR => "Nem hallom",
     
    12371237            ),
    12381238            self::WIDGET_MESSAGES => array(
    1239                 self::PLACEHOLDER => "Írja be a lekérdezést"
     1239                self::PLACEHOLDER => "vagy írja be a lekérdezést"
    12401240            ),
    12411241            self::ERRORS => array(
     
    12531253            ),
    12541254            self::WIDGET_MESSAGES => array(
    1255                 self::PLACEHOLDER => "Ketikkan kueri"
     1255                self::PLACEHOLDER => "atau ketikkan kueri Anda"
    12561256            ),
    12571257            self::ERRORS => array(
     
    12691269            ),
    12701270            self::WIDGET_MESSAGES => array(
    1271                 self::PLACEHOLDER => "Įveskite užklausą"
     1271                self::PLACEHOLDER => "arba įveskite savo užklausą"
    12721272            ),
    12731273            self::ERRORS => array(
     
    12851285            ),
    12861286            self::WIDGET_MESSAGES => array(
    1287                 self::PLACEHOLDER => "Ierakstiet vaicājumu"
     1287                self::PLACEHOLDER => "vai ierakstiet vaicājumu"
    12881288            ),
    12891289            self::ERRORS => array(
     
    13011301            ),
    13021302            self::WIDGET_MESSAGES => array(
    1303                 self::PLACEHOLDER => "Skriv inn en spørring"
     1303                self::PLACEHOLDER => "eller skriv inn spørringen"
    13041304            ),
    13051305            self::ERRORS => array(
     
    13171317            ),
    13181318            self::WIDGET_MESSAGES => array(
    1319                 self::PLACEHOLDER => "Digite uma consulta"
     1319                self::PLACEHOLDER => "ou digite sua consulta"
    13201320            ),
    13211321            self::ERRORS => array(
     
    13331333            ),
    13341334            self::WIDGET_MESSAGES => array(
    1335                 self::PLACEHOLDER => "Tastați o interogare"
     1335                self::PLACEHOLDER => "sau introduceți întrebarea"
    13361336            ),
    13371337            self::ERRORS => array(
     
    13491349            ),
    13501350            self::WIDGET_MESSAGES => array(
    1351                 self::PLACEHOLDER => "Zadajte dopyt"
     1351                self::PLACEHOLDER => "alebo zadajte svoj dotaz"
    13521352            ),
    13531353            self::ERRORS => array(
     
    13651365            ),
    13661366            self::WIDGET_MESSAGES => array(
    1367                 self::PLACEHOLDER => "Vnesite poizvedbo"
     1367                self::PLACEHOLDER => "ali vnesite poizvedbo"
    13681368            ),
    13691369            self::ERRORS => array(
     
    13771377                self::TRANSCRIBING => " Трансцрибинг ....",
    13781378                self::UNABLE_TO_HEAR => "Не могу те чути",
    1379                 self::ASK_AGAIN => " Понови ....",
     1379                self::ASK_AGAIN => " Реци још једном ....",
    13801380                self::CAN_NOT_ACCESS_MIC => "не може да приступи микрофону",
    13811381            ),
    13821382            self::WIDGET_MESSAGES => array(
    1383                 self::PLACEHOLDER => "Упишите упит"
     1383                self::PLACEHOLDER => "или упишите упит"
    13841384            ),
    13851385            self::ERRORS => array(
     
    13971397            ),
    13981398            self::WIDGET_MESSAGES => array(
    1399                 self::PLACEHOLDER => "Skriv en fråga"
    1400             ),
    1401             self::ERRORS => array(
    1402                 self::OUT_OF_SERVICE => "Röstsökning är inte i bruk. Vänligen försök igen efter en tid"
     1399                self::PLACEHOLDER => "eller skriv din fråga"
     1400            ),
     1401            self::ERRORS => array(
     1402                self::OUT_OF_SERVICE => "Röstsökning är ur funktion. Försök igen efter en tid"
    14031403            )
    14041404        ),
     
    14131413            ),
    14141414            self::WIDGET_MESSAGES => array(
    1415                 self::PLACEHOLDER => "Введіть запит"
     1415                self::PLACEHOLDER => "або введіть запит"
    14161416            ),
    14171417            self::ERRORS => array(
     
    14291429            ),
    14301430            self::WIDGET_MESSAGES => array(
    1431                 self::PLACEHOLDER => "Nhập truy vấn"
     1431                self::PLACEHOLDER => "hoặc nhập truy vấn của bạn"
    14321432            ),
    14331433            self::ERRORS => array(
     
    14451445            ),
    14461446            self::WIDGET_MESSAGES => array(
    1447                 self::PLACEHOLDER => "Tik 'n navraag in"
     1447                self::PLACEHOLDER => "of tik u navraag in"
    14481448            ),
    14491449            self::ERRORS => array(
     
    14611461            ),
    14621462            self::WIDGET_MESSAGES => array(
    1463                 self::PLACEHOLDER => "ጥያቄ ይተይቡ"
     1463                self::PLACEHOLDER => "ወይም ጥያቄዎን ይተይቡ"
    14641464            ),
    14651465            self::ERRORS => array(
     
    14771477            ),
    14781478            self::WIDGET_MESSAGES => array(
    1479                 self::PLACEHOLDER => "Bir sorğu yazın"
     1479                self::PLACEHOLDER => "ya da sorğunuzu yazın"
    14801480            ),
    14811481            self::ERRORS => array(
     
    14931493            ),
    14941494            self::WIDGET_MESSAGES => array(
    1495                 self::PLACEHOLDER => "একটি প্রশ্ন টাইপ করুন"
     1495                self::PLACEHOLDER => "অথবা আপনার ক্যোয়ারী টাইপ করুন"
    14961496            ),
    14971497            self::ERRORS => array(
     
    15091509            ),
    15101510            self::WIDGET_MESSAGES => array(
    1511                 self::PLACEHOLDER => "একটি প্রশ্ন টাইপ করুন"
     1511                self::PLACEHOLDER => "অথবা আপনার ক্যোয়ারী টাইপ করুন"
    15121512            ),
    15131513            self::ERRORS => array(
     
    15251525            ),
    15261526            self::WIDGET_MESSAGES => array(
    1527                 self::PLACEHOLDER => "Tippige päring"
    1528             ),
    1529             self::ERRORS => array(
    1530                 self::OUT_OF_SERVICE => "Häälotsing pole kasutusel. Proovige mõne aja pärast uuesti"
     1527                self::PLACEHOLDER => "või tippige oma päring"
     1528            ),
     1529            self::ERRORS => array(
     1530                self::OUT_OF_SERVICE => "Häälotsing ei tööta. Proovige mõne aja pärast uuesti"
    15311531            )
    15321532        ),
     
    15411541            ),
    15421542            self::WIDGET_MESSAGES => array(
    1543                 self::PLACEHOLDER => "Idatzi kontsulta bat"
     1543                self::PLACEHOLDER => "edo idatzi zure kontsulta"
    15441544            ),
    15451545            self::ERRORS => array(
     
    15571557            ),
    15581558            self::WIDGET_MESSAGES => array(
    1559                 self::PLACEHOLDER => "یک پرس و جو تایپ کنید"
     1559                self::PLACEHOLDER => "یا درخواست خود را تایپ کنید"
    15601560            ),
    15611561            self::ERRORS => array(
     
    15731573            ),
    15741574            self::WIDGET_MESSAGES => array(
    1575                 self::PLACEHOLDER => "I-type ang isang query"
     1575                self::PLACEHOLDER => "o i-type ang iyong query"
    15761576            ),
    15771577            self::ERRORS => array(
     
    15891589            ),
    15901590            self::WIDGET_MESSAGES => array(
    1591                 self::PLACEHOLDER => "Escribe unha consulta"
     1591                self::PLACEHOLDER => "ou escriba a consulta"
    15921592            ),
    15931593            self::ERRORS => array(
     
    16051605            ),
    16061606            self::WIDGET_MESSAGES => array(
    1607                 self::PLACEHOLDER => "ક્વેરી લખો"
     1607                self::PLACEHOLDER => "અથવા તમારી ક્વેરી લખો"
    16081608            ),
    16091609            self::ERRORS => array(
     
    16211621            ),
    16221622            self::WIDGET_MESSAGES => array(
    1623                 self::PLACEHOLDER => "Մուտքագրեք հարցումը"
     1623                self::PLACEHOLDER => "կամ մուտքագրեք ձեր հարցումը"
    16241624            ),
    16251625            self::ERRORS => array(
     
    16371637            ),
    16381638            self::WIDGET_MESSAGES => array(
    1639                 self::PLACEHOLDER => "Sláðu inn fyrirspurn"
     1639                self::PLACEHOLDER => "eða sláðu inn fyrirspurn þína"
    16401640            ),
    16411641            self::ERRORS => array(
     
    16531653            ),
    16541654            self::WIDGET_MESSAGES => array(
    1655                 self::PLACEHOLDER => "Ketik query"
     1655                self::PLACEHOLDER => "utawa ketik query sampeyan"
    16561656            ),
    16571657            self::ERRORS => array(
     
    16691669            ),
    16701670            self::WIDGET_MESSAGES => array(
    1671                 self::PLACEHOLDER => "ჩაწერეთ მოთხოვნა"
     1671                self::PLACEHOLDER => "ან ჩაწერეთ თქვენი შეკითხვა"
    16721672            ),
    16731673            self::ERRORS => array(
     
    16851685            ),
    16861686            self::WIDGET_MESSAGES => array(
    1687                 self::PLACEHOLDER => "វាយសំណួរ"
     1687                self::PLACEHOLDER => "ឬវាយសំណួររបស់អ្នក"
    16881688            ),
    16891689            self::ERRORS => array(
     
    17011701            ),
    17021702            self::WIDGET_MESSAGES => array(
    1703                 self::PLACEHOLDER => "ಪ್ರಶ್ನೆಯನ್ನು ಟೈಪ್ ಮಾಡಿ"
     1703                self::PLACEHOLDER => "ಅಥವಾ ನಿಮ್ಮ ಪ್ರಶ್ನೆಯನ್ನು ಟೈಪ್ ಮಾಡಿ"
    17041704            ),
    17051705            self::ERRORS => array(
     
    17171717            ),
    17181718            self::WIDGET_MESSAGES => array(
    1719                 self::PLACEHOLDER => "ພິມ ຄຳ ຖາມ"
     1719                self::PLACEHOLDER => "ຫຼືພິມ ຄຳ ຖາມຂອງທ່ານ"
    17201720            ),
    17211721            self::ERRORS => array(
     
    17331733            ),
    17341734            self::WIDGET_MESSAGES => array(
    1735                 self::PLACEHOLDER => "Напишете пребарување"
     1735                self::PLACEHOLDER => "или напишете го вашето барање"
    17361736            ),
    17371737            self::ERRORS => array(
     
    17491749            ),
    17501750            self::WIDGET_MESSAGES => array(
    1751                 self::PLACEHOLDER => "ഒരു ചോദ്യം ടൈപ്പുചെയ്യുക"
     1751                self::PLACEHOLDER => "അല്ലെങ്കിൽ നിങ്ങളുടെ ചോദ്യം ടൈപ്പുചെയ്യുക"
    17521752            ),
    17531753            self::ERRORS => array(
     
    17611761                self::TRANSCRIBING => " Хөрвүүлж байна ...",
    17621762                self::UNABLE_TO_HEAR => "Би та нарыг сонсох боломжгүй байна",
    1763                 self::ASK_AGAIN => " Дахиад хэл дээ ....",
     1763                self::ASK_AGAIN => " Дахин хэлнэ үү ....",
    17641764                self::CAN_NOT_ACCESS_MIC => "микрофон руу нэвтрэх боломжгүй байна",
    17651765            ),
    17661766            self::WIDGET_MESSAGES => array(
    1767                 self::PLACEHOLDER => "Асуулга оруулна уу"
     1767                self::PLACEHOLDER => "эсвэл асуулгаа бичнэ үү"
    17681768            ),
    17691769            self::ERRORS => array(
     
    17811781            ),
    17821782            self::WIDGET_MESSAGES => array(
    1783                 self::PLACEHOLDER => "क्वेरी टाइप करा"
     1783                self::PLACEHOLDER => "किंवा आपली क्वेरी टाइप करा"
    17841784            ),
    17851785            self::ERRORS => array(
     
    17971797            ),
    17981798            self::WIDGET_MESSAGES => array(
    1799                 self::PLACEHOLDER => "Taipkan pertanyaan"
     1799                self::PLACEHOLDER => "atau taipkan pertanyaan anda"
    18001800            ),
    18011801            self::ERRORS => array(
     
    18061806            self::MESSAGES => array(
    18071807                self::MIC_NOT_ACCESSIBLE => "ကျွန်ုပ်မိုက်ခရိုဖုန်းကိုသုံးလို့မရပါဘူး",
    1808                 self::BROWSER_DENIED_ACCESS => "သင်၏ဘရောင်ဇာလုံခြုံရေးကကျွန်ုပ်ကိုမိုက်ကရိုဖုန်းထဲဝင်ရောက်ခွင့်မပြုပါ",
     1808                self::BROWSER_DENIED_ACCESS => "သင်၏ဘရောင်ဇာလုံခြုံရေးကကျွန်ုပ်အားမိုက်ကရိုဖုန်းကိုအသုံးပြုခွင့်မပြုပါ",
    18091809                self::TRANSCRIBING => " ကူးယူခြင်း ....",
    18101810                self::UNABLE_TO_HEAR => "သင့်စကားကိုနားမထောင်နိုင်ဘူး",
     
    18131813            ),
    18141814            self::WIDGET_MESSAGES => array(
    1815                 self::PLACEHOLDER => "စုံစမ်းမှုတစ်ခုကိုရိုက်ထည့်ပါ"
     1815                self::PLACEHOLDER => "သို့မဟုတ်သင်၏စုံစမ်းမှုကိုရိုက်ထည့်ပါ"
    18161816            ),
    18171817            self::ERRORS => array(
     
    18291829            ),
    18301830            self::WIDGET_MESSAGES => array(
    1831                 self::PLACEHOLDER => "क्वेरी टाइप गर्नुहोस्"
     1831                self::PLACEHOLDER => "वा तपाईंको क्वेरी टाइप गर्नुहोस्"
    18321832            ),
    18331833            self::ERRORS => array(
     
    18451845            ),
    18461846            self::WIDGET_MESSAGES => array(
    1847                 self::PLACEHOLDER => "ਕੋਈ ਪੁੱਛਗਿੱਛ ਲਿਖੋ"
     1847                self::PLACEHOLDER => "ਜਾਂ ਆਪਣੀ ਪੁੱਛਗਿੱਛ ਟਾਈਪ ਕਰੋ"
    18481848            ),
    18491849            self::ERRORS => array(
     
    18611861            ),
    18621862            self::WIDGET_MESSAGES => array(
    1863                 self::PLACEHOLDER => "විමසුමක් ටයිප් කරන්න"
     1863                self::PLACEHOLDER => "හෝ ඔබේ විමසුම ටයිප් කරන්න"
    18641864            ),
    18651865            self::ERRORS => array(
     
    18771877            ),
    18781878            self::WIDGET_MESSAGES => array(
    1879                 self::PLACEHOLDER => "Shkruaj një pyetje"
     1879                self::PLACEHOLDER => "ose shtypni pyetjen tuaj"
    18801880            ),
    18811881            self::ERRORS => array(
     
    18931893            ),
    18941894            self::WIDGET_MESSAGES => array(
    1895                 self::PLACEHOLDER => "Ketik query"
     1895                self::PLACEHOLDER => "atanapi ngetik pamundut anjeun"
    18961896            ),
    18971897            self::ERRORS => array(
     
    19091909            ),
    19101910            self::WIDGET_MESSAGES => array(
    1911                 self::PLACEHOLDER => "Andika swali"
     1911                self::PLACEHOLDER => "au chapa swali lako"
    19121912            ),
    19131913            self::ERRORS => array(
     
    19251925            ),
    19261926            self::WIDGET_MESSAGES => array(
    1927                 self::PLACEHOLDER => "Andika swali"
     1927                self::PLACEHOLDER => "au chapa swali lako"
    19281928            ),
    19291929            self::ERRORS => array(
     
    19411941            ),
    19421942            self::WIDGET_MESSAGES => array(
    1943                 self::PLACEHOLDER => "வினவலைத் தட்டச்சு செய்க"
     1943                self::PLACEHOLDER => "அல்லது உங்கள் வினவலைத் தட்டச்சு செய்க"
    19441944            ),
    19451945            self::ERRORS => array(
     
    19571957            ),
    19581958            self::WIDGET_MESSAGES => array(
    1959                 self::PLACEHOLDER => "வினவலைத் தட்டச்சு செய்க"
     1959                self::PLACEHOLDER => "அல்லது உங்கள் வினவலைத் தட்டச்சு செய்க"
    19601960            ),
    19611961            self::ERRORS => array(
     
    19731973            ),
    19741974            self::WIDGET_MESSAGES => array(
    1975                 self::PLACEHOLDER => "வினவலைத் தட்டச்சு செய்க"
     1975                self::PLACEHOLDER => "அல்லது உங்கள் வினவலைத் தட்டச்சு செய்க"
    19761976            ),
    19771977            self::ERRORS => array(
     
    19891989            ),
    19901990            self::WIDGET_MESSAGES => array(
    1991                 self::PLACEHOLDER => "வினவலைத் தட்டச்சு செய்க"
     1991                self::PLACEHOLDER => "அல்லது உங்கள் வினவலைத் தட்டச்சு செய்க"
    19921992            ),
    19931993            self::ERRORS => array(
     
    20052005            ),
    20062006            self::WIDGET_MESSAGES => array(
    2007                 self::PLACEHOLDER => "ప్రశ్నను టైప్ చేయండి"
     2007                self::PLACEHOLDER => "లేదా మీ ప్రశ్నను టైప్ చేయండి"
    20082008            ),
    20092009            self::ERRORS => array(
     
    20212021            ),
    20222022            self::WIDGET_MESSAGES => array(
    2023                 self::PLACEHOLDER => "ایک سوال ٹائپ کریں"
     2023                self::PLACEHOLDER => "یا اپنی استفسار ٹائپ کریں"
    20242024            ),
    20252025            self::ERRORS => array(
     
    20372037            ),
    20382038            self::WIDGET_MESSAGES => array(
    2039                 self::PLACEHOLDER => "ایک سوال ٹائپ کریں"
     2039                self::PLACEHOLDER => "یا اپنی استفسار ٹائپ کریں"
    20402040            ),
    20412041            self::ERRORS => array(
     
    20532053            ),
    20542054            self::WIDGET_MESSAGES => array(
    2055                 self::PLACEHOLDER => "So‘rovni kiriting"
     2055                self::PLACEHOLDER => "yoki so'rovingizni kiriting"
    20562056            ),
    20572057            self::ERRORS => array(
     
    20692069            ),
    20702070            self::WIDGET_MESSAGES => array(
    2071                 self::PLACEHOLDER => "输入查询"
     2071                self::PLACEHOLDER => "输入查询"
    20722072            ),
    20732073            self::ERRORS => array(
     
    20852085            ),
    20862086            self::WIDGET_MESSAGES => array(
    2087                 self::PLACEHOLDER => "输入查询"
     2087                self::PLACEHOLDER => "输入查询"
    20882088            ),
    20892089            self::ERRORS => array(
     
    21012101            ),
    21022102            self::WIDGET_MESSAGES => array(
    2103                 self::PLACEHOLDER => "Thayipha umbuzo"
     2103                self::PLACEHOLDER => "noma thayipha umbuzo wakho"
    21042104            ),
    21052105            self::ERRORS => array(
    21062106                self::OUT_OF_SERVICE => "Ukusesha ngezwi kuphelile, sicela uzame futhi ngemuva kwesikhashana"
    21072107            )
    2108         )
     2108        ),
    21092109    );
    21102110
  • universal-voice-search/trunk/classes/plugin-languages/uvs_de_DE.php

    r2207334 r2301256  
    88            'selectLanguage'      => 'Sprache auswählen',
    99            'licenseKey'          => 'Lizenz',
    10             'copyYourLicenseKey'  => 'Kopieren Sie hier Ihre Lizenz. Sie können sich unter speak2web.com/wp anmelden',
     10            'copyYourLicenseKey'  => 'Kopieren Sie hier Ihren Lizenzschlüssel.',
     11            'subscribe'           => 'Sie können unter abonnieren ',
    1112            'saveSettings'        => 'Speichern',
    1213            'floatingMic'         => 'Floating Mic mit Suchleiste',
    1314            'floatingMicOptions'  => 'Floating Mic-Optionen',
    14             'selectFloatingMicPosition' => 'Wählen Sie Floating Mic Position'
     15            'selectFloatingMicPosition' => 'Wählen Sie Floating Mic Position',
     16            'muteAudioPhrases' => 'Spielen Sie keine Audiophrasen ab'
    1517        ),
    1618        'other' =>  array(
    17             'goProNotice' => array(
     19            'nonChromeNotice' => array(
     20                'warning' => 'Warnung: ',
     21                'thisPlugin' => 'Diese kostenlose Version unterstützt nur Chrome-Browser. Verwenden Sie einen Chrome-Browser, um die Funktionalität zu überprüfen oder ',
    1822                'goPro' => 'Gehen Sie Pro',
    19                 'supportMoreBrowsers' => ' und unterstützt mehr Browser wie iOS, MS Edge, FireFox und mehr.'
     23                'supportMoreBrowsers' => ' um andere Webbrowser zu unterstützen.'
    2024            ),
    21             'nonHttpsNotice' => "Nicht sicher! Sie befinden sich auf einer Nicht-HTTPS-Site, die den Mikrofonzugriff einschränkt."
     25            'nonHttpsNotice' => "Nicht sicher! Sie befinden sich auf einer Nicht-HTTPS-Site, die den Mikrofonzugriff einschränkt.",
    2226        )
    2327    );
  • universal-voice-search/trunk/classes/plugin-languages/uvs_en_EN.php

    r2207334 r2301256  
    88            'selectLanguage'      => 'Select Language',
    99            'licenseKey'          =>  'License Key',
    10             'copyYourLicenseKey'  => 'Copy your license key here. You can subscribe at speak2web.com/wp',
     10            'copyYourLicenseKey'  => 'Copy your license key here.',
     11            'subscribe'           => 'You can subscribe at ',
    1112            'saveSettings'        => 'Save Settings',
    1213            'floatingMic'         => 'Floating Mic with search bar',
    1314            'floatingMicOptions'  => 'Floating Mic Options',
    14             'selectFloatingMicPosition' => 'Select Floating Mic Position'
     15            'selectFloatingMicPosition' => 'Select Floating Mic Position',
     16            'muteAudioPhrases' => 'Do not play audio phrases.'
    1517        ),
    1618        'other' =>  array(
    17             'goProNotice' => array(
     19            'nonChromeNotice' => array(
     20                'warning' => 'Warning: ',
     21                'thisPlugin' => 'This free version only supports Chrome browsers. Please use a Chrome browser to verify functionality or ',
    1822                'goPro' => 'Go Pro',
    19                 'supportMoreBrowsers' => ' and support more browsers like iOS, MS Edge, FireFox and more.'
     23                'supportMoreBrowsers' => ' to support other web browsers.'
    2024            ),
    2125            'nonHttpsNotice' => "Not secure! You are on non-HTTPS site which restricts microphone access."
  • universal-voice-search/trunk/classes/plugin.php

    r2290367 r2301256  
    5050    );
    5151
    52     // For browser and OS detection
    53     public static $uvs_client_info = array(
    54         'chrome'       => false,
    55         'firefox'      => false,
    56         'safari'       => false,
    57         'edge'         => false,
    58         'ie'           => false,
    59         'macIE'        => false,
    60         'winIE'        => false,
    61         'iphoneSafari' => false,
    62         'ns4'          => false,
    63         'opera'        => false,
    64         'mac'          => false,
    65         'opera'        => false,
    66         'opera'        => false
    67     );
    68 
    6952    /**
    7053     * Plugin version.
    7154     */
    72     const VERSION = '2.1.0';
     55    const VERSION = '2.1.1';
    7356   
    7457    /**
     
    7760    protected function __construct()
    7861    {
    79         global
    80         $is_iphone, // (boolean) iPhone Safari
    81         $is_chrome, // (boolean) Google Chrome
    82         $is_safari, // (boolean) Safari
    83         $is_NS4, // (boolean) Netscape 4
    84         $is_opera, // (boolean) Opera
    85         $is_macIE, // (boolean) Mac Internet Explorer
    86         $is_winIE, // (boolean) Windows Internet Explorer
    87         $is_gecko, // (boolean) FireFox
    88         $is_lynx, // (boolean)
    89         $is_IE, // (boolean) Internet Explorer
    90         $is_edge; // (boolean) Microsoft Edge
    91 
    92         // Browser detection
    93         self::$uvs_client_info['chrome'] = $is_chrome;
    94         self::$uvs_client_info['firefox'] = $is_gecko;
    95         self::$uvs_client_info['safari'] = $is_safari;
    96         self::$uvs_client_info['edge'] = $is_edge;
    97         self::$uvs_client_info['ie'] = $is_IE;
    98         self::$uvs_client_info['macIE'] = $is_macIE;
    99         self::$uvs_client_info['winIE'] = $is_winIE;
    100         self::$uvs_client_info['iphoneSafari'] = $is_iphone;
    101         self::$uvs_client_info['ns4'] = $is_NS4;
    102         self::$uvs_client_info['opera'] = $is_opera;
    103 
    104         // OS Detection
    105         self::$uvs_client_info['mac'] = stristr( $_SERVER['HTTP_USER_AGENT'],"mac") ? true : false;
    106         self::$uvs_client_info['linux'] = $is_lynx === true || stristr( $_SERVER['HTTP_USER_AGENT'],"linux") ? true : false;
    107         self::$uvs_client_info['windows'] = stristr( $_SERVER['HTTP_USER_AGENT'],"windows") ? true : false;
    10862        // Get database values
    10963        self::$uvs_license_key = get_option(Universal_Voice_Search_Settings_Page::BASIC_CONFIG_OPTION_NAMES['license_key'], null);
     
    11468        self::$uvs_api_access_key = self::uvs_sanitize_variable_for_local_script(self::$uvs_api_access_key);
    11569
    116         self::$uvs_selected_language = get_option(Universal_Voice_Search_Settings_Page::BASIC_CONFIG_OPTION_NAMES['selected_language'], null);
     70        self::$uvs_selected_language = get_option(Universal_Voice_Search_Settings_Page::BASIC_CONFIG_OPTION_NAMES['selected_language'], 'en-US');
    11771        self::$uvs_selected_language = self::uvs_sanitize_variable_for_local_script(self::$uvs_selected_language);
    11872
     
    171125
    172126        if ((!empty(self::$uvs_license_key) && !empty(self::$uvs_api_access_key)) ||
    173             (self::$uvs_client_info['chrome'] === true && UvsLanguage::gcp_supported(self::$uvs_selected_language))) {
     127            (UVS_CLIENT['chrome'] === true && UvsLanguage::gcp_supported(self::$uvs_selected_language))) {
    174128            $this->hook( 'wp_enqueue_scripts', 'enqueue_frontend_scripts' );
    175129        }
     
    196150
    197151        // Register action to hook into admin_notices to display dahsboard notices when license key is missing or invalid
    198         if (empty(self::$uvs_license_key) || empty(self::$uvs_api_access_key)) {
    199             add_action( 'admin_notices', array($this, 'go_pro_notice'));         
     152        if ((empty(self::$uvs_license_key) || empty(self::$uvs_api_access_key)) && UVS_CLIENT['chrome'] === false) {
     153            add_action( 'admin_notices', array($this, 'notice_non_chrome'));
    200154        }
    201155    }
    202156
    203157    /**
    204      * Method as action to invoke when license key is missing
    205      */
    206     public function go_pro_notice() {
     158     * Method as action to invoke when license key is missing and browser is non chrome
     159     */
     160    public function notice_non_chrome() {
    207161    ?>
    208162        <div class="notice notice-warning is-dismissible">
    209163            <p> <?php echo self::$uvs_admin_notice_logo; ?>
    210164                <br/>
    211                 <a target="blank" href="https://speak2web.com/plugin/#plan"><?php echo UVS_LANGUAGE_LIBRARY['other']['goProNotice']['goPro']; ?></a><?php echo UVS_LANGUAGE_LIBRARY['other']['goProNotice']['supportMoreBrowsers']; ?>
     165                <?php echo "<b>".UVS_LANGUAGE_LIBRARY['other']['nonChromeNotice']['warning']."</b>".UVS_LANGUAGE_LIBRARY['other']['nonChromeNotice']['thisPlugin']; ?>
     166                <a target="blank" href="https://speak2web.com/plugin/#plan"><?php echo UVS_LANGUAGE_LIBRARY['other']['nonChromeNotice']['goPro']; ?></a><?php echo UVS_LANGUAGE_LIBRARY['other']['nonChromeNotice']['supportMoreBrowsers']; ?>
    212167            </p>
    213168        </div>
    214169    <?php
    215     }   
     170    }
    216171
    217172    /**
     
    354309        //##################################################################################################################
    355310        $uvs_stt_language_context = array(
    356             'isChrome' => self::$uvs_client_info['chrome'] === true ? 'Y' : 'N',
    357311            'ibm' => array(
    358312                'stt' => 'N',
     
    375329        $uvs_lang_not_supported_by_vendors = false;
    376330
    377         if (self::$uvs_client_info['chrome'] === true) {
     331        if (UVS_CLIENT['chrome'] === true) {
    378332            if ($uvs_gcp_supported === true) {
    379333                $uvs_stt_language_context['gcp']['stt'] = 'Y';
     
    477431
    478432        wp_localize_script( 'uvs.text-library', 'uvsServiceLogs', $uvs_service_logs);
     433
     434        $uvs_mute_audio_phrases = get_option(Universal_Voice_Search_Settings_Page::BASIC_CONFIG_OPTION_NAMES['mute_audio_phrases'], null);
     435        $uvs_mute_audio_phrases = self::uvs_sanitize_variable_for_local_script($uvs_mute_audio_phrases);
     436        wp_localize_script( 'uvs.text-library', '_uvsMuteAudioPhrases', $uvs_mute_audio_phrases);
    479437
    480438        //################################################################################
  • universal-voice-search/trunk/classes/settings-page.php

    r2290367 r2301256  
    1010        'selected_language'     => 'uvs_selected_language',
    1111        'floating_mic'          => 'uvs_floating_mic',
    12         'floating_mic_position' => 'uvs_floating_mic_position'
     12        'floating_mic_position' => 'uvs_floating_mic_position',
     13        'mute_audio_phrases'    => 'uvs_mute_audio_phrases'
    1314    );
    1415
     
    1819    private $uvs_floating_mic          = null;
    1920    private $uvs_floating_mic_position = 'Middle Right';
    20     private $uvs_all_languages = array();
     21    private $uvs_all_languages         = array();
     22    private $uvs_mute_audio_phrases    = null;
    2123
    2224    /**
     
    334336        $this->uvs_all_languages = UvsLanguage::get_all_languages();
    335337        $this->uvs_all_languages = isset($this->uvs_all_languages) ? $this->uvs_all_languages : array('en-US' => array(UvsLanguage::NAME => 'English (United States)', UvsLanguage::LANG_CODE => 'en-US'));
     338
     339        // For mute audio phrases
     340        $this->uvs_mute_audio_phrases = strip_tags(stripslashes(get_option(self::BASIC_CONFIG_OPTION_NAMES['mute_audio_phrases'], null)));
    336341?>
    337342        <div class="wrap">
     
    385390
    386391                            <div class="uvs-basic-config-sub-row">
     392                                <div id='uvsSubscribe'><?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['subscribe']; ?><a href="https://speak2web.com/voice-search-for-wordpress-plugin" target="_blank">https://speak2web.com/voice-search-for-wordpress-plugin</a></div>
    387393                                <div class="uvs-basic-config-attached-label-column">License Key</div>
    388394                                <div class="uvs-basic-config-attached-input-column">
     
    395401                                </div>
    396402                            </div>
     403                            <!-- Floating Mic Position -->
     404                            <div class="uvs-basic-config-sub-row">
     405                                <div class="uvs-dotted-border">
     406                                    <label for="<?php echo self::BASIC_CONFIG_OPTION_NAMES['floating_mic_position']; ?>">
     407                                        <b><?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['floatingMicOptions']; ?></b>
     408                                    </label><br><br>
     409                                    <label for="uvsFloatingMic">
     410                                        <input
     411                                        id="uvsFloatingMic"
     412                                        type='checkbox'
     413                                        name="<?php echo self::BASIC_CONFIG_OPTION_NAMES['floating_mic']; ?>"
     414                                        value="yes" <?php checked('yes', $this->uvs_floating_mic);?>
     415                                        > <?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['floatingMic']; ?>
     416                                    </label><br>
     417                                    <div><?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['selectFloatingMicPosition']; ?> <select id="uvsFloatingMicPosition" name="<?php echo self:: BASIC_CONFIG_OPTION_NAMES['floating_mic_position']; ?>">
     418                                            <option value="Middle Right" <?php selected('Middle Right', $this->uvs_floating_mic_position);?>>Middle Right</option>
     419                                            <option value="Middle Left" <?php selected('Middle Left', $this->uvs_floating_mic_position);?>>Middle Left</option>
     420                                            <option value="Top Right" <?php selected('Top Right', $this->uvs_floating_mic_position);?>>Top Right</option>
     421                                            <option value="Top Left" <?php selected('Top Left', $this->uvs_floating_mic_position);?>>Top Left</option>
     422                                            <option value="Bottom Right" <?php selected('Bottom Right', $this->uvs_floating_mic_position);?>>Bottom Right</option>
     423                                            <option value="Bottom Left" <?php selected('Bottom Left', $this->uvs_floating_mic_position);?>>Bottom Left</option>                                                                                 
     424                                        </select>
     425                                    </div>
     426                                </div>
     427                            </div>
     428                            <!-- END Floating Mic Position -->
    397429                            <div class="uvs-basic-config-sub-row">
    398430                                <span class="uvs-autotimeout-label">
     
    410442                            </div>
    411443                            <div class="uvs-basic-config-sub-row">
    412                                 <label for="uvsFloatingMic">
     444                                <label for="uvsMuteAudioPhrases">
    413445                                    <input
    414                                     id="uvsFloatingMic"
     446                                    id="uvsMuteAudioPhrases"
    415447                                    type='checkbox'
    416                                     name="<?php echo self::BASIC_CONFIG_OPTION_NAMES['floating_mic']; ?>"
    417                                     value="yes" <?php checked('yes', $this->uvs_floating_mic);?>
    418                                     > <?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['floatingMic']; ?>
     448                                    name="<?php echo self::BASIC_CONFIG_OPTION_NAMES['mute_audio_phrases']; ?>"
     449                                    value="yes" <?php checked('yes', $this->uvs_mute_audio_phrases);?>
     450                                    > <?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['muteAudioPhrases']; ?>
    419451                                </label>
    420452                            </div>
    421                             <!-- Floating Mic Position -->
    422                                 <div class="uvs-basic-config-sub-row">
    423                                     <label for="<?php echo self::BASIC_CONFIG_OPTION_NAMES['floating_mic_position']; ?>">
    424                                         <b><?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['floatingMicOptions']; ?></b>
    425                                     </label><br>
    426                                     <div><?php echo UVS_LANGUAGE_LIBRARY['basicConfig']['selectFloatingMicPosition']; ?> <select id="uvsFloatingMicPosition" name="<?php echo self:: BASIC_CONFIG_OPTION_NAMES['floating_mic_position']; ?>">
    427                                             <option value="Middle Right" <?php selected('Middle Right', $this->uvs_floating_mic_position);?>>Middle Right</option>
    428                                             <option value="Middle Left" <?php selected('Middle Left', $this->uvs_floating_mic_position);?>>Middle Left</option>
    429                                             <option value="Top Right" <?php selected('Top Right', $this->uvs_floating_mic_position);?>>Top Right</option>
    430                                             <option value="Top Left" <?php selected('Top Left', $this->uvs_floating_mic_position);?>>Top Left</option>
    431                                             <option value="Bottom Right" <?php selected('Bottom Right', $this->uvs_floating_mic_position);?>>Bottom Right</option>
    432                                             <option value="Bottom Left" <?php selected('Bottom Left', $this->uvs_floating_mic_position);?>>Bottom Left</option>                                                                                 
    433                                         </select>
    434                                     </div>
    435                                 </div>
    436                             <!-- END Floating Mic Position -->
    437453                        </div>
    438454
     
    467483        register_setting('uvs-basic-config-settings-group', self::BASIC_CONFIG_OPTION_NAMES['floating_mic']);
    468484        register_setting('uvs-basic-config-settings-group', self::BASIC_CONFIG_OPTION_NAMES['floating_mic_position']);
     485        register_setting('uvs-basic-config-settings-group', self::BASIC_CONFIG_OPTION_NAMES['mute_audio_phrases']);
    469486    }
    470487}
  • universal-voice-search/trunk/composer.json

    r2290367 r2301256  
    22  "name": "speak2web/universal-voice-search",
    33  "description": "Allows user to fill up text fields via voice.",
    4   "version": "2.1.0",
     4  "version": "2.1.1",
    55  "type": "wordpress-plugin",
    66  "license": "GPL-2.0+",
  • universal-voice-search/trunk/css/settings/uvs-settings.css

    r2188724 r2301256  
    55/* Common CSS */
    66.uvs-language {
    7     width: 155px !important;
    8     cursor: pointer;
     7    cursor: pointer !important;
    98}
    109#uvsavigationSettingsWrapper {
     
    3433    height: 66px;
    3534    float: right;
     35}
     36#uvsSubscribe {
     37    font-size: 0.9em !important;
     38    font-style: italic !important;
     39    text-align: right !important;
     40    padding: 3px 10px 3px 3px !important;
     41    margin-bottom: 3px !important;
     42    background-color: #29f48f !important;
    3643}
    3744.uvs-setting-header-column-1,
     
    8491}
    8592.uvs-autotimeout-mic {
    86    
    8793    margin-top: 5px;
    8894}
    8995.uvs-autotimeout-label {
    90     font-size: 12px;
    9196    font-weight: normal;
    92     letter-spacing: 1px;
    9397}
    9498#uvsavigationSettingsWrapper .uvs-basic-config-section-title {
    95     background-color: #000000;
     99    background-color: #144659 !important;
    96100    color: #ffffff;
    97101    padding: 5px;
    98102    text-align: center;
    99103    cursor: default;
     104}
     105.uvs-dotted-border {
     106    border: 1px dotted black !important;
     107    padding: 10px !important;
    100108}
    101109/* End of Basic Configuration sections */
  • universal-voice-search/trunk/css/settings/uvs-settings.min.css

    r2188724 r2301256  
    1 .uvs-language{width:155px!important;cursor:pointer}#uvsavigationSettingsWrapper{background-color:#f1f1f1;padding:5px}#uvsavigationSettingsWrapper table{border-collapse:collapse;width:100%}.uvs-row{margin-bottom:15px}.uvs-row:after,.uvs-basic-config-sub-row:after{content:"";display:table;clear:both}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeading{font-size:1.5em;color:#000;cursor:default}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{min-width:200px;height:66px;float:right}.uvs-setting-header-column-1,.uvs-setting-header-column-2{float:left}.uvs-setting-header-column-1{padding-top:10px}.uvs-setting-header-column-1{width:50%}.uvs-setting-header-column-2{width:50%}#uvsavigationSettingsHeader.uvs-row{margin-bottom:5px}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3{float:left}.uvs-setting-basic-config-column-1{width:20%}.uvs-setting-basic-config-column-2{width:70%}.uvs-setting-basic-config-column-3{width:10%;text-align:center}.uvs-setting-basic-config-column-2{padding-top:5px;padding-bottom:5px}#uvsavigationBasicConfigSection.uvs-row{display:-webkit-box;display:-ms-flexbox;display:flex}.uvs-basic-config-sub-row{padding:5px}.uvs-basic-config-attached-label-column{margin-top:1px;width:14%;float:left;font-size:0.9em!important}.uvs-basic-config-attached-input-column{width:100%}.uvs-basic-config-attached-input-column input{width:84%;margin-left:0}#uvsavigationBasicConfigSection .uvs-row{margin-bottom:0}table#uvsavigationBasicConfHeaderTable{height:100%}.uvs-basic-config-attached-label-column{text-align:center;font-weight:700;background-color:#eee;padding:2px;border:1px solid #ccc}.uvs-autotimeout-mic{margin-top:5px}.uvs-autotimeout-label{font-size:12px;font-weight:400;letter-spacing:1px}#uvsavigationSettingsWrapper .uvs-basic-config-section-title{background-color:#000;color:#fff;padding:5px;text-align:center;cursor:default}.uvs-card{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.2);box-shadow:0 4px 8px 0 rgba(0,0,0,.2);background-color:#fff}@media screen and (max-width:600px){.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-attached-input-column,.uvs-basic-config-attached-input-column input,.uvs-setting-header-column-1,.uvs-setting-header-column-2{width:100%}.uvs-setting-header-column-1,.uvs-setting-header-column-2{text-align:center}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{float:none}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-sub-row{margin-top:10px}#uvsBasicConfHeaderSection.uvs-setting-basic-config-column-1{margin-top:0}#uvsavigationBasicConfigSection.uvs-row{display:block!important}#uvsBasicConfHeaderSection{padding:0!important}.uvs-basic-config-attached-label-column{width:99%}}@media only screen and (min-device-width :320px) and (max-device-width :480px){.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-attached-input-column,.uvs-basic-config-attached-input-column input,.uvs-setting-header-column-1,.uvs-setting-header-column-2{width:100%}.uvs-setting-header-column-1,.uvs-setting-header-column-2{text-align:center}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{float:none}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-sub-row{margin-top:10px}#uvsBasicConfHeaderSection.uvs-setting-basic-config-column-1{margin-top:0}#uvsavigationBasicConfigSection.uvs-row{display:block!important}#uvsBasicConfHeaderSection{padding:0!important}.uvs-basic-config-attached-label-column{width:98%}}
     1.uvs-language{cursor:pointer!important}#uvsavigationSettingsWrapper{background-color:#f1f1f1;padding:5px}#uvsavigationSettingsWrapper table{border-collapse:collapse;width:100%}.uvs-row{margin-bottom:15px}.uvs-row:after,.uvs-basic-config-sub-row:after{content:"";display:table;clear:both}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeading{font-size:1.5em;color:#000;cursor:default}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{min-width:200px;height:66px;float:right}#uvsSubscribe{font-size:0.9em!important;font-style:italic!important;text-align:right!important;padding:3px 10px 3px 3px!important;margin-bottom:3px!important;background-color:#29f48f!important}.uvs-setting-header-column-1,.uvs-setting-header-column-2{float:left}.uvs-setting-header-column-1{padding-top:10px}.uvs-setting-header-column-1{width:50%}.uvs-setting-header-column-2{width:50%}#uvsavigationSettingsHeader.uvs-row{margin-bottom:5px}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3{float:left}.uvs-setting-basic-config-column-1{width:20%}.uvs-setting-basic-config-column-2{width:70%}.uvs-setting-basic-config-column-3{width:10%;text-align:center}.uvs-setting-basic-config-column-2{padding-top:5px;padding-bottom:5px}#uvsavigationBasicConfigSection.uvs-row{display:-webkit-box;display:-ms-flexbox;display:flex}.uvs-basic-config-sub-row{padding:5px}.uvs-basic-config-attached-label-column{margin-top:1px;width:14%;float:left;font-size:0.9em!important}.uvs-basic-config-attached-input-column{width:100%}.uvs-basic-config-attached-input-column input{width:84%;margin-left:0}#uvsavigationBasicConfigSection .uvs-row{margin-bottom:0}table#uvsavigationBasicConfHeaderTable{height:100%}.uvs-basic-config-attached-label-column{text-align:center;font-weight:700;background-color:#eee;padding:2px;border:1px solid #ccc}.uvs-autotimeout-mic{margin-top:5px}.uvs-autotimeout-label{font-weight:400}#uvsavigationSettingsWrapper .uvs-basic-config-section-title{background-color:#144659!important;color:#fff;padding:5px;text-align:center;cursor:default}.uvs-dotted-border{border:1px dotted black!important;padding:10px!important}.uvs-card{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.2);box-shadow:0 4px 8px 0 rgba(0,0,0,.2);background-color:#fff}@media screen and (max-width:600px){.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-attached-input-column,.uvs-basic-config-attached-input-column input,.uvs-setting-header-column-1,.uvs-setting-header-column-2{width:100%}.uvs-setting-header-column-1,.uvs-setting-header-column-2{text-align:center}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{float:none}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-sub-row{margin-top:10px}#uvsBasicConfHeaderSection.uvs-setting-basic-config-column-1{margin-top:0}#uvsavigationBasicConfigSection.uvs-row{display:block!important}#uvsBasicConfHeaderSection{padding:0!important}.uvs-basic-config-attached-label-column{width:99%}}@media only screen and (min-device-width :320px) and (max-device-width :480px){.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-attached-input-column,.uvs-basic-config-attached-input-column input,.uvs-setting-header-column-1,.uvs-setting-header-column-2{width:100%}.uvs-setting-header-column-1,.uvs-setting-header-column-2{text-align:center}#uvsavigationSettingsWrapper #uvsavigationSettingsPageHeaderLogo{float:none}.uvs-setting-basic-config-column-1,.uvs-setting-basic-config-column-2,.uvs-setting-basic-config-column-3,.uvs-basic-config-sub-row{margin-top:10px}#uvsBasicConfHeaderSection.uvs-setting-basic-config-column-1{margin-top:0}#uvsavigationBasicConfigSection.uvs-row{display:block!important}#uvsBasicConfHeaderSection{padding:0!important}.uvs-basic-config-attached-label-column{width:98%}}
  • universal-voice-search/trunk/js/universal-voice-search.js

    r2289691 r2301256  
    245245            var ignore_onend;
    246246
    247             if ('webkitSpeechRecognition' in window && uvsSttLanguageContext['ibm']['stt'] === false) {
     247            if ('webkitSpeechRecognition' in window && uvsClientInfo['chrome'] === true && uvsSttLanguageContext['ibm']['stt'] === false) {
    248248                var recognition = new webkitSpeechRecognition();
    249249                recognition.continuous = true;
     
    678678        let widget_ignore_onend;
    679679
    680         if ('webkitSpeechRecognition' in window && uvsSttLanguageContext['ibm']['stt'] === false) {
     680        if ('webkitSpeechRecognition' in window && uvsClientInfo['chrome'] === true && uvsSttLanguageContext['ibm']['stt'] === false) {
    681681            let widgetRecognition = new webkitSpeechRecognition();
    682682            widgetRecognition.continuous = true;
  • universal-voice-search/trunk/js/universal-voice-search.min.js

    r2289691 r2301256  
    1 !function(){"use strict";let e=0;var t=null;function s(e){try{null!=e&&0!=e&&clearInterval(e)}catch(e){}}function i(e){return e=parseInt(e,10),isNaN(e)||null==e?0:e}function u(e=null){var t=!1;try{var s=document.querySelectorAll("button.universal-voice-search-button");if(null==s||null==e)return t;for(var i=0;i<s.length;i++){var u=s[i].className,n=s[i].getAttribute("id");if(void 0!==u&&""!=u.trim()&&(-1!=u.indexOf("listening")&&e!=n)){t=!0;break}}}catch(e){t=!1}return t}"undefined"!=typeof uvsMicListenTimeoutDuration&&null!==uvsMicListenTimeoutDuration?(t=parseInt(uvsMicListenTimeoutDuration),t=isNaN(t)?8:t):t=8,t=(t=t<8?8:t)>20?20:t,t*=1e3;var n=["form[role=search]","form[class=searchform]","form[class=search_form]","form[class=search-form]","form[class=searchForm]"],r=["input[name=s]","input[name=search]","input[name=find]","input[type=search]","input[class=search-field]","input[class=search_field]","input[class=searchfield]","input[class=searchField]","input[id=search]","input[id=search-field]","input[id=search_field]","input[id=searchfield]","input[id=searchField]"],o=!0===(!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform))?"touchend":"click",l=navigator.userAgent.toLowerCase().indexOf("android")>-1,a=null,c=document.querySelectorAll("form"),d=[];try{for(var v=0;v<n.length&&!((d=document.querySelectorAll(n[v])).length>0);v++);}catch(e){d=[]}d.length<c.length&&(d=null,d=c);let p=null;if([].forEach.call(d,function(e,n){var c=null,d=!1;try{0==n&&(p=e);for(var v=0;v<r.length&&null===(c=e.querySelector(r[v]));v++);let t=e.querySelector("input[type=submit]");if(null===t&&(t=e.querySelector("button[type=submit]")),null!==t){e.addEventListener("submit",function(e){1==d&&e.preventDefault()},!1);try{let e=t.querySelectorAll("img, svg");for(let t=0;t<e.length;t++){e[t].classList.add("uvs-hide-element")}}catch(e){}}}catch(e){c=null}if(null!==c)try{var g=e.getAttribute("style");g=null!=g&&""!=g.trim()?g+";":"",e.setAttribute("style",g+"display: block !important"),e.classList.add("universal-voice-search-wrapper"),e.classList.add("uvs-sanitize-form-wrapper");var A=document.createElement("button");A.setAttribute("type","button"),A.setAttribute("class","universal-voice-search-button"),A.setAttribute("id","universal-voice-search-button"+n),A.appendChild(document.createTextNode(universal_voice_search.button_message));var f=document.createElement("img");f.setAttribute("src",uvsImagesPath+"uvs_mic.svg"),f.setAttribute("class","uvs-mic-image"),A.appendChild(f);var m=i(c.offsetHeight),h=i(.8*m);0==i(h)&&(m=h=35);var b="top: "+i(.1*m)+"px; ";b+="height: "+h+"px !important; ",b+="width: "+h+"px !important; ",b+="z-index: 999 !important; margin-left: 3px !important; border-radius: 50% !important;  border: 2px solid #ffff !important;",A.setAttribute("style",b);var y=document.createElement("div");let r=window.getComputedStyle(c);y.setAttribute("class","uvs-mic-band"),y.setAttribute("onclick","return false"),y.style.width=r.width,c.insertAdjacentElement("beforebegin",y);var w=c.parentNode.nodeName;null!=w&&0!=w.length&&"form"!=(w=w.toLowerCase())&&(c.parentNode.style.zIndex=1),y.appendChild(c),c.insertAdjacentElement("beforebegin",A),c.classList.add("uvs-mic-band"),e.setAttribute("style",g);var P,R="",x="";if("webkitSpeechRecognition"in window&&!1===uvsSttLanguageContext.ibm.stt){var L=new webkitSpeechRecognition;function C(){d=!1,P||(R=x,A.classList.remove("listening"),A.style.setProperty("color","white"),void 0!==R&&0!=R.length?(c.value=x,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()):c.placeholder=uvsMessages.ask)}L.continuous=!0,L.interimResults=!0,L.onstart=function(){d=!0},L.onerror=function(e){s(a),A.classList.remove("listening"),d=!1,"no-speech"==e.error&&(c.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),P=!0),"audio-capture"==e.error&&(c.placeholder=uvsMessages.micNotAccessible,P=!0),"not-allowed"==e.error&&(c.placeholder=uvsMessages.browserDenyMicAccess,A.style.setProperty("color","white"),P=!0)},L.onend=function(){l&&C()},L.onresult=function(e){let t="";if(void 0===e.results)return L.onend=null,L.stop(),c.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.micConnect),void uvsAudioPlayer.play();for(var s=e.resultIndex;s<e.results.length;++s)e.results[s].isFinal?(x=e.results[s][0].transcript,0==l&&(C(),L.stop())):(t+=e.results[s][0].transcript,c.value=t)},A.addEventListener(o,function(e){if(!0!==u(A.getAttribute("id"))){var i=document.getElementById("universal-voice-search-button"+n),r=i.className;null!=r&&-1!=r.indexOf("listening")||(a=setInterval(function(){var e=i.className;null!=e&&-1!=e.indexOf("listening")&&i.click(),s(a),a=!1},t)),d?(uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),0==l&&(C(),L.stop())):(A.classList.add("listening"),e.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),c.value=R="",d=!0,L.lang=uvsSttLanguageContext.gcp.stt?uvsSttLanguageContext.gcp.langCode:"en-US",L.start(),P=!1)}})}else A.addEventListener(o,function(i){function r(){if("undefined"==typeof uvsXApiKey||null===uvsXApiKey)return uvsAudioPlayer.configure(uvsAlternativeResponse.unavailable),uvsAudioPlayer.play(),!1;var u=document.getElementById("universal-voice-search-button"+n),r=u.className;if(null!=r&&-1!=r.indexOf("listening")||(a=setInterval(function(){var e=u.className;null!=e&&-1!=e.indexOf("listening")&&u.click(),s(a),a=!1},t)),d)return s(a),uvsAudioRecorder.stop(),uvsStopAudio(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),A.classList.remove("listening"),A.style.setProperty("color","white"),c.placeholder=uvsMessages.transcribeText,uvsAudioRecorder.getBuffers(function(t){uvsSttLanguageContext.ibm.stt?uvsAudioRecorder.exportWAV(function(t){uvsRecIndex++,stt(t,!1,function(t){void 0!==t&&0!=t.length?(c.value=t,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask)})}):uvsSttLanguageContext.gcp.stt?uvsAudioRecorder.exportMonoWAV(function(t){uvsAudioRecorder.convertBlobToBase64(t).then(function(t){uvsGcpStt(t).then(function(t){c.value=t,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask})}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask})}):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask)}),void(d=!1);A.classList.add("listening"),i.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),c.value=R="",d=!0,uvsAudioRecorder.clear(),uvsAudioRecorder.record(u)}!0!==u(A.getAttribute("id"))&&(uvsAudioRecorder&&uvsAudioContext?r():uvsInitAudio(function(e){if(!uvsAudioRecorder||!uvsAudioContext)return alert(uvsMessages.cantAccessMicrophone),!1;r()}))},!1)}catch(e){}}),uvsFloatingMic&&"yes"===uvsFloatingMic){let s=document.createDocumentFragment(),i=document.createElement("div"),n="uvs-widget-wrapper-middle-right",r="uvs-widget-chat-wrapper-middle-right";switch(uvsSelectedMicPosition?uvsSelectedMicPosition.toLowerCase():"middle right"){case"middle left":n="uvs-widget-wrapper-middle-left",r="uvs-widget-chat-wrapper-middle-left";break;case"top right":n="uvs-widget-wrapper-top-right",r="uvs-widget-chat-wrapper-top-right";break;case"top left":n="uvs-widget-wrapper-top-left",r="uvs-widget-chat-wrapper-top-left";break;case"bottom right":n="uvs-widget-wrapper-bottom-right",r="uvs-widget-chat-wrapper-bottom-right";break;case"bottom left":n="uvs-widget-wrapper-bottom-left",r="uvs-widget-chat-wrapper-bottom-left";break;default:n="uvs-widget-wrapper-middle-right",r="uvs-widget-chat-wrapper-middle-right"}i.setAttribute("class","uvs-widget-wrapper "+n);let a=document.createElement("div");a.setAttribute("class","uvs-widget-chat-wrapper "+r);let c=document.createElement("div");c.setAttribute("class","uvs-widget-field");let d=document.createElement("a");d.setAttribute("id","uvsWidgetMic"),d.setAttribute("class","uvs-widget-button");let v=document.createElement("img");v.setAttribute("src",uvsImagesPath+"uvs-widget-mic-black.svg"),d.appendChild(v);let f=document.createElement("a");f.setAttribute("id","uvsWidgetSearchBtn");let m=document.createElement("button");m.setAttribute("class","uvs-widget-form-submit-btn"),m.setAttribute("type","submit"),m.setAttribute("alt","Go"),m.setAttribute("title","Search"),f.appendChild(m);let h=document.createElement("form");h.setAttribute("class","uvs-widget-form"),null!==p?(h.action=p.action,h.method=p.method):(h.action=uvsGetCurrentHostURL()+"/",h.method="get");let b=document.createElement("input");b.setAttribute("id","uvsWidgetSearch"),b.setAttribute("class","uvs-widget-search uvs-widget-search-text"),b.setAttribute("name","uvs-widget-search"),b.setAttribute("placeholder",uvsWidgetMessages.placeholder),b.setAttribute("name","s"),h.appendChild(b),h.appendChild(f),c.appendChild(d),c.appendChild(h),a.appendChild(c);let y=document.createElement("a");y.setAttribute("id","uvsWidgetToggleButton"),y.setAttribute("class","uvs-widget-button");let w=document.createElement("div");w.setAttribute("class","uvs-widget-icon uvs-widget-toggle-button uvs-toggle-btn-mic"),y.appendChild(w),i.appendChild(a),i.appendChild(y),s.appendChild(i),document.body.appendChild(s),y.addEventListener("click",function(e){A(".uvs-widget-toggle-button","uvs-toggle-btn-mic"),A(".uvs-widget-toggle-button","uvs-toggle-btn-close"),A(".uvs-widget-toggle-button","uvs-widget-active"),A(".uvs-widget-toggle-button","uvs-widget-visible"),A("#uvsWidgetToggleButton","uvs-widget-float"),A(".uvs-widget-chat-wrapper","uvs-widget-visible"),A(".uvs-widget-button","uvs-widget-visible")});let P,R="",x=!1,L="";if("webkitSpeechRecognition"in window&&!1===uvsSttLanguageContext.ibm.stt){let s=new webkitSpeechRecognition;function g(){x=!1,P||(R=L,d.classList.remove("listening"),void 0!==R&&0!=R.length?(b.value=R,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask))}s.continuous=!0,s.interimResults=!0,s.onstart=function(){x=!0},s.onerror=function(e){d.classList.remove("listening"),x=!1,"no-speech"==e.error&&(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),P=!0,b.placeholder=uvsMessages.unableToHear),"audio-capture"==e.error&&(P=!0,b.placeholder=uvsMessages.micNotAccessible),"not-allowed"==e.error&&(P=!0,b.placeholder=uvsMessages.browserDenyMicAccess)},s.onend=function(){l&&g()},s.onresult=function(e){let t="";if(void 0===e.results)return s.onend=null,s.stop(),b.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.micConnect),void uvsAudioPlayer.play();let i=e.results.length;for(let u=e.resultIndex;u<i;++u)e.results[u].isFinal?(L=e.results[u][0].transcript,0==l&&(g(),s.stop())):t+=e.results[u][0].transcript},d.addEventListener(o,function(i){if(!0===u(d.getAttribute("id")))return;let n=d.className;var r,o,a;null!=n&&-1!=n.indexOf("listening")||(r=e+=1,o=d,a=t,new Promise(function(t){setTimeout(function(){var s=o.className;null!=s&&-1!=s.indexOf("listening")&&r==e&&o.click(),t("resolved")},a)})),x?(uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),0==l&&(g(),s.stop())):(d.classList.add("listening"),i.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),R="",x=!0,s.lang=uvsSttLanguageContext.gcp.stt?uvsSttLanguageContext.gcp.langCode:"en-US",s.start(),P=!1)})}else d.addEventListener(o,function(s){function i(){if("undefined"==typeof uvsXApiKey||null===uvsXApiKey)return uvsAudioPlayer.configure(uvsAlternativeResponse.unavailable),uvsAudioPlayer.play(),!1;let i=d.className;var u,n,r;if(null!=i&&-1!=i.indexOf("listening")||(u=e+=1,n=d,r=t,new Promise(function(t){setTimeout(function(){var s=n.className;null!=s&&-1!=s.indexOf("listening")&&u==e&&d.click(),t("resolved")},r)})),x)return uvsAudioRecorder.stop(),uvsStopAudio(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),d.classList.remove("listening"),b.placeholder=uvsMessages.transcribeText,uvsAudioRecorder.getBuffers(function(e){uvsSttLanguageContext.ibm.stt?uvsAudioRecorder.exportWAV(function(e){uvsRecIndex++,stt(e,!1,function(e){void 0!==e&&0!=e.length?(b.value=e,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask)})}):uvsSttLanguageContext.gcp.stt?uvsAudioRecorder.exportMonoWAV(function(e){uvsAudioRecorder.convertBlobToBase64(e).then(function(e){uvsGcpStt(e).then(function(e){b.value=e,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask})}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask})}):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask)}),void(x=!1);d.classList.add("listening"),s.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),R="",x=!0,uvsAudioRecorder.clear(),uvsAudioRecorder.record(d)}!0!==u(d.getAttribute("id"))&&(uvsAudioRecorder&&uvsAudioContext?i():uvsInitAudio(function(e){if(!uvsAudioRecorder||!uvsAudioContext)return b.placeholder=uvsMessages.micNotAccessible,!1;i()}))},!1);function A(e,t){if(void 0===e||null==e||0==e.length)return!1;let s=document.querySelector(e);if(s.classList)s.classList.toggle(t);else{let e=s.className.split(" "),i=e.indexOf(t);i>=0?e.splice(i,1):(e.push(t),s.className=e.join(" "))}}}}();
     1!function(){"use strict";let e=0;var t=null;function s(e){try{null!=e&&0!=e&&clearInterval(e)}catch(e){}}function i(e){return e=parseInt(e,10),isNaN(e)||null==e?0:e}function u(e=null){var t=!1;try{var s=document.querySelectorAll("button.universal-voice-search-button");if(null==s||null==e)return t;for(var i=0;i<s.length;i++){var u=s[i].className,n=s[i].getAttribute("id");if(void 0!==u&&""!=u.trim()&&(-1!=u.indexOf("listening")&&e!=n)){t=!0;break}}}catch(e){t=!1}return t}"undefined"!=typeof uvsMicListenTimeoutDuration&&null!==uvsMicListenTimeoutDuration?(t=parseInt(uvsMicListenTimeoutDuration),t=isNaN(t)?8:t):t=8,t=(t=t<8?8:t)>20?20:t,t*=1e3;var n=["form[role=search]","form[class=searchform]","form[class=search_form]","form[class=search-form]","form[class=searchForm]"],r=["input[name=s]","input[name=search]","input[name=find]","input[type=search]","input[class=search-field]","input[class=search_field]","input[class=searchfield]","input[class=searchField]","input[id=search]","input[id=search-field]","input[id=search_field]","input[id=searchfield]","input[id=searchField]"],o=!0===(!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform))?"touchend":"click",l=navigator.userAgent.toLowerCase().indexOf("android")>-1,a=null,c=document.querySelectorAll("form"),d=[];try{for(var v=0;v<n.length&&!((d=document.querySelectorAll(n[v])).length>0);v++);}catch(e){d=[]}d.length<c.length&&(d=null,d=c);let p=null;if([].forEach.call(d,function(e,n){var c=null,d=!1;try{0==n&&(p=e);for(var v=0;v<r.length&&null===(c=e.querySelector(r[v]));v++);let t=e.querySelector("input[type=submit]");if(null===t&&(t=e.querySelector("button[type=submit]")),null!==t){e.addEventListener("submit",function(e){1==d&&e.preventDefault()},!1);try{let e=t.querySelectorAll("img, svg");for(let t=0;t<e.length;t++){e[t].classList.add("uvs-hide-element")}}catch(e){}}}catch(e){c=null}if(null!==c)try{var g=e.getAttribute("style");g=null!=g&&""!=g.trim()?g+";":"",e.setAttribute("style",g+"display: block !important"),e.classList.add("universal-voice-search-wrapper"),e.classList.add("uvs-sanitize-form-wrapper");var f=document.createElement("button");f.setAttribute("type","button"),f.setAttribute("class","universal-voice-search-button"),f.setAttribute("id","universal-voice-search-button"+n),f.appendChild(document.createTextNode(universal_voice_search.button_message));var A=document.createElement("img");A.setAttribute("src",uvsImagesPath+"uvs_mic.svg"),A.setAttribute("class","uvs-mic-image"),f.appendChild(A);var m=i(c.offsetHeight),h=i(.8*m);0==i(h)&&(m=h=35);var b="top: "+i(.1*m)+"px; ";b+="height: "+h+"px !important; ",b+="width: "+h+"px !important; ",b+="z-index: 999 !important; margin-left: 3px !important; border-radius: 50% !important;  border: 2px solid #ffff !important;",f.setAttribute("style",b);var y=document.createElement("div");let r=window.getComputedStyle(c);y.setAttribute("class","uvs-mic-band"),y.setAttribute("onclick","return false"),y.style.width=r.width,c.insertAdjacentElement("beforebegin",y);var w=c.parentNode.nodeName;null!=w&&0!=w.length&&"form"!=(w=w.toLowerCase())&&(c.parentNode.style.zIndex=1),y.appendChild(c),c.insertAdjacentElement("beforebegin",f),c.classList.add("uvs-mic-band"),e.setAttribute("style",g);var P,R="",x="";if("webkitSpeechRecognition"in window&&!0===uvsClientInfo.chrome&&!1===uvsSttLanguageContext.ibm.stt){var C=new webkitSpeechRecognition;function L(){d=!1,P||(R=x,f.classList.remove("listening"),f.style.setProperty("color","white"),void 0!==R&&0!=R.length?(c.value=x,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()):c.placeholder=uvsMessages.ask)}C.continuous=!0,C.interimResults=!0,C.onstart=function(){d=!0},C.onerror=function(e){s(a),f.classList.remove("listening"),d=!1,"no-speech"==e.error&&(c.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),P=!0),"audio-capture"==e.error&&(c.placeholder=uvsMessages.micNotAccessible,P=!0),"not-allowed"==e.error&&(c.placeholder=uvsMessages.browserDenyMicAccess,f.style.setProperty("color","white"),P=!0)},C.onend=function(){l&&L()},C.onresult=function(e){let t="";if(void 0===e.results)return C.onend=null,C.stop(),c.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.micConnect),void uvsAudioPlayer.play();for(var s=e.resultIndex;s<e.results.length;++s)e.results[s].isFinal?(x=e.results[s][0].transcript,0==l&&(L(),C.stop())):(t+=e.results[s][0].transcript,c.value=t)},f.addEventListener(o,function(e){if(!0!==u(f.getAttribute("id"))){var i=document.getElementById("universal-voice-search-button"+n),r=i.className;null!=r&&-1!=r.indexOf("listening")||(a=setInterval(function(){var e=i.className;null!=e&&-1!=e.indexOf("listening")&&i.click(),s(a),a=!1},t)),d?(uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),0==l&&(L(),C.stop())):(f.classList.add("listening"),e.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),c.value=R="",d=!0,C.lang=uvsSttLanguageContext.gcp.stt?uvsSttLanguageContext.gcp.langCode:"en-US",C.start(),P=!1)}})}else f.addEventListener(o,function(i){function r(){if("undefined"==typeof uvsXApiKey||null===uvsXApiKey)return uvsAudioPlayer.configure(uvsAlternativeResponse.unavailable),uvsAudioPlayer.play(),!1;var u=document.getElementById("universal-voice-search-button"+n),r=u.className;if(null!=r&&-1!=r.indexOf("listening")||(a=setInterval(function(){var e=u.className;null!=e&&-1!=e.indexOf("listening")&&u.click(),s(a),a=!1},t)),d)return s(a),uvsAudioRecorder.stop(),uvsStopAudio(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),f.classList.remove("listening"),f.style.setProperty("color","white"),c.placeholder=uvsMessages.transcribeText,uvsAudioRecorder.getBuffers(function(t){uvsSttLanguageContext.ibm.stt?uvsAudioRecorder.exportWAV(function(t){uvsRecIndex++,stt(t,!1,function(t){void 0!==t&&0!=t.length?(c.value=t,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask)})}):uvsSttLanguageContext.gcp.stt?uvsAudioRecorder.exportMonoWAV(function(t){uvsAudioRecorder.convertBlobToBase64(t).then(function(t){uvsGcpStt(t).then(function(t){c.value=t,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){e.submit()}),uvsAudioPlayer.play()}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask})}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask})}):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),c.placeholder=uvsMessages.ask)}),void(d=!1);f.classList.add("listening"),i.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),c.value=R="",d=!0,uvsAudioRecorder.clear(),uvsAudioRecorder.record(u)}!0!==u(f.getAttribute("id"))&&(uvsAudioRecorder&&uvsAudioContext?r():uvsInitAudio(function(e){if(!uvsAudioRecorder||!uvsAudioContext)return alert(uvsMessages.cantAccessMicrophone),!1;r()}))},!1)}catch(e){}}),uvsFloatingMic&&"yes"===uvsFloatingMic){let s=document.createDocumentFragment(),i=document.createElement("div"),n="uvs-widget-wrapper-middle-right",r="uvs-widget-chat-wrapper-middle-right";switch(uvsSelectedMicPosition?uvsSelectedMicPosition.toLowerCase():"middle right"){case"middle left":n="uvs-widget-wrapper-middle-left",r="uvs-widget-chat-wrapper-middle-left";break;case"top right":n="uvs-widget-wrapper-top-right",r="uvs-widget-chat-wrapper-top-right";break;case"top left":n="uvs-widget-wrapper-top-left",r="uvs-widget-chat-wrapper-top-left";break;case"bottom right":n="uvs-widget-wrapper-bottom-right",r="uvs-widget-chat-wrapper-bottom-right";break;case"bottom left":n="uvs-widget-wrapper-bottom-left",r="uvs-widget-chat-wrapper-bottom-left";break;default:n="uvs-widget-wrapper-middle-right",r="uvs-widget-chat-wrapper-middle-right"}i.setAttribute("class","uvs-widget-wrapper "+n);let a=document.createElement("div");a.setAttribute("class","uvs-widget-chat-wrapper "+r);let c=document.createElement("div");c.setAttribute("class","uvs-widget-field");let d=document.createElement("a");d.setAttribute("id","uvsWidgetMic"),d.setAttribute("class","uvs-widget-button");let v=document.createElement("img");v.setAttribute("src",uvsImagesPath+"uvs-widget-mic-black.svg"),d.appendChild(v);let A=document.createElement("a");A.setAttribute("id","uvsWidgetSearchBtn");let m=document.createElement("button");m.setAttribute("class","uvs-widget-form-submit-btn"),m.setAttribute("type","submit"),m.setAttribute("alt","Go"),m.setAttribute("title","Search"),A.appendChild(m);let h=document.createElement("form");h.setAttribute("class","uvs-widget-form"),null!==p?(h.action=p.action,h.method=p.method):(h.action=uvsGetCurrentHostURL()+"/",h.method="get");let b=document.createElement("input");b.setAttribute("id","uvsWidgetSearch"),b.setAttribute("class","uvs-widget-search uvs-widget-search-text"),b.setAttribute("name","uvs-widget-search"),b.setAttribute("placeholder",uvsWidgetMessages.placeholder),b.setAttribute("name","s"),h.appendChild(b),h.appendChild(A),c.appendChild(d),c.appendChild(h),a.appendChild(c);let y=document.createElement("a");y.setAttribute("id","uvsWidgetToggleButton"),y.setAttribute("class","uvs-widget-button");let w=document.createElement("div");w.setAttribute("class","uvs-widget-icon uvs-widget-toggle-button uvs-toggle-btn-mic"),y.appendChild(w),i.appendChild(a),i.appendChild(y),s.appendChild(i),document.body.appendChild(s),y.addEventListener("click",function(e){f(".uvs-widget-toggle-button","uvs-toggle-btn-mic"),f(".uvs-widget-toggle-button","uvs-toggle-btn-close"),f(".uvs-widget-toggle-button","uvs-widget-active"),f(".uvs-widget-toggle-button","uvs-widget-visible"),f("#uvsWidgetToggleButton","uvs-widget-float"),f(".uvs-widget-chat-wrapper","uvs-widget-visible"),f(".uvs-widget-button","uvs-widget-visible")});let P,R="",x=!1,C="";if("webkitSpeechRecognition"in window&&!0===uvsClientInfo.chrome&&!1===uvsSttLanguageContext.ibm.stt){let s=new webkitSpeechRecognition;function g(){x=!1,P||(R=C,d.classList.remove("listening"),void 0!==R&&0!=R.length?(b.value=R,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask))}s.continuous=!0,s.interimResults=!0,s.onstart=function(){x=!0},s.onerror=function(e){d.classList.remove("listening"),x=!1,"no-speech"==e.error&&(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),P=!0,b.placeholder=uvsMessages.unableToHear),"audio-capture"==e.error&&(P=!0,b.placeholder=uvsMessages.micNotAccessible),"not-allowed"==e.error&&(P=!0,b.placeholder=uvsMessages.browserDenyMicAccess)},s.onend=function(){l&&g()},s.onresult=function(e){let t="";if(void 0===e.results)return s.onend=null,s.stop(),b.placeholder=uvsMessages.unableToHear,uvsAudioPlayer.configure(uvsAlternativeResponse.micConnect),void uvsAudioPlayer.play();let i=e.results.length;for(let u=e.resultIndex;u<i;++u)e.results[u].isFinal?(C=e.results[u][0].transcript,0==l&&(g(),s.stop())):t+=e.results[u][0].transcript},d.addEventListener(o,function(i){if(!0===u(d.getAttribute("id")))return;let n=d.className;var r,o,a;null!=n&&-1!=n.indexOf("listening")||(r=e+=1,o=d,a=t,new Promise(function(t){setTimeout(function(){var s=o.className;null!=s&&-1!=s.indexOf("listening")&&r==e&&o.click(),t("resolved")},a)})),x?(uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),0==l&&(g(),s.stop())):(d.classList.add("listening"),i.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),R="",x=!0,s.lang=uvsSttLanguageContext.gcp.stt?uvsSttLanguageContext.gcp.langCode:"en-US",s.start(),P=!1)})}else d.addEventListener(o,function(s){function i(){if("undefined"==typeof uvsXApiKey||null===uvsXApiKey)return uvsAudioPlayer.configure(uvsAlternativeResponse.unavailable),uvsAudioPlayer.play(),!1;let i=d.className;var u,n,r;if(null!=i&&-1!=i.indexOf("listening")||(u=e+=1,n=d,r=t,new Promise(function(t){setTimeout(function(){var s=n.className;null!=s&&-1!=s.indexOf("listening")&&u==e&&d.click(),t("resolved")},r)})),x)return uvsAudioRecorder.stop(),uvsStopAudio(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),d.classList.remove("listening"),b.placeholder=uvsMessages.transcribeText,uvsAudioRecorder.getBuffers(function(e){uvsSttLanguageContext.ibm.stt?uvsAudioRecorder.exportWAV(function(e){uvsRecIndex++,stt(e,!1,function(e){void 0!==e&&0!=e.length?(b.value=e,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask)})}):uvsSttLanguageContext.gcp.stt?uvsAudioRecorder.exportMonoWAV(function(e){uvsAudioRecorder.convertBlobToBase64(e).then(function(e){uvsGcpStt(e).then(function(e){b.value=e,uvsAudioPlayer.configure(uvsAlternativeResponse.basic,function(){h.submit()}),uvsAudioPlayer.play()}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask})}).catch(function(e){uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask})}):(uvsAudioPlayer.configure(uvsAlternativeResponse.notAudible),uvsAudioPlayer.play(),b.placeholder=uvsMessages.ask)}),void(x=!1);d.classList.add("listening"),s.preventDefault(),uvsAudioPlayer.isPlaying()&&uvsAudioPlayer.stop(),R="",x=!0,uvsAudioRecorder.clear(),uvsAudioRecorder.record(d)}!0!==u(d.getAttribute("id"))&&(uvsAudioRecorder&&uvsAudioContext?i():uvsInitAudio(function(e){if(!uvsAudioRecorder||!uvsAudioContext)return b.placeholder=uvsMessages.micNotAccessible,!1;i()}))},!1);function f(e,t){if(void 0===e||null==e||0==e.length)return!1;let s=document.querySelector(e);if(s.classList)s.classList.toggle(t);else{let e=s.className.split(" "),i=e.indexOf(t);i>=0?e.splice(i,1):(e.push(t),s.className=e.join(" "))}}}}();
  • universal-voice-search/trunk/js/uvs.speech-handler.js

    r2289691 r2301256  
    2828
    2929            if (pathOfFile) {
    30                 this.htmlAudioElement.src = _uvsPath + pathOfFile;
     30                let partialFilePath = !!uvsIsMuteSimon ? uvsSilenceSoundPath : pathOfFile;
     31                this.htmlAudioElement.src = _uvsPath + partialFilePath;
    3132                this.htmlAudioElement.preload = 'auto';
    3233                this.lastFilePath = pathOfFile;
  • universal-voice-search/trunk/js/uvs.speech-handler.min.js

    r2289691 r2301256  
    1 "function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var respTimeOut=!1,errcnt=0;let uvsHostName="undefined"!=typeof uvsCurrentHostName?uvsCurrentHostName:null;var uvsAudioPlayer={htmlAudioElement:document.createElement("AUDIO"),lastFilePath:null,antiMuteButtonPlaybacks:[uvsSilenceSoundPath],isAntiMutePlayback:!1,configure:function(t=null,e=null){try{let n=void 0!==t&&t?t:null;n?(this.htmlAudioElement.src=_uvsPath+n,this.htmlAudioElement.preload="auto",this.lastFilePath=n,-1!==this.antiMuteButtonPlaybacks.indexOf(n)?this.isAntiMutePlayback=!0:this.isAntiMutePlayback=!1):(this.htmlAudioElement.src="",this.isAntiMutePlayback=!1),this.htmlAudioElement.onplay=function(){}.bind(this),this.htmlAudioElement.onended=function(){this.htmlAudioElement.src="",this.isAntiMutePlayback=!1,n&&"function"==typeof e&&(e(),e=null)}.bind(this),this.htmlAudioElement.onerror=function(){this.isAntiMutePlayback=!1}.bind(this),this.htmlAudioElement.onplaying=function(){}.bind(this)}catch(t){this.clear(),this.isAntiMutePlayback=!1}},play:function(){try{this.htmlAudioElement&&this.htmlAudioElement.src&&this.htmlAudioElement.play().catch(function(t){console.log("VDN Exception: Failed to play audio.")})}catch(t){this.clear()}},stop:function(){try{this.clear()}catch(t){this.clear()}},clear:function(){try{if(this.htmlAudioElement){let t=isNaN(this.htmlAudioElement.duration)?0:this.htmlAudioElement.duration;this.htmlAudioElement.currentTime=t}this.lastFilePath=null}catch(t){this.lastFilePath=null,this.isAntiMutePlayback=!1}},isPlaying:function(){return(isNaN(this.htmlAudioElement.currentTime)?0:this.htmlAudioElement.currentTime)<(isNaN(this.htmlAudioElement.duration)?0:this.htmlAudioElement.duration)}};function stt(t,e,n){if(!(uvsSttLanguageContext.ibm.endPoint&&uvsSttLanguageContext.ibm.token&&uvsSttLanguageContext.ibm.model))return void("function"==typeof n&&n(null));if(0==e){let t=Math.floor(10*Math.random()),e=uvsAlternativeResponse.randomLib;0==respTimeOut&&(uvsAudioPlayer.configure(e[t]),uvsAudioPlayer.play(),respTimeOut=!0,setTimeout(function(){respTimeOut=!1},6e3))}let i=uvsSttLanguageContext.ibm.endPoint,o=uvsSttLanguageContext.ibm.qs.token+uvsSttLanguageContext.ibm.token+uvsSttLanguageContext.ibm.qs.model+uvsSttLanguageContext.ibm.model;var s=new WebSocket(i+o);s.onopen=function(e){!function(e){uvsLogServiceCall();s.send(JSON.stringify({action:"start","content-type":"audio/wav",interim_results:!1,max_alternatives:3,smart_formatting:!0})),s.send(t),s.send(JSON.stringify({action:"stop"}))}()},s.onclose=function(t){},s.onmessage=function(t){!function(t){let e=JSON.parse(t.data);if(null!=e.results){let t="";var i=!1;for(var o in e.results)1==e.results[o].final&&(t+=e.results[o].alternatives[0].transcript,i=!0);errcnt=0,1!=i&&0!=e.results.length||("function"==typeof n&&n(t),s.close())}}(t)},s.onerror=function(e){!function(e){if(errcnt++,s.close(),"undefined"==typeof uvsXApiKey||null===uvsXApiKey)return;errcnt<2?uvsRefreshVoiceServicesKeys().then(function(e){uvsSttLanguageContext.ibm.token=e,stt(t,!0,n)}).catch(function(t){alert(t)}):"function"==typeof n&&n(null)}()}}function uvsGcpStt(t){return new Promise(function(e,n){if(!(uvsSttLanguageContext.gcp.endPoint&&uvsSttLanguageContext.gcp.key&&uvsSttLanguageContext.gcp.langCode&&void 0!==t&&t))return void n(null);if(0==errcnt){let t=Math.floor(10*Math.random()),e=uvsAlternativeResponse.randomLib;uvsAudioPlayer.configure(e[t]),uvsAudioPlayer.play()}let i=new XMLHttpRequest;i.onreadystatechange=function(){if(4==this.readyState)try{let t=JSON.parse(this.response);if(200===this.status){errcnt=0;let i=void 0!==t&&t instanceof Object&&"results"in t?t.results:[],o=i&&i.length>0&&i[0]instanceof Object?i[0]:{},s="alternatives"in o&&o.alternatives?o.alternatives:[],u=s.length>0&&s[0]instanceof Object?s[0]:{},a="transcript"in u&&u.transcript?u.transcript:null;void 0!==a&&a?e(a):n(null)}else{let i="error"in t?t.error:{},o="message"in i&&i.message?i.message.toLowerCase():"";errcnt<1&&o&&-1!==o.indexOf("api key")?(errcnt++,uvsRefreshVoiceServicesKeys().then(function(t){uvsSttLanguageContext.gcp.key=t,uvsGcpStt().then(function(t){t?e(t):(errcnt=0,n(null))}).catch(function(t){errcnt=0,n(null)})}).catch(function(t){alert(t),errcnt=0,n(null)})):(errcnt=0,n(null))}}catch(t){n(null)}},i.onerror=function(t){n(null)},i.open("POST",uvsSttLanguageContext.gcp.endPoint+uvsSttLanguageContext.gcp.qs.key+uvsSttLanguageContext.gcp.key,!0),i.setRequestHeader("Content-Type","application/json;charset=UTF-8");let o={config:{encoding:"ENCODING_UNSPECIFIED",languageCode:uvsSttLanguageContext.gcp.langCode,enableWordTimeOffsets:!1},audio:{content:t}};i.send(JSON.stringify(o,null,!0))})}function uvsLogServiceCall(t=0){try{let e=new XMLHttpRequest;e.onreadystatechange=function(){if(4==this.readyState&&200==this.status){let t=JSON.parse(this.responseText);uvsServiceLogs.updatedAt=t.updatedAt||uvsServiceLogs.updatedAt,uvsServiceLogs.currentValue=t.currentValue||uvsServiceLogs.currentValue,uvsServiceLogs.lastValue=t.lastValue||uvsServiceLogs.lastValue}},e.open("POST",uvsAjaxObj.ajax_url,!0),e.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),e.send("action=uvs_log_service_call&_ajax_nonce="+uvsAjaxObj.nonce+"&updateLastValue="+t)}catch(t){}}function uvsGetCurrentHostURL(){var t=null;try{if(void 0===window.location||void 0===window.location.hostname||void 0===window.location.protocol)return uvsGetHostName();t=window.location.protocol+"//"+window.location.hostname}catch(e){t=uvsGetHostName(),console.log("Something went wrong while discovering current domain.")}return t}function uvsGetHostName(){return uvsHostName}function uvsRefreshVoiceServicesKeys(){return new Promise(function(t,e){let n=new XMLHttpRequest;n.onreadystatechange=function(){if(4==this.readyState)if(200===this.status){let n=JSON.parse(this.response);if(void 0===n&&e(uvsErrorLibrary.outOfService),uvsSttLanguageContext.ibm.stt&&"token"in n&&n.token)return void t(n.token);if(uvsSttLanguageContext.gcp.stt&&"gStt"in n&&n.gStt)return void t(n.gStt);e(uvsErrorLibrary.outOfService)}else e(uvsErrorLibrary.outOfService)};let i="?action=uvs_refresh_access_keys&_ajax_nonce="+uvsAjaxObj.keys_nonce;n.open("GET",uvsAjaxObj.ajax_url+i,!0),n.onerror=function(t){e(uvsErrorLibrary.outOfService)},n.send(null)})}
     1"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var respTimeOut=!1,errcnt=0;let uvsHostName="undefined"!=typeof uvsCurrentHostName?uvsCurrentHostName:null;var uvsAudioPlayer={htmlAudioElement:document.createElement("AUDIO"),lastFilePath:null,antiMuteButtonPlaybacks:[uvsSilenceSoundPath],isAntiMutePlayback:!1,configure:function(t=null,e=null){try{let n=void 0!==t&&t?t:null;if(n){let t=uvsIsMuteSimon?uvsSilenceSoundPath:n;this.htmlAudioElement.src=_uvsPath+t,this.htmlAudioElement.preload="auto",this.lastFilePath=n,-1!==this.antiMuteButtonPlaybacks.indexOf(n)?this.isAntiMutePlayback=!0:this.isAntiMutePlayback=!1}else this.htmlAudioElement.src="",this.isAntiMutePlayback=!1;this.htmlAudioElement.onplay=function(){}.bind(this),this.htmlAudioElement.onended=function(){this.htmlAudioElement.src="",this.isAntiMutePlayback=!1,n&&"function"==typeof e&&(e(),e=null)}.bind(this),this.htmlAudioElement.onerror=function(){this.isAntiMutePlayback=!1}.bind(this),this.htmlAudioElement.onplaying=function(){}.bind(this)}catch(t){this.clear(),this.isAntiMutePlayback=!1}},play:function(){try{this.htmlAudioElement&&this.htmlAudioElement.src&&this.htmlAudioElement.play().catch(function(t){console.log("VDN Exception: Failed to play audio.")})}catch(t){this.clear()}},stop:function(){try{this.clear()}catch(t){this.clear()}},clear:function(){try{if(this.htmlAudioElement){let t=isNaN(this.htmlAudioElement.duration)?0:this.htmlAudioElement.duration;this.htmlAudioElement.currentTime=t}this.lastFilePath=null}catch(t){this.lastFilePath=null,this.isAntiMutePlayback=!1}},isPlaying:function(){return(isNaN(this.htmlAudioElement.currentTime)?0:this.htmlAudioElement.currentTime)<(isNaN(this.htmlAudioElement.duration)?0:this.htmlAudioElement.duration)}};function stt(t,e,n){if(!(uvsSttLanguageContext.ibm.endPoint&&uvsSttLanguageContext.ibm.token&&uvsSttLanguageContext.ibm.model))return void("function"==typeof n&&n(null));if(0==e){let t=Math.floor(10*Math.random()),e=uvsAlternativeResponse.randomLib;0==respTimeOut&&(uvsAudioPlayer.configure(e[t]),uvsAudioPlayer.play(),respTimeOut=!0,setTimeout(function(){respTimeOut=!1},6e3))}let i=uvsSttLanguageContext.ibm.endPoint,o=uvsSttLanguageContext.ibm.qs.token+uvsSttLanguageContext.ibm.token+uvsSttLanguageContext.ibm.qs.model+uvsSttLanguageContext.ibm.model;var s=new WebSocket(i+o);s.onopen=function(e){!function(e){uvsLogServiceCall();s.send(JSON.stringify({action:"start","content-type":"audio/wav",interim_results:!1,max_alternatives:3,smart_formatting:!0})),s.send(t),s.send(JSON.stringify({action:"stop"}))}()},s.onclose=function(t){},s.onmessage=function(t){!function(t){let e=JSON.parse(t.data);if(null!=e.results){let t="";var i=!1;for(var o in e.results)1==e.results[o].final&&(t+=e.results[o].alternatives[0].transcript,i=!0);errcnt=0,1!=i&&0!=e.results.length||("function"==typeof n&&n(t),s.close())}}(t)},s.onerror=function(e){!function(e){if(errcnt++,s.close(),"undefined"==typeof uvsXApiKey||null===uvsXApiKey)return;errcnt<2?uvsRefreshVoiceServicesKeys().then(function(e){uvsSttLanguageContext.ibm.token=e,stt(t,!0,n)}).catch(function(t){alert(t)}):"function"==typeof n&&n(null)}()}}function uvsGcpStt(t){return new Promise(function(e,n){if(!(uvsSttLanguageContext.gcp.endPoint&&uvsSttLanguageContext.gcp.key&&uvsSttLanguageContext.gcp.langCode&&void 0!==t&&t))return void n(null);if(0==errcnt){let t=Math.floor(10*Math.random()),e=uvsAlternativeResponse.randomLib;uvsAudioPlayer.configure(e[t]),uvsAudioPlayer.play()}let i=new XMLHttpRequest;i.onreadystatechange=function(){if(4==this.readyState)try{let t=JSON.parse(this.response);if(200===this.status){errcnt=0;let i=void 0!==t&&t instanceof Object&&"results"in t?t.results:[],o=i&&i.length>0&&i[0]instanceof Object?i[0]:{},s="alternatives"in o&&o.alternatives?o.alternatives:[],u=s.length>0&&s[0]instanceof Object?s[0]:{},a="transcript"in u&&u.transcript?u.transcript:null;void 0!==a&&a?e(a):n(null)}else{let i="error"in t?t.error:{},o="message"in i&&i.message?i.message.toLowerCase():"";errcnt<1&&o&&-1!==o.indexOf("api key")?(errcnt++,uvsRefreshVoiceServicesKeys().then(function(t){uvsSttLanguageContext.gcp.key=t,uvsGcpStt().then(function(t){t?e(t):(errcnt=0,n(null))}).catch(function(t){errcnt=0,n(null)})}).catch(function(t){alert(t),errcnt=0,n(null)})):(errcnt=0,n(null))}}catch(t){n(null)}},i.onerror=function(t){n(null)},i.open("POST",uvsSttLanguageContext.gcp.endPoint+uvsSttLanguageContext.gcp.qs.key+uvsSttLanguageContext.gcp.key,!0),i.setRequestHeader("Content-Type","application/json;charset=UTF-8");let o={config:{encoding:"ENCODING_UNSPECIFIED",languageCode:uvsSttLanguageContext.gcp.langCode,enableWordTimeOffsets:!1},audio:{content:t}};i.send(JSON.stringify(o,null,!0))})}function uvsLogServiceCall(t=0){try{let e=new XMLHttpRequest;e.onreadystatechange=function(){if(4==this.readyState&&200==this.status){let t=JSON.parse(this.responseText);uvsServiceLogs.updatedAt=t.updatedAt||uvsServiceLogs.updatedAt,uvsServiceLogs.currentValue=t.currentValue||uvsServiceLogs.currentValue,uvsServiceLogs.lastValue=t.lastValue||uvsServiceLogs.lastValue}},e.open("POST",uvsAjaxObj.ajax_url,!0),e.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),e.send("action=uvs_log_service_call&_ajax_nonce="+uvsAjaxObj.nonce+"&updateLastValue="+t)}catch(t){}}function uvsGetCurrentHostURL(){var t=null;try{if(void 0===window.location||void 0===window.location.hostname||void 0===window.location.protocol)return uvsGetHostName();t=window.location.protocol+"//"+window.location.hostname}catch(e){t=uvsGetHostName(),console.log("Something went wrong while discovering current domain.")}return t}function uvsGetHostName(){return uvsHostName}function uvsRefreshVoiceServicesKeys(){return new Promise(function(t,e){let n=new XMLHttpRequest;n.onreadystatechange=function(){if(4==this.readyState)if(200===this.status){let n=JSON.parse(this.response);if(void 0===n&&e(uvsErrorLibrary.outOfService),uvsSttLanguageContext.ibm.stt&&"token"in n&&n.token)return void t(n.token);if(uvsSttLanguageContext.gcp.stt&&"gStt"in n&&n.gStt)return void t(n.gStt);e(uvsErrorLibrary.outOfService)}else e(uvsErrorLibrary.outOfService)};let i="?action=uvs_refresh_access_keys&_ajax_nonce="+uvsAjaxObj.keys_nonce;n.open("GET",uvsAjaxObj.ajax_url+i,!0),n.onerror=function(t){e(uvsErrorLibrary.outOfService)},n.send(null)})}
  • universal-voice-search/trunk/js/uvs.text-library.js

    r2289691 r2301256  
    7171let uvsNavigator = { 'navigatorUserAgent': navigator.userAgent.toLowerCase(), 'navigatorPlatform': navigator.platform };
    7272var uvsClientInfo = {
    73     'safari': uvsNavigator.navigatorUserAgent.indexOf('safari') > -1,
    74     'chrome': uvsIsSttLangCtx === true && 'isChrome' in _uvsSttLanguageContext && _uvsSttLanguageContext['isChrome'] === 'Y' ? true : false,
     73    'chrome': uvsNavigator.navigatorUserAgent.indexOf('chrome') > -1,
    7574    'firefox': uvsNavigator.navigatorUserAgent.indexOf('firefox') > -1,
     75    'edge': uvsNavigator.navigatorUserAgent.indexOf('edge') > -1 || uvsNavigator.navigatorUserAgent.indexOf('edg') > -1,
     76    'ie': uvsNavigator.navigatorUserAgent.indexOf('msie') > -1 || uvsNavigator.navigatorUserAgent.indexOf('trident') > -1,
     77    'opera': uvsNavigator.navigatorUserAgent.indexOf('opera') > -1 || uvsNavigator.navigatorUserAgent.indexOf('opr') > -1,
     78
    7679    'ios': !!uvsNavigator.navigatorPlatform && /iPad|iPhone|iPod/.test(uvsNavigator.navigatorPlatform),
    7780    'android': uvsNavigator.navigatorUserAgent.indexOf("android") > -1,
    78     'windows': uvsNavigator.navigatorUserAgent.indexOf("windows") > -1
     81    'windows': uvsNavigator.navigatorUserAgent.indexOf("windows") > -1,
     82    'linux': uvsNavigator.navigatorUserAgent.indexOf("linux") > -1,
     83   
     84    'macSafari': uvsNavigator.navigatorUserAgent.indexOf('mac') > -1 && uvsNavigator.navigatorUserAgent.indexOf('safari') > -1 && uvsNavigator.navigatorUserAgent.indexOf('chrome') === -1,
     85    'iosSafari': this.ios === true && uvsNavigator.navigatorUserAgent.indexOf('safari') > -1,
    7986};
     87
     88if (uvsClientInfo['chrome'] === true && (uvsClientInfo['opera'] === true || uvsClientInfo['edge'] === true)) {
     89    uvsClientInfo['chrome'] = false;
     90}
    8091
    8192/**
     
    168179var uvsErrorLibrary = _uvsTextPhrases['uvsErrorLibrary'];
    169180var uvsWidgetMessages = _uvsTextPhrases['uvsWidgetMessages'];
     181
     182var uvsIsMuteSimon = typeof _uvsMuteAudioPhrases != 'undefined' && !!_uvsMuteAudioPhrases && _uvsMuteAudioPhrases == 'yes' ? true : false;
  • universal-voice-search/trunk/js/uvs.text-library.min.js

    r2289691 r2301256  
    1 var uvsTypeOfSelectedLanguage="undefined"!=typeof uvsSelectedLanguage&&null!==uvsSelectedLanguage?uvsSelectedLanguage.trim():"English",uvsSelectedLang="undefined"!=typeof uvsSelectedLanguage&&null!==uvsSelectedLanguage?uvsSelectedLanguage.trim():"en-US",uvsIsSttLangCtx=!!("undefined"!=typeof _uvsSttLanguageContext&&_uvsSttLanguageContext&&_uvsSttLanguageContext instanceof Object),uvsSttLanguageContext={ibm:{stt:null,endPoint:null,token:null,model:null,qs:{token:null,model:null}},gcp:{stt:null,langCode:null,endPoint:null,key:null,qs:{key:null}}};if(!0===uvsIsSttLangCtx){let t="ibm"in _uvsSttLanguageContext&&_uvsSttLanguageContext.ibm instanceof Object?_uvsSttLanguageContext.ibm:{};if(uvsSttLanguageContext.ibm.stt="stt"in t&&"Y"==t.stt,uvsSttLanguageContext.ibm.stt){uvsSttLanguageContext.ibm.endPoint="endPoint"in t&&void 0!==t.endPoint&&t.endPoint?t.endPoint:null,uvsSttLanguageContext.ibm.token="token"in t&&void 0!==t.token&&t.token?t.token:null,uvsSttLanguageContext.ibm.model="model"in t&&void 0!==t.model&&t.model?t.model:null;let e="qs"in t&&t.qs instanceof Object?t.qs:{};uvsSttLanguageContext.ibm.qs.token="token"in e&&void 0!==e.token&&e.token?e.token:null,uvsSttLanguageContext.ibm.qs.model="model"in e&&void 0!==e.model&&e.model?e.model:null}let e="gcp"in _uvsSttLanguageContext&&_uvsSttLanguageContext.gcp instanceof Object?_uvsSttLanguageContext.gcp:{};if(uvsSttLanguageContext.gcp.stt="stt"in e&&"Y"==e.stt,uvsSttLanguageContext.gcp.stt){uvsSttLanguageContext.gcp.endPoint="endPoint"in e&&void 0!==e.endPoint&&e.endPoint?e.endPoint:null,uvsSttLanguageContext.gcp.key="key"in e&&void 0!==e.key&&e.key?e.key:null,uvsSttLanguageContext.gcp.langCode="langCode"in e&&void 0!==e.langCode&&e.langCode?e.langCode:null;let t="qs"in e&&e.qs instanceof Object?e.qs:{};uvsSttLanguageContext.gcp.qs.key="key"in t&&void 0!==t.key&&t.key?t.key:null}}let uvsNavigator={navigatorUserAgent:navigator.userAgent.toLowerCase(),navigatorPlatform:navigator.platform};var uvsClientInfo={safari:uvsNavigator.navigatorUserAgent.indexOf("safari")>-1,chrome:!0===uvsIsSttLangCtx&&"isChrome"in _uvsSttLanguageContext&&"Y"===_uvsSttLanguageContext.isChrome,firefox:uvsNavigator.navigatorUserAgent.indexOf("firefox")>-1,ios:!!uvsNavigator.navigatorPlatform&&/iPad|iPhone|iPod/.test(uvsNavigator.navigatorPlatform),android:uvsNavigator.navigatorUserAgent.indexOf("android")>-1,windows:uvsNavigator.navigatorUserAgent.indexOf("windows")>-1},uvsAudioShortPharasesPaths={root:"short_phrases/",voice:uvsSelectedLang+"/",random:"random/",general:"general/",getRandomVoicesPath:function(){return this.root+this.random+this.voice+uvsSelectedLang+"_"},getGeneralVoicesPath:function(){return this.root+this.general+this.voice+uvsSelectedLang+"_"}};let uvsRandomShortPhrasePath=uvsAudioShortPharasesPaths.getRandomVoicesPath(),uvsGeneralShortPhrasePath=uvsAudioShortPharasesPaths.getGeneralVoicesPath(),uvsSilenceSoundPath=uvsAudioShortPharasesPaths.root+"silence.mp3";var uvsAlternativeResponse={basic:uvsGeneralShortPhrasePath+"basic.mp3",micConnect:uvsGeneralShortPhrasePath+"mic_connect.mp3",unavailable:uvsGeneralShortPhrasePath+"unavailable.mp3",notAudible:uvsGeneralShortPhrasePath+"not_audible.mp3",randomLib:[uvsRandomShortPhrasePath+"0.mp3",uvsRandomShortPhrasePath+"1.mp3",uvsRandomShortPhrasePath+"2.mp3",uvsRandomShortPhrasePath+"3.mp3",uvsRandomShortPhrasePath+"4.mp3",uvsRandomShortPhrasePath+"5.mp3",uvsRandomShortPhrasePath+"6.mp3",uvsRandomShortPhrasePath+"7.mp3",uvsRandomShortPhrasePath+"8.mp3",uvsRandomShortPhrasePath+"9.mp3"]},uvsMessages=_uvsTextPhrases.uvsMessages,uvsErrorLibrary=_uvsTextPhrases.uvsErrorLibrary,uvsWidgetMessages=_uvsTextPhrases.uvsWidgetMessages;
     1var uvsTypeOfSelectedLanguage="undefined"!=typeof uvsSelectedLanguage&&null!==uvsSelectedLanguage?uvsSelectedLanguage.trim():"English",uvsSelectedLang="undefined"!=typeof uvsSelectedLanguage&&null!==uvsSelectedLanguage?uvsSelectedLanguage.trim():"en-US",uvsIsSttLangCtx=!!("undefined"!=typeof _uvsSttLanguageContext&&_uvsSttLanguageContext&&_uvsSttLanguageContext instanceof Object),uvsSttLanguageContext={ibm:{stt:null,endPoint:null,token:null,model:null,qs:{token:null,model:null}},gcp:{stt:null,langCode:null,endPoint:null,key:null,qs:{key:null}}};if(!0===uvsIsSttLangCtx){let e="ibm"in _uvsSttLanguageContext&&_uvsSttLanguageContext.ibm instanceof Object?_uvsSttLanguageContext.ibm:{};if(uvsSttLanguageContext.ibm.stt="stt"in e&&"Y"==e.stt,uvsSttLanguageContext.ibm.stt){uvsSttLanguageContext.ibm.endPoint="endPoint"in e&&void 0!==e.endPoint&&e.endPoint?e.endPoint:null,uvsSttLanguageContext.ibm.token="token"in e&&void 0!==e.token&&e.token?e.token:null,uvsSttLanguageContext.ibm.model="model"in e&&void 0!==e.model&&e.model?e.model:null;let t="qs"in e&&e.qs instanceof Object?e.qs:{};uvsSttLanguageContext.ibm.qs.token="token"in t&&void 0!==t.token&&t.token?t.token:null,uvsSttLanguageContext.ibm.qs.model="model"in t&&void 0!==t.model&&t.model?t.model:null}let t="gcp"in _uvsSttLanguageContext&&_uvsSttLanguageContext.gcp instanceof Object?_uvsSttLanguageContext.gcp:{};if(uvsSttLanguageContext.gcp.stt="stt"in t&&"Y"==t.stt,uvsSttLanguageContext.gcp.stt){uvsSttLanguageContext.gcp.endPoint="endPoint"in t&&void 0!==t.endPoint&&t.endPoint?t.endPoint:null,uvsSttLanguageContext.gcp.key="key"in t&&void 0!==t.key&&t.key?t.key:null,uvsSttLanguageContext.gcp.langCode="langCode"in t&&void 0!==t.langCode&&t.langCode?t.langCode:null;let e="qs"in t&&t.qs instanceof Object?t.qs:{};uvsSttLanguageContext.gcp.qs.key="key"in e&&void 0!==e.key&&e.key?e.key:null}}let uvsNavigator={navigatorUserAgent:navigator.userAgent.toLowerCase(),navigatorPlatform:navigator.platform};var uvsClientInfo={chrome:uvsNavigator.navigatorUserAgent.indexOf("chrome")>-1,firefox:uvsNavigator.navigatorUserAgent.indexOf("firefox")>-1,edge:uvsNavigator.navigatorUserAgent.indexOf("edge")>-1||uvsNavigator.navigatorUserAgent.indexOf("edg")>-1,ie:uvsNavigator.navigatorUserAgent.indexOf("msie")>-1||uvsNavigator.navigatorUserAgent.indexOf("trident")>-1,opera:uvsNavigator.navigatorUserAgent.indexOf("opera")>-1||uvsNavigator.navigatorUserAgent.indexOf("opr")>-1,ios:!!uvsNavigator.navigatorPlatform&&/iPad|iPhone|iPod/.test(uvsNavigator.navigatorPlatform),android:uvsNavigator.navigatorUserAgent.indexOf("android")>-1,windows:uvsNavigator.navigatorUserAgent.indexOf("windows")>-1,linux:uvsNavigator.navigatorUserAgent.indexOf("linux")>-1,macSafari:uvsNavigator.navigatorUserAgent.indexOf("mac")>-1&&uvsNavigator.navigatorUserAgent.indexOf("safari")>-1&&-1===uvsNavigator.navigatorUserAgent.indexOf("chrome"),iosSafari:!0===this.ios&&uvsNavigator.navigatorUserAgent.indexOf("safari")>-1};!0!==uvsClientInfo.chrome||!0!==uvsClientInfo.opera&&!0!==uvsClientInfo.edge||(uvsClientInfo.chrome=!1);var uvsAudioShortPharasesPaths={root:"short_phrases/",voice:uvsSelectedLang+"/",random:"random/",general:"general/",getRandomVoicesPath:function(){return this.root+this.random+this.voice+uvsSelectedLang+"_"},getGeneralVoicesPath:function(){return this.root+this.general+this.voice+uvsSelectedLang+"_"}};let uvsRandomShortPhrasePath=uvsAudioShortPharasesPaths.getRandomVoicesPath(),uvsGeneralShortPhrasePath=uvsAudioShortPharasesPaths.getGeneralVoicesPath(),uvsSilenceSoundPath=uvsAudioShortPharasesPaths.root+"silence.mp3";var uvsAlternativeResponse={basic:uvsGeneralShortPhrasePath+"basic.mp3",micConnect:uvsGeneralShortPhrasePath+"mic_connect.mp3",unavailable:uvsGeneralShortPhrasePath+"unavailable.mp3",notAudible:uvsGeneralShortPhrasePath+"not_audible.mp3",randomLib:[uvsRandomShortPhrasePath+"0.mp3",uvsRandomShortPhrasePath+"1.mp3",uvsRandomShortPhrasePath+"2.mp3",uvsRandomShortPhrasePath+"3.mp3",uvsRandomShortPhrasePath+"4.mp3",uvsRandomShortPhrasePath+"5.mp3",uvsRandomShortPhrasePath+"6.mp3",uvsRandomShortPhrasePath+"7.mp3",uvsRandomShortPhrasePath+"8.mp3",uvsRandomShortPhrasePath+"9.mp3"]},uvsMessages=_uvsTextPhrases.uvsMessages,uvsErrorLibrary=_uvsTextPhrases.uvsErrorLibrary,uvsWidgetMessages=_uvsTextPhrases.uvsWidgetMessages,uvsIsMuteSimon=!("undefined"==typeof _uvsMuteAudioPhrases||!_uvsMuteAudioPhrases||"yes"!=_uvsMuteAudioPhrases);
  • universal-voice-search/trunk/readme.txt

    r2290367 r2301256  
    55Tested up to:      5.3.2 
    66Requires PHP:      5.3
    7 Stable tag:        2.1.0
     7Stable tag:        2.1.1
    88License:           GPLv2 or later 
    99License URI:       http://www.gnu.org/licenses/gpl-2.0.html 
     
    208208* Bugfix with browser identification
    209209
     210= 2.1.1 =
     211* Removed "Go Pro Banner"
     212* Added warning for users on none Chrome browsers
     213
  • universal-voice-search/trunk/universal-voice-search.php

    r2290367 r2301256  
    33 * Plugin Name: Universal Voice Search
    44 * Description: Allows any serach box on the page to be searchable via voice.
    5  * Version:     2.1.0
     5 * Version:     2.1.1
    66 * Author:      speak2web
    77 * Author URI:  https://speak2web.com/
     
    4040
    4141if ( $universal_voice_search_requirements_check->passes() ) {
     42    $uvs_client_info = array(
     43        'chrome' => false,
     44        'firefox' => false,
     45        'edge' => false,
     46        'ie' => false,
     47        'macSafari' => false,
     48        'iosSafari' => false,
     49        'opera' => false
     50    );
     51
     52    // Chrome
     53    if(stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false) {
     54        $uvs_client_info['chrome'] = true;
     55    }
     56
     57    // Firefox
     58    if(stripos($_SERVER['HTTP_USER_AGENT'], 'firefox') !== false) {
     59        $uvs_client_info['firefox'] = true;
     60    }
     61
     62    // Edge
     63    if(stripos($_SERVER['HTTP_USER_AGENT'], 'edge') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'edg') !== false) {
     64        $uvs_client_info['edge'] = true;
     65    }
     66
     67    // IE
     68    if(stripos($_SERVER['HTTP_USER_AGENT'], 'msie') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'trident') !== false) {
     69        $uvs_client_info['ie'] = true;
     70    }
     71
     72    // Mac Safari
     73    if(stripos($_SERVER['HTTP_USER_AGENT'], 'macintosh') !== false && stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') === false && stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false) {
     74        $uvs_client_info['macSafari'] = true;
     75    }
     76
     77    // iOS
     78    if((stripos($_SERVER['HTTP_USER_AGENT'], 'iphone') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'ipad') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'ipod') !== false) && stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false) {
     79        $uvs_client_info['iosSafari'] = true;
     80    }
     81
     82    // Opera
     83    if(stripos($_SERVER['HTTP_USER_AGENT'], 'opera') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'opr') !== false) {
     84        $uvs_client_info['opera'] = true;
     85    }
     86
     87    if ($uvs_client_info['chrome'] === true && ($uvs_client_info['opera'] === true || $uvs_client_info['edge'] === true)) {
     88        $uvs_client_info['chrome'] = false;
     89    }
     90
     91    define('UVS_CLIENT', $uvs_client_info);
     92
    4293    // To get all active plugins.
    4394    $uvs_all_active_plugins = (array) null;
     
    4697    $uvs_selected_language = get_option( 'uvs_selected_language', 'en-US' );
    4798    $uvs_selected_language = empty($uvs_selected_language) ? 'en-US' : trim($uvs_selected_language);
    48     $uvs_language_file_name = strtolower($uvs_selected_language) === 'de-DE' ? 'uvs_de_DE' : 'uvs_en_EN';
     99    $uvs_language_file_name = $uvs_selected_language == 'de-DE' ? 'uvs_de_DE' : 'uvs_en_EN';
    49100    include( dirname( __FILE__ ) . '/classes/plugin-languages/'.$uvs_language_file_name.'.php');
    50101
    51102     try {
    52         switch (strtolower($uvs_selected_language)) {
     103        switch ($uvs_selected_language) {
    53104            case 'de-DE':
    54105                define('UVS_LANGUAGE_LIBRARY', uvs_de_DE::UVS_LANGUAGE_LIB);
     
    79130    // Inline plugin notices
    80131    $path = plugin_basename( __FILE__ );
    81 
    82     // Register action to hook into 'after_plugin_row_' for displaying inline notice when license is missing or invalid
    83     if (empty(Universal_Voice_Search_Plugin::$uvs_license_key) || empty(Universal_Voice_Search_Plugin::$uvs_api_access_key)) {
    84         // Go Pro notice
    85         add_action("after_plugin_row_{$path}", function( $plugin_file, $plugin_data, $status ) {
    86             echo '<tr class="active">
    87                 <th style="border-left: 4px solid #FFB908; background-color:#FFF8E5;">&nbsp;</th>
    88                 <td colspan="2" style="background-color:#FFF8E5;">
    89                     <a target="blank" href="https://speak2web.com/plugin/#plan">'.UVS_LANGUAGE_LIBRARY['other']['goProNotice']['goPro'].'</a> '.UVS_LANGUAGE_LIBRARY['other']['goProNotice']['supportMoreBrowsers'].'
    90                 </td>
    91             </tr>';
    92         }, 10, 3 );     
    93     }
    94132
    95133    // Hook into plugin activation
Note: See TracChangeset for help on using the changeset viewer.