Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/sv_SE/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/sv_SE/LC_MESSAGES/voicemail.po (revision 7869) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/sv_SE/LC_MESSAGES/voicemail.po (revision 7869) @@ -0,0 +1,360 @@ +# This file is part of FreePBX. +# +# FreePBX is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# FreePBX is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with FreePBX. If not, see . +# +# Copyright (C) 2009 Mikael Carlsson, mickecamino@gmail.com +# +msgid "" +msgstr "" +"Project-Id-Version: FreePBX voicemail\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-05-14 06:52+0200\n" +"PO-Revision-Date: 2008-10-19 18:52+0100\n" +"Last-Translator: Mikael Carlsson \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Swedish\n" +"X-Poedit-Country: SWEDEN\n" + +#: functions.inc.php:272 +msgid "" +"Voicemail is enabled but the Voicemail Password field is empty. Are you " +"sure you wish to continue?" +msgstr "" +"RöstbrevlÃ¥dan Àr aktiverad men lösenordfÀltet Àr tomt. Är du sÀker pÃ¥ att du " +"vill fortsÀtta?" + +#: functions.inc.php:391 functions.inc.php:396 +msgid "Enabled" +msgstr "Aktiverad" + +#: functions.inc.php:392 functions.inc.php:395 +msgid "Disabled" +msgstr "Avaktiverad" + +#: functions.inc.php:399 +msgid "yes" +msgstr "ja" + +#: functions.inc.php:400 +msgid "no" +msgstr "nej" + +#: functions.inc.php:485 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "Skriv in ett lösenord för röstbrevlÃ¥dan, endast siffror" + +#: functions.inc.php:486 +msgid "Please enter a valid Email Address" +msgstr "Skriv in en giltig e-postadress" + +#: functions.inc.php:487 +msgid "Please enter a valid Pager Email Address" +msgstr "Skriv in en giltig \"Pager Email Address\"" + +#: functions.inc.php:488 +msgid "VM Context cannot be blank" +msgstr "Sammanhanget för röstbrevlÃ¥dan kan inte vara tomt" + +#: functions.inc.php:490 +msgid "Voicemail & Directory" +msgstr "RöstbrevlÃ¥da" + +#: functions.inc.php:491 +msgid "Status" +msgstr "Status" + +#: functions.inc.php:493 +msgid "Voicemail Password" +msgstr "Lösenord för röstbrevlÃ¥da" + +#: functions.inc.php:493 +#, php-format +msgid "" +"This is the password used to access the voicemail system.%sThis password can " +"only contain numbers.%sA user can change the password you enter here after " +"logging into the voicemail system (%s) with a phone." +msgstr "" +"Detta Àr lösenordet som anvÀnds för att fÃ¥ Ã¥tkomst till röstbrevlÃ¥dan.%" +"sDetta lösenord kan bara innehÃ¥lla siffror. %sEn anvÀndare kan byta detta " +"lösenordet efter att ha loggat in pÃ¥ röstbrevlÃ¥dan via en telefon med koden %" +"s." + +#: functions.inc.php:494 +msgid "Email Address" +msgstr "E-postadress" + +#: functions.inc.php:494 +msgid "The email address that voicemails are sent to." +msgstr "E-postadressen röstmeddelandet ska skickas till." + +#: functions.inc.php:495 +msgid "Pager Email Address" +msgstr "SMS e-postadress" + +#: functions.inc.php:495 +msgid "" +"Pager/mobile email address that short voicemail notifications are sent to." +msgstr "" +"En e-postadress som kan anvÀndas för att skicka ett SMS med ett kortfattat " +"meddelande." + +#: functions.inc.php:496 +msgid "Email Attachment" +msgstr "E-posta röstfilen" + +#: functions.inc.php:496 +msgid "Option to attach voicemails to email." +msgstr "Ska röstfilen följa med e-postmeddelandet?" + +#: functions.inc.php:497 +msgid "Play CID" +msgstr "Spel upp nummerpresentation" + +#: functions.inc.php:497 +msgid "" +"Read back caller's telephone number prior to playing the incoming message, " +"and just after announcing the date and time the message was left." +msgstr "" +"Spela upp uppringarens telefonnummer före uppspelning av röstmeddelandet, " +"denna uppspelning kommer att ske strax efter meddelandet med datum och tid." + +#: functions.inc.php:498 +msgid "Play Envelope" +msgstr "Spela upp datum och tid" + +#: functions.inc.php:498 +msgid "" +"Envelope controls whether or not the voicemail system will play the message " +"envelope (date/time) before playing the voicemail message. This setting does " +"not affect the operation of the envelope option in the advanced voicemail " +"menu." +msgstr "" +"Markera om du vill ha systemet att spela upp datum och tid nÀr meddelandet " +"lÀmnades. Detta kommer att spelas upp före röstmeddelandet. Denna " +"instÀllning pÃ¥verkar inte valen i avancerade instÀllningar för röstbrevlÃ¥dan." + +#: functions.inc.php:499 +msgid "Delete Voicemail" +msgstr "Ta bort röstmeddelande" + +#: functions.inc.php:499 +msgid "" +"If set to \"yes\" the message will be deleted from the voicemailbox (after " +"having been emailed). Provides functionality that allows a user to receive " +"their voicemail via email alone, rather than having the voicemail able to be " +"retrieved from the Webinterface or the Extension handset. CAUTION: MUST " +"HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE " +"LOST FOREVER." +msgstr "" +"Om du sÀtter detta till \"Ja\" kommer meddelandet att tas bort frÃ¥n " +"röstbrevlÃ¥dan (efter att det har e-postats till dig). Denna instÀllning gör " +"att röstbeskeden endast levereras via e-post i stÀllet för att kunna höra " +"dom via telefonen eller din webblÀsare. VARNING: DU Mà +STE AKTIVERA e-posta " +"meddelande ANNARS KOMMER DINA RÖSTBESKED ATT FÖRSVINNA FÖR ALLTID!! " + +#: functions.inc.php:500 +msgid "IMAP Username" +msgstr "AnvÀndarnamn för IMAP" + +#: functions.inc.php:500 +#, php-format +msgid "This is the IMAP username, if using IMAP storage" +msgstr "Fyll i anvÀndarnamnet för IMAP hÀr om detta anvÀnds" + +#: functions.inc.php:501 +msgid "IMAP Password" +msgstr "Lösenord för IMAP" + +#: functions.inc.php:501 +#, php-format +msgid "This is the IMAP password, if using IMAP storage" +msgstr "Fyll i lösenordet för IMAP om detta anvÀnds" + +#: functions.inc.php:502 +msgid "VM Options" +msgstr "Val för röstbesked" + +#: functions.inc.php:502 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "" +"Separera valen med tecknet för pipe ( | )%sT.ex. review=yes|maxmessage=60" + +#: functions.inc.php:503 +msgid "VM Context" +msgstr "Sammanhang för röstbrevlÃ¥dan" + +#: functions.inc.php:503 +msgid "" +"This is the Voicemail Context which is normally set to default. Do not " +"change unless you understand the implications." +msgstr "" +"Detta Àr sammanhanget för röstbrevlÃ¥dan, som standard Àr den satt till " +"default. ÄNDRA INTE om du inte kÀnner till vad som kommer att hÀnda om du " +"gör det." + +#: functions.inc.php:505 +msgid "VmX Locater" +msgstr "VmX Lokator" + +#: functions.inc.php:506 +msgid "VmX Locater™" +msgstr "VmX-lokator™" + +#: functions.inc.php:506 +msgid "" +"Enable/Disable the VmX Locater feature for this user. When enabled all " +"settings are controlled by the user in the User Portal (ARI). Disabling will " +"not delete any existing user settings but will disable access to the feature" +msgstr "" +"Aktivera/Avaktivera VmX-lokatorn för denna anvÀndare. NÀr detta val Àr " +"aktiverat kan alla instÀllningar göras i AnvÀndarportalen. Om du avaktiverar " +"detta kommer du inte att ta bort nÃ¥gra instÀllningar med förhindrar tillgÃ¥ng " +"till denna funktion." + +#: functions.inc.php:511 +msgid "Please enter a valid phone number using number digits only" +msgstr "Skriv in ett giltigt telefonnummer, endast siffror" + +#: functions.inc.php:576 +msgid "Use When:" +msgstr "AnvÀnd vid:" + +#: functions.inc.php:576 +msgid "" +"Menu options below are available during your personal voicemail greeting " +"playback.

Check both to use at all times." +msgstr "" +"Menyvalen nedan Àr tillgÀngliga nÀr din personliga hÀlsningsfras spelas upp " +"för uppringaren.

Aktivera bÀgge valen för alla tillfÀllen." + +#: functions.inc.php:578 +msgid "unavailable" +msgstr "otillgÀnglig" + +#: functions.inc.php:580 +msgid "busy" +msgstr "upptagen" + +#: functions.inc.php:584 +msgid "Voicemail Instructions:" +msgstr "Instruktioner för röstmeddelande:" + +#: functions.inc.php:584 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "Avmarkera för att spela upp en ton efter din personliga hÀlsningsfras." + +#: functions.inc.php:587 +msgid "Standard voicemail prompts." +msgstr "Standardmeddelande för röstbrevlåda." + +#: functions.inc.php:595 +msgid "Press 0:" +msgstr "Tryck 0:" + +#: functions.inc.php:595 +msgid "" +"Pressing 0 during your personal voicemail greeting goes to the Operator. " +"Uncheck to enter another destination here. This feature can be used while " +"still disabling VmX to allow an alternative Operator extension without " +"requiring the VmX feature for the user." +msgstr "" +"Om uppringaren trycker 0 nÀr din personliga hÀlsningsfras spelas upp kommer " +"samtalet att kopplas till Receptionist. Avmarkera för att skriva in en annan " +"destination. Denna funktion kan anvÀndas Àven om VmX Àr avaktiverad för att " +"ge en möjlighet att nå en annan receptionist utan att ha aktiverat VmX för " +"anvÀndaren/anknytningen." + +#: functions.inc.php:602 +msgid "Go To Operator" +msgstr "Gå till receptionist" + +#: functions.inc.php:606 +msgid "Press 1:" +msgstr "Tryck 1:" + +#: functions.inc.php:609 +msgid "" +"The remaining options can have internal extensions, ringgroups, queues and " +"external numbers that may be rung. It is often used to include your cell " +"phone. You should run a test to make sure that the number is functional any " +"time a change is made so you don't leave a caller stranded or receiving " +"invalid number messages." +msgstr "" +"à +terstående val kan vara interna anknytningar, ringgrupper, köer eller " +"externa nummer som kommer att ringas upp vid respektive val. En vanlig " +"åtgÀrd Àr att skriva in sitt mobilnummer för att få samtalet kopplat dit. Du " +"bör testa så att detta fungerar så att du inte skickar samtalen fel eller " +"till ett telefonnummer som inte fungerar." + +#: functions.inc.php:611 +msgid "" +"Enter an alternate number here, then change your personal voicemail greeting " +"to let callers know to press 1 to reach that number.

If you'd like " +"to use your Follow Me List, check \"Send to Follow Me\" and disable Follow " +"Me above." +msgstr "" +"Skriv in ett alternativt nummer hÀr, Àndra sedan din personliga " +"hÀlsningsfras för att låta uppringarna veta om valet 1.

Om du vill " +"anvÀnda din lista med Följ-mig, aktivera \"Skicka till Följ-mig\" och " +"avaktivera Följ-mig ovan." + +#: functions.inc.php:623 +msgid "Send to Follow-Me" +msgstr "Skicka till Följ-mig" + +#: functions.inc.php:631 +msgid "Press 2:" +msgstr "Tryck 2:" + +#: functions.inc.php:631 +msgid "" +"Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include " +"instructions. Run a test to make sure that the number is functional." +msgstr "" +"Ange interna anknytning, ringgrupper, köer eller externt nummer.

Kom " +"ihÃ¥g att spela in din personliga hÀlsningsfras för att lÃ¥ta uppringaren veta " +"om detta val. Glöm inte att testa sÃ¥ att det nummer du skriver in fungerar." + +#: functions.inc.php:710 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "Kunde inta ta bort röstbrevlÃ¥da: %s@%s" + +#: functions.inc.php:711 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "misslyckades med returkoden: %s nÀr %s togs bort:" + +#: install.php:20 +msgid "Voicemail" +msgstr "RöstbrevlÃ¥dor" + +#: install.php:21 +msgid "My Voicemail" +msgstr "Min röstbrevlÃ¥da" + +#: install.php:22 +msgid "Dial Voicemail" +msgstr "Ring en röstbrevlÃ¥da" + +#: install.php:54 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Kan inte koppla upp mot Asterisk hanterare med" Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/bg_BG/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/bg_BG/LC_MESSAGES/voicemail.po (revision 7250) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/bg_BG/LC_MESSAGES/voicemail.po (revision 7250) @@ -0,0 +1,251 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: FreePBX v2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: 2008-11-05 11:23+0200\n" +"Last-Translator: \n" +"Language-Team: Chavdar Iliev \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Bulgarian\n" +"X-Poedit-Country: BULGARIA\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "ГласПвата ППща е разрешеМа МП пПлетП за парПла е празМП. СОгурМО лО сте че Оскате Ўа прПЎължОте?" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "РазрешеМа" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "ЗабраМеМа" + +#: functions.inc.php:382 +msgid "yes" +msgstr "Ўа" + +#: functions.inc.php:383 +msgid "no" +msgstr "Ме" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "МПля въвеЎете правОлМа ПарПла Ма ГласПва ППща, катП ОзпПлзвате саЌП цОфрО" + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "МПля въвеЎете валОЎеМ Email АЎрес" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "МПля въвеЎете валОЎеМ ПейЎжър Email АЎрес" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "ГП КПМтекст Ме ЌПже Ўа е празеМ" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "ГласПва ППща & ДОректПрОя" + +#: functions.inc.php:472 +msgid "Status" +msgstr "СъстПяМОе" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "ПарПла Ма ГласПва ППща" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "ПарПлата ОзпПлзваМа за ЎПстъп ЎП гласПва пПща.%sМПже Ўа съЎържа саЌП цОфрО.%sППтребОтелят ЌПже Ўа сЌеМО въвеЎеМата тук парПла слеЎ катП влезе в сОстеЌата за гласПва пПща (%s) през телефПМа сО." + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "Email АЎрес" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "Email аЎрес Ма кПйтП Ўа се ОзпратО гласПвата пПща." + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "ПейЎжър Email АЎрес" + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "ПейЎжър/ЌПбОлеМ email аЎрес къЎетП Ўа се ОзпратО краткП ОзвестОе." + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "ПрОкачваМе къЌ Email" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "ОпцОя за прОкачаМе Ма гласПва пПща къЌ email." + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "ВъзпрПОзвеЎО CID" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "ПрПчОта телефПММОя МПЌер Ма ПбажЎащОя се преЎО Ўа възпрПОзвеЎе Ð²Ñ +ПЎящПтП съПбщеМОе О слеЎ преЎставяМетП Ма Ўатата О часа Ма съПбщеМОетП." + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "ВъзпрПОзвеЎО ОбшОвка" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "ОбшОвката кПМтрПлОра ЎалО сОстеЌата Ўа възпрПОзвеЎе ПбщПтП съПбщеМОе (Ўата/час) преЎО Ўа пусМе ПставеМПтП съПбщеМОе. ТазО МастрПйка Ме засяга рабПтата Ма ПбшОвката в главМПтП ЌеМю Ма гласПвата пПща." + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "ИзтрОй ГласПва ППща" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "АкП е устаМПвеМП Ма \"Ўа\" съПбщеМОетП ще се ОзтрОе Пт кутОята (слеЎ катП е ОзпратеМП Ма email). ПреЎПставя Ма пПтребОтелОте възЌПжМПстта Ўа пПлучават Ñ‚ÐµÑ +МОте гласПвО съПбщеМОя саЌП чрез email, а Ме Ўа ОзпПлзват уеб ОМтерфейса ОлО телефПМа сО. ВНИМАНИЕ: ТРЯБВА ДА ИМАТЕ прОкачО гласПва пПща къЌ email УСТАНОВЕНО НА 'ДА' ИЛИ ВАКИТЕ СЪОБЩЕНИЯ ЩЕ СЕ ЗАГУБЯТ ЗАВИНАГИ." + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "ОпцОО Ма ГласПва ППща" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "РазЎелете ПпцООте с Птвес ( | )%sНапрОЌер: review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "КПМтекст Ма ГласПва ППща" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "КПМтекста Ма ГласПвата ППща кПйтП МПрЌалМП е устаМПвеМ пП-пПЎразбОраМе. Не гП прПЌеМяйте ПсвеМ акП разбОрате евеМтуалМОте пПслеЎствОя." + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "ГласПва ППща VmX НаЌерО Ме" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "ГласПва ППща НаЌерО Ме" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "РазрешО/ЗабраМО услугата ГласПва ППща НаЌерО Ме за тПзО пПтребОтел. КПгатП е разрешеМа всОчкО МастрПйкО се кПМтрПлОрат Пт пПтребОтеля в ППтребОтелскО ППртал (ARI). ЗабраМяваМетП МяЌа Ўа ОзтрОе пПтребОтелскОте МастрПйкО, МП ще забраМО ЎПстъпа ЎП тазО услуга." + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "МПля въвеЎете правОлеМ телефПМеМ МПЌер, катП ОзпПлзвате саЌП цОфрО" + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "ИзпПлзвай КПгатП:" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "СлеЎМОте ПпцОО са ЎПстъпМО за включваМе Ма вашетП лОчМП прОветствОе Ма гласПвата пПща.

Изберете О Ўвете за Ўа гП ОзпПлзвате прО всОчкО случаО." + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "МеЎПстъпеМ" + +#: functions.inc.php:559 +msgid "busy" +msgstr "зает" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "ИМструкцОО Ма ГП:" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "РазЌаркОрайте за възпрПОзжежЎаМе Ма бОпкаМе слеЎ вашетП лОчМП прОветствОе Ма гласПва пПща." + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "СтаМЎартМО ОМструкцОО за гласПва пПща" + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "НатОсМата 0:" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "НатОскаМетП Ма 0 пП вреЌе Ма вашетП лОчМП прОветствОе Ма гласПвата пПща ще преМасПчО къЌ ОператПр. РазЌаркОрайте за Ўа въвеЎете ЎругП МаправлеМОе тук. ТазО услуга ЌПже Ўа се ОзпПлзва ЎПрО О прО забраМеМ ГП НаЌерО Ме, катП пПзвПлява алтерМатОвеМ вътрешеМ МПЌер за ОператПр без Ўа ОзОсква услугата ГП НаЌерО Ме за пПтребОтеля." + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "ОтОЎО КъЌ ОператПр" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "НатОсМата 1:" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "ОстаМалОте ПпцОО ЌПгат Ўа съЎържат вътрешМО лОМОО, групО Ма звъМеМе, ПпашкО О въМшМО МПЌера. ЧестП се ОзпПлзва за Ўа ЎПбавОте вашОя ЌПбОлеМ телефПМ. ПрО всяка прПЌяМа Маправете тест за Ўа се убеЎОте че рабПтят О Ўа Ме Пставяте ПбажЎащОя се засеЎМал ОлО Ўа пПлучава грешМО съПбщеМОя за МПЌерата." + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "ВъвеЎете алтерМатОвеМ МПЌер, слеЎ кПетП прПЌеМете вашетП лОчМП прОветствОе Ма гласПвата пПща за Ўа увеЎПЌОте ПбажЎащОте се Ўа МатОсМат 1 за Ўа Озберат тПзО МПЌер.

АкП желаете Ўа ОзпПлзвате спОсъка Ма СлеЎвай Ме, ЌаркОрайте \"ИзпратО къЌ СлеЎвай Ме\" О забраМете СлеЎвай Ме пП-гПре." + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "ИзпратО къЌ СлеЎвай Ме" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "НатОсМата 2:" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "ИзпПлзвайте каквОтП О Ўа са вътрешМО лОМОО, групО Ма звъМеМе, ПпашкО О въМшМО МПЌера.

ЗапПЌМете Ўа презапОшете вашетП лОчМП прОветствОе Ма гласПвата пПща О Ўа включОте ОМструкцООте. Направете тест за Ўа се убеЎОте че МПЌерата фуМкцОПМОрат." + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "Не ЌПга Ўа ОзтрОя vmbox: %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "ÐœÐµÑƒÑÐ¿ÐµÑ + с retcode %s ЎПкатП Ð¿Ñ€ÐµÐŒÐ°Ñ +Ð²Ð°Ñ + %s:" + +#: install.php:4 +msgid "Voicemail" +msgstr "ГласПва ППща" + +#: install.php:5 +msgid "My Voicemail" +msgstr "МПя ГласПва ППща" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "ИзберО ГласПва ППща" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Не ЌПга Ўа се свържа с АстерОск Manager с" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/zh_CN/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/zh_CN/LC_MESSAGES/voicemail.po (revision 7440) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/zh_CN/LC_MESSAGES/voicemail.po (revision 7440) @@ -0,0 +1,283 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.5 Chinese Translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: 2009-01-31 14:24+0800\n" +"Last-Translator: 呚埁晟 \n" +"Language-Team: EdwardBadBoy \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Chinese\n" +"X-Poedit-Country: CHINA\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "语音邮件已启甚䜆密码䞺空䜠垌望继续吗" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "启甚" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "穁甹" + +#: functions.inc.php:382 +msgid "yes" +msgstr "是" + +#: functions.inc.php:383 +msgid "no" +msgstr "吊" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "请蟓å +¥æœ‰æ•ˆçš„语音邮件密码只胜蟓å +¥æ•°å­—" + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "请蟓å +¥æœ‰æ•ˆçš„邮件地址" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "请蟓å +¥æœ‰æ•ˆçš„分页皋序邮件地址" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "语音邮件䞊䞋文䞍胜䞺空" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "语音邮件和目圕" + +#: functions.inc.php:472 +msgid "Status" +msgstr "状态" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "语音邮件密码" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "这䞪密码甚来发问语音邮件系统。%sè¿™äžªå¯†ç åªèƒœåŒ +含数字。%s甚户圚甚电话登圕语音邮件系统%s后它可以改变䜠圚歀讟眮的密码。" + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "电子邮件地址" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "语音邮件发送的目的邮箱地址。" + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "分页皋序邮件地址" + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "简短的语音邮件通知芁发送到的分页皋序的邮件地址。" + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "电子邮件附件" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "可以把语音邮件䜜䞺邮件附件。" + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "播攟䞻叫IDCID" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "圚播攟消息之前圚通告留蚀的日期时闎之后播攟䞻叫的电话号码。" + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "播攟信封" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "这䞪选项控制着语音邮件系统是吊圚播攟语音邮件消息之前播攟消息的信封日期/时闎。这䞪讟眮䞍䌚圱响圚高级语音邮件讟眮菜单䞭对信封的操䜜的讟眮。" + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "删陀语音邮件" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "åŠ‚æžœè®Ÿçœ®äžºâ€œæ˜¯â€ïŒŒæ¶ˆæ¯å°†é”™è¯­éŸ³é‚®ç®±äž­åˆ é™€ïŒˆåœšå‘é€ç”µå­é‚®ä»¶ä¹‹åŽïŒ‰ã€‚è¿™äžªè®Ÿçœ®äœ¿ç”šæˆ·å¯ä»¥ä» +接收通告邮件而䞍是从Webç•Œé¢æˆ–è€ +åˆ†æœºäžŠæŽ¥æ”¶è¯­éŸ³é‚®ä»¶ã€‚è­Šå‘ŠïŒšå¿ +须启甚了将语音邮件䜜䞺邮件附件的选项吊则䜠的语音邮件䌚䞢倱。" + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "语音邮件选项" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "甚竖线|分隔选项 %s。䟋劂review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "语音邮件䞊䞋文" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "è¯­éŸ³é‚®ä»¶äžŠäž‹æ–‡é€šåžžè®Ÿçœ®äžºâ€œé»˜è®€â€ã€‚äžèŠæ›Žæ”¹å®ƒïŒŒé™€éžäœ æž +楚曎改富臎的圱响。" + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "VmX定䜍噚" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "VmX定䜍噚;" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "䞺歀甚户启甚VmX定䜍噚。启甚后所有的讟眮郜由甚户从甚户å +¥å£ïŒˆARI进行控制。犁甚时䞍䌚删陀任䜕现有的甚户讟眮䜆䌚犁甚对功胜的访问" + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "请蟓å +¥äž€äžªæœ‰æ•ˆçš„电话号码只胜蟓å +¥æ•°å­—" + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "圚䜕时䜿甚" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "䞋面的菜单选项将圚䜠䞪人语音邮件问候语的回攟阶段可甚。

钩选䞀项以始终䜿甚。" + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "䞍可甚" + +#: functions.inc.php:559 +msgid "busy" +msgstr "忙" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "语音邮件诎明" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "䞍钩选将䌚圚䜠的䞪人语音邮件问候播攟之后播攟提瀺音。" + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "标准语音邮件提瀺。" + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "按䞋0" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "圚播攟䜠的䞪人语音邮件问候语时按䞋0以蜬到接线员。䞍钩选则进å +¥å +¶ä»–的目的地。这䞪功胜即䜿圚犁甚了VmX后仍有效而犁甚VmX是䞺了启甚别的接线员分机号而䞍芁求歀甚户启甚VmX功胜。" + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "蜬到接线员" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "按䞋1" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "å‰©äž‹çš„é€‰é¡¹å¯åŒ +å«å† +éƒšåˆ†æœºã€æ‹šå·å°ç»„ã€ç­‰åŸ +é˜Ÿåˆ—å’Œå¯æ‹šæ‰“çš„å€–éƒšå·ç ã€‚ç»åžžäŒšåŒ +å«äœ çš„ç§»åŠšç”µè¯å·ç ã€‚åœšæ¯æ¬¡è¿›è¡Œæ›Žæ”¹åŽïŒŒäœ åº”è¯¥æµ‹è¯•äž€äž‹ïŒŒä»¥ç¡®å®šå·ç æ˜¯å¯ç”šçš„ïŒŒè¿™æ ·å°±äžäŒšè®©äž»å«è¿›é€€äž€éšŸæˆ–è€ +收到无效的号码消息。" + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "圚歀蟓å +¥äž€äžªå·ç ïŒŒç„¶åŽæ”¹å˜äœ çš„䞪人语音邮箱问候语奜让䞻叫知道按䞋1䌚蜬移到这䞪号码去。

劂果䜠想䜿甚“跟我来”列衚钩选“发送到‘跟我来’”并圚䞊面犁甚“跟我来”。" + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "发送到“跟我做”" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "按䞋2" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "äœ¿ç”šä»»äœ•åˆ†æœºã€æ‹šå·å°ç»„ã€ç­‰åŸ +é˜Ÿåˆ—æˆ–è€ +倖郚号码。

è®°åŸ—é‡æ–°åœ•åˆ¶äœ çš„äžªäººè¯­éŸ³é‚®ç®±é—®å€™è¯­ïŒŒå¹¶åŒ +含诎明。最奜测试䞀䞋号码可以工䜜。" + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "无法删陀语音邮箱 %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "发生错误错误代码䞺 %s 圚移陀 %s 时发生" + +#: install.php:4 +msgid "Voicemail" +msgstr "语音邮件" + +#: install.php:5 +msgid "My Voicemail" +msgstr "我的语音邮件" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "拚打语音邮件" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "无法䞎Asterisk管理噚连接" + +#~ msgid "" +#~ "Pager/mobile email address that short voicemail notifcations are sent to." +#~ msgstr "简短的语音邮件通知芁发送到的分页皋序的邮件地址。" +#~ msgid "" +#~ "Envelope controls whether or not the voicemail system will play the " +#~ "message envelope (date/time) before playing the voicemail message. This " +#~ "settng does not affect the operation of the envelope option in the " +#~ "advanced voicemail menu." +#~ msgstr "" +#~ "这䞪选项控制着语音邮件系统是吊圚播攟语音邮件消息之前播攟消息的信封日期/" +#~ "时闎。这䞪讟眮䞍䌚圱响圚高级语音邮件讟眮菜单䞭对信封的操䜜的讟眮。" +#~ msgid "Delete Vmail" +#~ msgstr "删陀语音邮件" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/pt_BR/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/pt_BR/LC_MESSAGES/voicemail.po (revision 7759) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/pt_BR/LC_MESSAGES/voicemail.po (revision 7759) @@ -0,0 +1,258 @@ +# This file is part of FreePBX. +# +# FreePBX is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# FreePBX is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with FreePBX. If not, see . +# +# Copyright 2009, Marcelo Arauj +# +msgid "" +msgstr "" +"Project-Id-Version: FreePbx 2.5.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: 2009-05-11 20:06-0300\n" +"Last-Translator: Marcelo Araujo \n" +"Language-Team: Team MidiVTS \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "O correio de voz está habilitado mas o campo senha está vazio. Tem certeza que deseja continuar?" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "Habilitado" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "Desabilitado" + +#: functions.inc.php:382 +msgid "yes" +msgstr "sim" + +#: functions.inc.php:383 +msgid "no" +msgstr "no" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "Por favor, entre com um senha de correio de voz válida, usando digitos apenas" + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "Por favor entre com um endereço válido de e-mail" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "Por favor entre com um endereço válido de Pager" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "Contexto de VM não pode estar em branco" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "Correio de voz & Diretório" + +#: functions.inc.php:472 +msgid "Status" +msgstr "Status" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "Senha do correio de voz" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "Esta é a senha usada para acessar o correio de voz. %sEsta senha pode conter apenas números. %sUm usuário pode mudar a senha que você entra aqui ap;os se logar no sistema de correio de voz (%s) com um telefone. " + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "Endereço de e-mail" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "Endereço de e-mail para onde enviar os correios de voz" + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "Endereço de email do pager. " + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "Endereço de pager/mobile para onde mensagens curstas devem ser enviadas. " + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "Anexar ao e-mail" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "Opção para anexar mensagens de voz para o email." + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "Tocar o CID" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "Lê o número do telefone da origem antes de tocar a mensagem de entrada, e logo após o anúncio a data e a hora que a mensagem foi deixada." + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "Tocar o envelope" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "O Envelope controla se o sistema de correio de voz irá tocar a mensagem de envelope (data/hora) antes de tocar a mensagem de correio de voz. Esta configuração não afeta a operação do envelope no menu avançado de opções. " + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "Excluír o correio de voz" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "Se configurado para \"sim\" a mensagem será apagada da caixa de correio de voz (após ter habilitado). Provê a funcionalidade que permite que um usuário receba seu correio de voz sozinho, ao invés de ter o correio de voz sendo recuperado da interface Web ou de um telefone. CUIDADO: VOCÊ DEVE anexar o correio de voz para o email. CONFIGURE PARA YES SENÃO SUAS MENSAGENS SERÃO PERDIDAS PARA SEMPRE. " + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "Opções de VM" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "Separe as opções com o pipe ( | )%s ex: review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "Contexto do VM" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "Este é o context do correio de voz que é normalmente configurado como padrão. Não o altere a não ser que você saiba quais são as implicações." + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "VmX Locater" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "VmX Locater™" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "Habilita/Desabilita o recurso de localizador VmX para este usuário. Quando habilitado, todas as configurações serão controladas pelo usuário no portal de usuário (ARI). Desabilitar não apaga as configurações de um usuário existente, mas desabilita o acesso ao recurso. " + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "Por favor entre com um número válido de telefone usando apenas dígitos" + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "Use quando:" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "As opções do menu abaixo estão disponíveis durante a sua saudação pessoal de correio de voz.

Verifique ambos para usá-los a qualquer momento." + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "indisponível" + +#: functions.inc.php:559 +msgid "busy" +msgstr "ocupado" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "Instruções de mensagens de voz" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "Deselecione para tocar um beep após a sua saudação do correio de voz" + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "Prompts padrão do correio de voz. " + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "Pressione 0:" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "Pressione 0 durante a sua saudação de correio de voz para or para a telefonista. Deselecione para entrar outro destino aqui. Este recurso pode ser usado enquanto ainda se desabilita o VMX para permitir uma extensão de telefonista alternativa sem precisar de um recurso de VMX para o usuário. " + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "Vai para o operador" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "Pressione 1:" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "As opções restantes podem ter extensões internas, grupos de busca, filas e números externos que podem tocar. ele é frequentemente usado para incluir o seu celular. Você deve rodar um teste para certificar-se que o número é funcional a qualquer hora que uma mudança seja feita de forma que você não deixe quam chama preso ou recebendo mensagens inválidas. " + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "Entre com um número alternativo aqui, então mude sua saudação de correio de voz para permitir aos que chamam pressionar 1 para alcançar aquele número.

Se você quiser usar sua lista de Siga-me, verifique \"Enviar para o Siga-me\" e desabilite o siga-me acima. " + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "Enviar para o Siga-me" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "Pressione 2:" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "Use quaisquer extensões, grupos de busca, chamadas ou números externos.

Lembre-se de regravar sua saudação do correio de voz pessoal e incluir instruções. Rode um teste para se certificar que o número é funcional. " + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "Falhou em remover o vmbox: %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "Falhou com código de retorno %s ao remover %s:" + +#: install.php:4 +msgid "Voicemail" +msgstr "Correio de voz" + +#: install.php:5 +msgid "My Voicemail" +msgstr "Meu correio de voz" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "Discar correio de voz" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Não posso me conectar ao Asterisk Mananager" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/it_IT/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/it_IT/LC_MESSAGES/voicemail.po (revision 7250) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/it_IT/LC_MESSAGES/voicemail.po (revision 7250) @@ -0,0 +1,240 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: Francesco Romano \n" +"Language-Team: Italian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Italian\n" +"X-Poedit-Country: ITALY\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "La Casella Vocale Ú attivata ma il campo Password Ú vuoto. Sei sicuro di voler continuare?" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "Attivata" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "Disattivata" + +#: functions.inc.php:382 +msgid "yes" +msgstr "sì" + +#: functions.inc.php:383 +msgid "no" +msgstr "no" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "Prego immettere una Password per la Casella Vocale valida, usando solo numeri" + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "Prego immettere un indirizzo Email valido" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "Prego immettere un indirizzo Email valido per il Pager" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "Il Contesto della Casella Vocale non può essere lasciato vuoto" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "Casella Vocale & Elenco Telefonico" + +#: functions.inc.php:472 +msgid "Status" +msgstr "Stato" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "Password Casella Vocale" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "Questa Ú la password utilizzata per accedere alla Casella Vocale.%sQuesta password può contenere solo numeri.%sL'utente può cambiare la password una volta entrato col telefono nella Casella Vocale (%s)." + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "Indirizzo Email" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "L'indirizzo Email dove verranno spediti i messaggi vocali." + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "Indirizzo Email Gateway SMS" + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "Indirizzo Email del gateway SMS dove verranno inviate le notifiche di nuovi messaggi vocali." + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "Allegato Email" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "Opzione per allegare i messaggi vocali all'email" + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "Riproduci ID Chiamante" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "Riproduce al chiamante il numero di telefono prima del messaggio arrivato, e subito dopo aver annunciato la data e l'ora." + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "Riproduci Busta" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "Impostando questa opzione il sistema riprodurrà la data e l'ora di prima di riprodurre il messaggio. Questa impostazione non influisce sulle operazioni dell'opzioni della busta disponibili nel menu avanzato della Casella Vocale." + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "Elimina Messaggio Vocale" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "Se impostato su \"Sì\" il messaggio verrà rimosso dalla Casella (dopo esser stato inviato). In questo modo i messaggi vocali verranno inviati solo per posta elettronica, invece che rimanere nel sistema ed essere disponibili anche via Web o Telefono. ATTENZIONE: BISOGNA IMPOSTARE allegato Email SU SI' ALTRIMENTI TUTTI I MESSAGGI VOCALI ANDRANNO PERSI PER SEMPRE." + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "Opzioni Casella" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "Separare le opzioni con la barra verticale (|)%ses: review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "Contesto Casella" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "Questo Ú il Contesto della Casella Vocale che normalmente Ú impostato su default. Non cambiare se non si conoscono le conseguenze." + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "VmX Locater" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "VmX Locater™" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "Attiva/Disattiva l'opzione VmX Locater per questo utente. Attivando questa opzione tutte le impostazioni sarabbi controllabili anche dal Portale Utente (ARI). Disabilitando non verrà cancellato nulla ma disattivato l'accesso alla funzione." + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "Prego immettere un numero di telefono valido utilizzando solo numeri" + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "Utilizza quando:" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "Le opzioni del menu qui sotto sono disponibili durante la riproduzione del messaggio di benvenuto.

Selezionare entrambe per utilizzarle sempre." + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "Non disponibile" + +#: functions.inc.php:559 +msgid "busy" +msgstr "Occupato" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "Istruzioni Casella Vocale:" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "Deselezionare per riprodurre un segnale acustico dopo il messaggio di benvenuto della casella vocale." + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "Voci standard Casella Vocale." + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "Preme 0:" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "Premendo 0 durante il messaggio di benvenuto della casella vocale la chiamata andrà all'Operatore. Deselezionare per immettere qui un'altra destinazione. Non c'Ú bisogno di abilitare il VmX per utlizzare questa funzione." + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "Vai all'Operatore" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "Preme 1:" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "Le opzioni rimamanenti permettono l'utilizzo di qualsiasi interno, gruppo di chiamata, coda o numero esterno. Spesso si inserisce il proprio numero di telefono cellulare. Dovresti effettuare un test per assicurarsi che il numero funzioni correttamente così da non inviare il chiamante verso numerazioni non raggiungibili o inesistenti." + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "Immettere qui un numero alternativo, poi cambiare il proprio messaggio di benvenuto della casella vocale per permettere ai chiamanti di chiamare questo numero premendo 1.

Se si preferisce utilizzare la Lista Seguimi, attivare \"Invia al Seguimi\" e disabilitare sopra il Seguimi." + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "Invia al Seguimi" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "Preme 2:" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "Utilizzare qualsiasi interno, gruppo di chiamata, coda o numero esterno.

Ricordarsi di registrare nuovamente il proprio messaggio di benvenuto ed includere le istruzioni. Effettuare un test per assicurarsi che il numero funziona." + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "Eliminazione casella fallita: %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "fallito con codice di ritorno %s durante la rimozione di %s:" + +#: install.php:4 +msgid "Voicemail" +msgstr "Casella Vocale" + +#: install.php:5 +msgid "My Voicemail" +msgstr "Casella Vocale Personale" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "Casella Vocale" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Impossibile connettersi al Manager di Asterisk con" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/voicemail.pot =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/voicemail.pot (revision 12482) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/voicemail.pot (revision 12482) @@ -0,0 +1,943 @@ +# This file is part of FreePBX. +# +# FreePBX is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# FreePBX is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with FreePBX. If not, see . +# +# FreePBX language template for voicemail +# Copyright (C) 2008, 2009, 2010, 2011 Bandwith.com +# +msgid "" +msgstr "" +"Project-Id-Version: FreePBX\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-04 19:26+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "" +"Voicemail is enabled but the Voicemail Password field is empty. Are you " +"sure you wish to continue?" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Disabled" +msgstr "" + +msgid "yes" +msgstr "" + +msgid "no" +msgstr "" + +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "" + +msgid "Please enter a valid Email Address" +msgstr "" + +msgid "Please enter a valid Pager Email Address" +msgstr "" + +msgid "VM Context cannot be blank" +msgstr "" + +msgid "Voicemail" +msgstr "" + +msgid "Status" +msgstr "" + +msgid "Voicemail Password" +msgstr "" + +#, php-format +msgid "" +"This is the password used to access the Voicemail system.%sThis password can " +"only contain numbers.%sA user can change the password you enter here after " +"logging into the Voicemail system (%s) with a phone." +msgstr "" + +msgid "Email Address" +msgstr "" + +msgid "The email address that Voicemails are sent to." +msgstr "" + +msgid "Pager Email Address" +msgstr "" + +msgid "" +"Pager/mobile email address that short Voicemail notifications are sent to." +msgstr "" + +msgid "Email Attachment" +msgstr "" + +msgid "Option to attach Voicemails to email." +msgstr "" + +msgid "Play CID" +msgstr "" + +msgid "" +"Read back caller's telephone number prior to playing the incoming message, " +"and just after announcing the date and time the message was left." +msgstr "" + +msgid "Play Envelope" +msgstr "" + +msgid "" +"Envelope controls whether or not the Voicemail system will play the message " +"envelope (date/time) before playing the Voicemail message. This setting does " +"not affect the operation of the envelope option in the advanced Voicemail " +"menu." +msgstr "" + +msgid "Delete Voicemail" +msgstr "" + +msgid "" +"If set to \"yes\" the message will be deleted from the Voicemailbox (after " +"having been emailed). Provides functionality that allows a user to receive " +"their Voicemail via email alone, rather than having the Voicemail able to be " +"retrieved from the Webinterface or the Extension handset. CAUTION: MUST " +"HAVE attach Voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE " +"LOST FOREVER." +msgstr "" + +msgid "IMAP Username" +msgstr "" + +#, php-format +msgid "This is the IMAP username, if using IMAP storage" +msgstr "" + +msgid "IMAP Password" +msgstr "" + +#, php-format +msgid "This is the IMAP password, if using IMAP storage" +msgstr "" + +msgid "VM Options" +msgstr "" + +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "" + +msgid "VM Context" +msgstr "" + +msgid "" +"This is the Voicemail Context which is normally set to default. Do not " +"change unless you understand the implications." +msgstr "" + +msgid "VmX Locater" +msgstr "" + +msgid "VmX Locater™" +msgstr "" + +msgid "" +"Enable/Disable the VmX Locater feature for this user. When enabled all " +"settings are controlled by the user in the User Portal (ARI). Disabling will " +"not delete any existing user settings but will disable access to the feature" +msgstr "" + +msgid "Please enter a valid phone number using number digits only" +msgstr "" + +msgid "Use When:" +msgstr "" + +msgid "" +"Menu options below are available during your personal Voicemail greeting " +"playback.

Check both to use at all times." +msgstr "" + +msgid "unavailable" +msgstr "" + +msgid "busy" +msgstr "" + +msgid "Voicemail Instructions:" +msgstr "" + +msgid "Uncheck to play a beep after your personal Voicemail greeting." +msgstr "" + +msgid "Standard Voicemail prompts." +msgstr "" + +msgid "Press 0:" +msgstr "" + +msgid "" +"Pressing 0 during your personal Voicemail greeting goes to the Operator. " +"Uncheck to enter another destination here. This feature can be used while " +"still disabling VmX to allow an alternative Operator extension without " +"requiring the VmX feature for the user." +msgstr "" + +msgid "Go To Operator" +msgstr "" + +msgid "Press 1:" +msgstr "" + +msgid "" +"The remaining options can have internal extensions, ringgroups, queues and " +"external numbers that may be rung. It is often used to include your cell " +"phone. You should run a test to make sure that the number is functional any " +"time a change is made so you don't leave a caller stranded or receiving " +"invalid number messages." +msgstr "" + +msgid "" +"Enter an alternate number here, then change your personal Voicemail greeting " +"to let callers know to press 1 to reach that number.

If you'd like " +"to use your Follow Me List, check \"Send to Follow Me\" and disable Follow " +"Me above." +msgstr "" + +msgid "Send to Follow-Me" +msgstr "" + +msgid "Press 2:" +msgstr "" + +msgid "" +"Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal Voicemail greeting and include " +"instructions. Run a test to make sure that the number is functional." +msgstr "" + +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "" + +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "" + +msgid "Voicemail Administration" +msgstr "" + +msgid "Timezone Definitions" +msgstr "" + +msgid "Basic Settings For: " +msgstr "" + +msgid "Basic settings view is for individual accounts." +msgstr "" + +msgid "Advanced Settings For: " +msgstr "" + +msgid "System Settings" +msgstr "" + +msgid "Usage Statistics For: " +msgstr "" + +msgid "System Usage Statistics" +msgstr "" + +msgid "Invalid Action" +msgstr "" + +msgid "My Voicemail" +msgstr "" + +msgid "Dial Voicemail" +msgstr "" + +msgid "Voicemail Admin" +msgstr "" + +msgid "Cannot connect to Asterisk Manager with " +msgstr "" + +msgid "checking if Voicemail Admin (vmailadmin) is installed.." +msgstr "" + +msgid "not installed, ok" +msgstr "" + +msgid "installed." +msgstr "" + +msgid "Voicemail Admin being removed and merged with Voicemail" +msgstr "" + +msgid "Attempting to delete.." +msgstr "" + +msgid "ok" +msgstr "" + +msgid "Timezone definition name" +msgstr "" + +msgid "Time announcement for message playback" +msgstr "" + +msgid "Remove the timezone definition" +msgstr "" + +msgid "The ADSI feature descriptor number to download to" +msgstr "" + +msgid "The ADSI security lock code" +msgstr "" + +msgid "The ADSI Voicemail application version number." +msgstr "" + +msgid "IMAP server master password." +msgstr "" + +msgid "IMAP server master username." +msgstr "" + +msgid "" +"No. of deleted messages saved per mailbox (can be a number or yes/no, yes " +"meaning MAXMSG, no meaning 0)." +msgstr "" + +msgid "" +"Context to call back from; if not listed, calling the sender back will not " +"be permitted." +msgstr "" + +msgid "The character set for Voicemail messages" +msgstr "" + +msgid "Comma separated list of internal contexts to use caller ID." +msgstr "" + +msgid "" +"Context to dial out from [option 4 from the advanced menu] if not listed, " +"dialing out will not be permitted." +msgstr "" + +msgid "Email body." +msgstr "" + +msgid "Load date format config for Voicemail mail." +msgstr "" + +msgid "Email subject" +msgstr "" + +msgid "How many seconds of silence before we end the recording" +msgstr "" + +msgid "" +"Turn on/off envelope playback before message playback. [ON by default] This " +"does NOT affect option 3,3 from the advanced options menu." +msgstr "" + +msgid "" +"Context to check for handling * or 0 calls to operator. \"Operator Context\"" +msgstr "" + +msgid "Expunge on exit." +msgstr "" + +msgid "External Voicemail notify application." +msgstr "" + +msgid "External password changing command (overrides externpassnotify)." +msgstr "" + +msgid "Command specified runs after a user changes his password." +msgstr "" + +msgid "" +"Force new user to record greetings (the same as forcename, except for " +"recording greetings). The default is \"no\"." +msgstr "" + +msgid "" +"Force a new user to record their name. A new user is determined by the " +"password being the same as the mailbox number. The default is \"no\"." +msgstr "" + +msgid "" +"Formats for writing Voicemail. Note that when using IMAP storage for " +"Voicemail, only the first format specified will be used." +msgstr "" + +msgid "From: string for email" +msgstr "" + +msgid "For IMAP storage" +msgstr "" + +msgid "IMAP server flags." +msgstr "" + +msgid "IMAP Voicemail folder." +msgstr "" + +msgid "" +"If using IMAP storage, specify whether Voicemail greetings should be stored " +"via IMAP. If no, then greetings are stored as if IMAP storage were not " +"enabled" +msgstr "" + +msgid "" +"(yes/no) If imapgreetings=yes, then specify which folder to store your " +"greetings in. If you do not specify a folder, then INBOX will be used." +msgstr "" + +msgid "For IMAP storage - TCP open timeout in seconds" +msgstr "" + +msgid "Set the parent folder (default is to have no parent folder set)." +msgstr "" + +msgid "IMAP server port." +msgstr "" + +msgid "For IMAP storage - TCP read timeout in seconds" +msgstr "" + +msgid "IMAP server address." +msgstr "" + +msgid "For IMAP storage - TCP write timeout in seconds" +msgstr "" + +msgid "Customize the key that fast-forwards message playback" +msgstr "" + +msgid "Customize the key that pauses/unpauses message playback" +msgstr "" + +msgid "Customize the key that restarts message playback" +msgstr "" + +msgid "Customize the key that rewinds message playback" +msgstr "" + +msgid "Customize the key that stops message playback" +msgstr "" + +msgid "Mail command." +msgstr "" + +msgid "Max message greeting length." +msgstr "" + +msgid "Max failed login attempts." +msgstr "" + +msgid "Max message time length." +msgstr "" + +msgid "" +"Maximum number of messages per folder. If not specified, a default value " +"(100) is used. Maximum value for this option is 9999." +msgstr "" + +msgid "" +"Min message time length - maxsilence should be less than minsecs or you may " +"get empty messages." +msgstr "" + +msgid "Move heard messages to the 'Old' folder automatically. Defaults to on." +msgstr "" + +msgid "Skip to the next message after save/delete." +msgstr "" + +msgid "" +"The value of odbcstorage is the database connection configured in res_odbc." +"conf." +msgstr "" + +msgid "The default table for ODBC Voicemail storage is voicemessages." +msgstr "" + +msgid "" +"Operator break. Allow sender to hit 0 before/after/during leaving a " +"Voicemail to reach an operator [OFF by default]" +msgstr "" + +msgid "Body of message sent to pager." +msgstr "" + +msgid "From: string sent to pager." +msgstr "" + +msgid "Subject sent to pager." +msgstr "" + +msgid "Skip the \"[PBX]:\" string from the message title" +msgstr "" + +msgid "" +"If the \"pollmailboxes\" option is enabled, this option sets the polling " +"frequency. The default is once every 30 seconds." +msgstr "" + +msgid "" +"If mailboxes are changed anywhere outside of app_voicemail, then this option " +"must be enabled for MWI to work. This enables polling mailboxes for " +"changes. Normally, it will expect that changes are only made when someone " +"called in to one of the Voicemail applications. Examples of situations that " +"would require this option are web interfaces to Voicemail or an email client " +"in the case of using IMAP storage." +msgstr "" + +msgid "" +"Allow sender to review/rerecord their message before saving it [OFF by " +"default]" +msgstr "" + +msgid "" +"Read back caller's telephone number prior to playing the incoming message, " +"and just after announcing the date and time the message was left. If not " +"described, or set to no, it will be in the envelope." +msgstr "" + +msgid "" +"Turn on/off saying duration information before the message playback. [ON by " +"default]" +msgstr "" + +msgid "Specify in minutes the minimum duration to say. Default is 2 minutes." +msgstr "" + +msgid "" +"Yes to search all contexts, no to search current context (if one is not " +"specified)." +msgstr "" + +msgid "" +"Send Voicemail message. If not listed, sending messages from inside " +"Voicemail will not be permitted." +msgstr "" + +msgid "Who the e-mail notification should appear to come from" +msgstr "" + +msgid "" +"Silence threshold (what we consider silence: the lower, the more sensitive)" +msgstr "" + +msgid "" +"How many milliseconds to skip forward/back when rew/ff in message playback" +msgstr "" + +msgid "Enable Simple Message Desk Interface (SMDI) integration" +msgstr "" + +msgid "" +"Valid port as specified in smdi.conf for using smdi for external " +"notification." +msgstr "" + +msgid "Temporary greeting reminder." +msgstr "" + +msgid "Permit finding entries for forward/compose from the directory" +msgstr "" + +msgid "" +"User context is where entries from users.conf are registered. The default " +"value is 'default'" +msgstr "" + +msgid "" +"Customize which sound file is used instead of the default prompt that says: " +"\"The passwords you entered and re-entered did not match. Please try again." +"\"" +msgstr "" + +msgid "" +"Customize which sound file is used instead of the default prompt that says: " +"\"Please enter your new password followed by the pound key.\"" +msgstr "" + +msgid "" +"Customize which sound file is used instead of the default prompt that says: " +"\"Your password has been changed.\"" +msgstr "" + +msgid "" +"Customize which sound file is used instead of the default prompt that says: " +"\"password\"" +msgstr "" + +msgid "" +"Customize which sound file is used instead of the default prompt that says: " +"\"Please re-enter your password followed by the pound key\"" +msgstr "" + +msgid "" +"Emails bearing the Voicemail may arrive in a volume too quiet to be heard. " +"This parameter allows you to specify how much gain to add to the message " +"when sending a Voicemail. NOTE: sox must be installed for this option to " +"work." +msgstr "" + +msgid "" +"This is the password used to access the Voicemail system.

This " +"password can only contain numbers.

A user can change the password " +"you enter here after logging into the Voicemail system (*98) with a phone." +msgstr "" + +msgid "Which format of audio file to attach to the email." +msgstr "" + +msgid "" +"After notification, the Voicemail is deleted from the server. [per-mailbox " +"only] This is intended for use with users who wish to receive their " +"Voicemail ONLY by email. Note: deletevoicemail is provided as an equivalent " +"option for Realtime configuration." +msgstr "" + +msgid "Name of Voicemail account" +msgstr "" + +msgid "" +"Hide this mailbox from the directory produced by app_directory. The default " +"is \"no\"." +msgstr "" + +msgid "IMAP password." +msgstr "" + +msgid "IMAP user." +msgstr "" + +msgid "Asterisk language code" +msgstr "" + +msgid "Name of account/user" +msgstr "" + +msgid "Remind the user that their temporary greeting is set" +msgstr "" + +msgid "Timezone from zonemessages context. Irrelevant if envelope=no." +msgstr "" + +msgid "Call me number. Can be used from within ARI." +msgstr "" + +msgid "System View Links:" +msgstr "" + +msgid "" +"A timezone definition specifies how the Voicemail system announces the time." +msgstr "" + +msgid "" +"For example, the time a message was left will be announced according to the " +"user's timezone on message playback." +msgstr "" + +msgid "Entries below will be written to Voicemail configuration as-is." +msgstr "" + +msgid "" +"Please be sure to follow the format for timezone definitions described below." +msgstr "" + +msgid "Name" +msgstr "" + +msgid "Timezone Definition" +msgstr "" + +msgid "Delete" +msgstr "" + +msgid "New Name" +msgstr "" + +msgid "New Timezone Definition" +msgstr "" + +msgid "Timezone definition format is: " +msgstr "" + +msgid "timezone|values" +msgstr "" + +msgid "Timezones are listed in /usr/share/zoneinfo" +msgstr "" + +msgid "The values supported in the timezone definition string include:" +msgstr "" + +msgid "'filename'" +msgstr "" + +msgid "The name of a sound file (the file name must be single-quoted)" +msgstr "" + +msgid "variable" +msgstr "" + +msgid "A variable to be substituted (see below for supported variable values)" +msgstr "" + +msgid "Supported variables:" +msgstr "" + +msgid "A or a" +msgstr "" + +msgid "Day of week (Saturday, Sunday, ...)" +msgstr "" + +msgid "B or b or h" +msgstr "" + +msgid "Month name (January, February, ...)" +msgstr "" + +msgid "d or e" +msgstr "" + +msgid "numeric day of month (first, second, ..., thirty-first)" +msgstr "" + +msgid "Y" +msgstr "" + +msgid "Year" +msgstr "" + +msgid "I or l" +msgstr "" + +msgid "Hour, 12 hour clock" +msgstr "" + +msgid "H" +msgstr "" + +msgid "Hour, 24 hour clock (single digit hours preceded by \"oh\")" +msgstr "" + +msgid "k" +msgstr "" + +msgid "Hour, 24 hour clock (single digit hours NOT preceded by \"oh\")" +msgstr "" + +msgid "M" +msgstr "" + +msgid "Minute, with 00 pronounced as \"o'clock\"" +msgstr "" + +msgid "N" +msgstr "" + +msgid "Minute, with 00 pronounced as \"hundred\" (US military time)" +msgstr "" + +msgid "P or p" +msgstr "" + +msgid "AM or PM" +msgstr "" + +msgid "Q" +msgstr "" + +msgid "\"today\", \"yesterday\" or ABdY" +msgstr "" + +msgid "q" +msgstr "" + +msgid "\"\" (for today), \"yesterday\", weekday, or ABdY" +msgstr "" + +msgid "R" +msgstr "" + +msgid "24 hour time, including minute" +msgstr "" + +msgid "Account View Links:" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "Usage" +msgstr "" + +msgid "Advanced Settings" +msgstr "" + +msgid "No name defined; this is configured from the Extensions or Users page." +msgstr "" + +msgid "Call-Me Number" +msgstr "" + +msgid "undefined" +msgstr "" + +msgid "" +"Selecting \"undefined\" will remove this option from the user's Voicemail " +"configuration entry. (System default will be used.)" +msgstr "" + +msgid "Number of Accounts:" +msgstr "" + +msgid "Total ( Activated / Unactivated / Disabled )" +msgstr "" + +msgid "Number of Messages:" +msgstr "" + +msgid "Total ( Messages in inboxes / Messages in other folders )" +msgstr "" + +msgid "Remove all messages" +msgstr "" + +msgid "Recorded Names:" +msgstr "" + +msgid "Number of recorded name greetings" +msgstr "" + +msgid "Remove all recorded names" +msgstr "" + +msgid "Unavailable Greetings:" +msgstr "" + +msgid "Number of recorded unavailable greetings" +msgstr "" + +msgid "Remove all unavailable greetings" +msgstr "" + +msgid "Busy Greetings:" +msgstr "" + +msgid "Number of recorded busy greetings" +msgstr "" + +msgid "Remove all busy greetings" +msgstr "" + +msgid "Temporary Greetings:" +msgstr "" + +msgid "Number of recorded temporary greetings" +msgstr "" + +msgid "Remove all temporary greetings" +msgstr "" + +msgid "Abandoned Greetings:" +msgstr "" + +msgid "" +"Number of abandoned greetings. Such greetings were recorded by the user but " +"were NOT accepted, so the sound file remains on disk but is not used as a " +"greeting." +msgstr "" + +msgid "Remove all abandoned greetings (> 1 day old)" +msgstr "" + +msgid "Storage Used:" +msgstr "" + +msgid "Disk space currently in use by Voicemail data" +msgstr "" + +msgid "File timestamp: " +msgstr "" + +msgid "Recorded Name:" +msgstr "" + +msgid "Has a recorded name greeting?" +msgstr "" + +msgid "Remove recorded name" +msgstr "" + +msgid "Unavailable Greeting:" +msgstr "" + +msgid "Has a recorded unavailable greeting?" +msgstr "" + +msgid "Remove unavailable greeting" +msgstr "" + +msgid "Has a recorded busy greeting?" +msgstr "" + +msgid "Remove busy greeting" +msgstr "" + +msgid "Temporary Greeting:" +msgstr "" + +msgid "Has a recorded temporary greeting?" +msgstr "" + +msgid "Remove temporary greeting" +msgstr "" + +msgid "Storage Used" +msgstr "" + +msgid "Apps" +msgstr "" + +msgid "This module allows you to configure Voicemail for a user or extension" +msgstr "" + +msgid "Provide IMAP Voicemail Fields" +msgstr "" + +msgid "Voicemail Module" +msgstr "" + +msgid "" +"Installations that have configured Voicemail with IMAP should set this to " +"true so that the IMAP username and password fields are provided in the " +"Voicemail setup screen for extensions. If an extension alread has these " +"fields populated, they will be displayed even if this is set to false." +msgstr "" Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/ru_RU/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/ru_RU/LC_MESSAGES/voicemail.po (revision 10283) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/ru_RU/LC_MESSAGES/voicemail.po (revision 10283) @@ -0,0 +1,341 @@ +# Russian freePBX ver. translation +# Copyright (c) 2006-2008 PostMet Corporation +# This file is distributed under the same license as the freePBX package. +# Alexander Kozyrev , Sergey Nikolayev , 2006-2008. +# +# žáßÞÛì×ÞÒÐâì iconv amp.new -f UTF-8 -t ISO-8859-5 -o amp.po +# fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-02-27 17:34+0100\n" +"PO-Revision-Date: 2008-09-27 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "" +"Voicemail is enabled but the Voicemail Password field is empty. Are you " +"sure you wish to continue?" +msgstr "" +"³ÞÛÞáÞÒÐï ßÞçâÐ ÒÚÛîçÕÝÐ, ÝÞ ÝÕ ×ÐÔÐÝ ßÐàÞÛì " +"ÔÛï ÔÞáâãßÐ. ²ë áÞÑØàÐÕâÕáì ßàÞÔÞÛÖØâì?" + +msgid "Enabled" +msgstr "²ÚÛîçÕÝÞ" + +msgid "Disabled" +msgstr "²ëÚÛîçÕÝÞ" + +msgid "yes" +msgstr "ÔÐ" + +msgid "no" +msgstr "ÝÕâ" + +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "" +"¿ÞÖÐÛãÙáâÐ ÒÒÕÔØâÕ àÐ×àÕèñÝÝëÙ ßÐàÞÛì " +"ÓÞÛÞáÞÒÞÙ ßÞçâë, ØáßÞÛì×ãï âÞÛìÚÞ æØäàë" + +msgid "Please enter a valid Email Address" +msgstr "¿ÞÖÐÛãÙáâÐ ÒÒÕÔØâÕ àÐ×àÕèñÝÝëÙ ÐÔàÕá íÛ. ßÞçâë" + +msgid "Please enter a valid Pager Email Address" +msgstr "" +"¿ÞÖÐÛãÙáâÐ ÒÒÕÔØâÕ àÐ×àÕèñÝÝëÙ ÐÔàÕá ßÕÙÔÖÕàÐ" + +msgid "VM Context cannot be blank" +msgstr "ºÞÝâÕÚáâ ÓÞÛÞáÞÒÞÙ ßÞçâë ÝÕ ÜÞÖÕâ Ñëâì ßãáâëÜ" + +msgid "Voicemail & Directory" +msgstr "³ÞÛÞáÞÒÐï ßÞçâÐ Ø ŽØàÕÚâÞàØØ" + +msgid "Status" +msgstr "ÁâÐâãá" + +msgid "Voicemail Password" +msgstr "¿ÐàÞÛì ÝÐ ÓÞÛÞáÞÒãî ßÞçâã" + +#, php-format +msgid "" +"This is the password used to access the voicemail system.%sThis password can " +"only contain numbers.%sA user can change the password you enter here after " +"logging into the voicemail system (%s) with a phone." +msgstr "" +"¿ÐàÞÛì ÔÛï ÔÞáâãßÐ Ú ÓÞÛÞáÞÒÞÙ ßÞçâÕ. %s¿ÐàÞÛì " +"ÜÞÖÕâ áÞáâÞïâì âÞÛìÚÞ Ø× æØäà.
%s¿ÞÛì×ÞÒÐâÕÛì " +"ÜÞÖÕâ áÜÕÝØâì ãáâÐÝÞÒÛÕÝÝëÙ ×ÔÕáì ßÐàÞÛì ÝÐÑàÐÒ " +"(%s) áÞ áÒÞÕÓÞ âÕÛÕäÞÝÐ ßÞáÛÕ ÒåÞÔÐ Ò áØáâÕÜã ÓÞÛÞáÞÒÞÙ ßÞçâë." + +msgid "Email Address" +msgstr "°ÔàÕá íÛ. ßÞçâë" + +msgid "The email address that voicemails are sent to." +msgstr "°ÔàÕá íÛ.ßÞçâë, ÚãÔÐ ÑãÔãâ ÞâáëÛÐâìáï áÞÞÑéÕÝØï." + +# msgid "The email address that voicemails are sent to." +# msgstr "°ÔàÕá íÛ. ßÞçâë ÚãÔÐ ÑãÔÕâ ÒëáëÛÐâìáï áÞÞÑéÕÝØÕ Þ ßàØÝïâëå ×ÒÞÝÚÐå." +msgid "Pager Email Address" +msgstr "°ÔàÕá ßÕÙÔÖÕàÐ" + +msgid "" +"Pager/mobile email address that short voicemail notifications are sent to." +msgstr "" +"°ÔàÕá ßÕÙÔÖÕàÐ/ÜÞÑØÛìÝÞÓÞ âÕÛÕäÞÝÐ, ÚãÔÐ " +"ÜÞÖÝÞ ßÞáëÛÐâì ÁŒÁ ÞÑ ÞáâÐÒÛÕÝÝëå áÞÞÑéÕÝØïå." + +# msgid "" +# "Pager/mobile email address that short voicemail notifications are sent to." +# msgstr "" +msgid "Email Attachment" +msgstr "²ÛÞÖÕÝØÕ Ò íÛ. ßÞçâã" + +msgid "Option to attach voicemails to email." +msgstr "" +"ŸßæØÞÝÐÛìÝÞ - ßàØáÞÕÔØÝïâì ×ÒãÚÞÒÞÙ äÐÙÛ Ú " +"áÞÞÑéÕÝØî íÛ. ßÞçâë." + +# msgid "Option to attach voicemails to email." +# msgstr "ŸßæØÞÝÐÛìÝÞ - ÒÛÞÖÕÝØÕ ÞáâÐÒÛÕÝÝÞÓÞ áÞÞÑéÕÝØï Ò íÛ. áÞÞÑéÕÝØØ." +msgid "Play CID" +msgstr "²ÞáßàÞØ×ÒÞÔØâì œÞÜÕà žŽ" + +msgid "" +"Read back caller's telephone number prior to playing the incoming message, " +"and just after announcing the date and time the message was left." +msgstr "" +"¿àÞÓÞÒÐàØÒÐâì âÕÛÕäÞÝÝëÙ ÝÞÜÕà ßÞ×ÒÞÝØÒèÕÓÞ " +"ßàÕÖÔÕ çÕÜ ÒÞáßàÞØ×ÒÞÔØâì ÒåÞÔïéÕÕ áÞÞÑéÕÝØÕ, á ãÚÐ×ÐÝØÕÜ ÔÐâë Ø ÒàÕÜÕÝØ, " +"ÚÞÓÔÐ ÞÝÞ ÑëÛÞ ÞáâÐÒÛÕÝÞ." + +msgid "Play Envelope" +msgstr "²ÞáßàÞØ×ÒÞÔØâì ÔÐâã/ÒàÕÜï" + +msgid "" +"Envelope controls whether or not the voicemail system will play the message " +"envelope (date/time) before playing the voicemail message. This setting does " +"not affect the operation of the envelope option in the advanced voicemail " +"menu." +msgstr "" +"ÁàÕÔáâÒÐ ÞäÞàÜÛÕÝØï áÞÞÑéÕÝØï, ÒÞáßàÞØ×ÒÞÔØâì " +"íÛÕÜÕÝâë (ÔÐâÐ/ÒàÕÜï) ßàÕÖÔÕ çÕÜ ÒÞáßàÞØ×ÒÞÔØâì " +"áÞÞÑéÕÝØÕ. ÍâØ ãáâÐÝÞÒÚØ ÝÕ ÔÐîâ íääÕÚâÐ á " +"äãÝÚæØïÜØ Ò àÐáèØàÕÝÝÞÜ ÜÕÝî ÓÞÛÞáÞÒÞÙ ßÞçâë." + +msgid "Delete Voicemail" +msgstr "ÃÔÐÛØâì ÓÞÛÞáÞÒãî ßÞçâã" + +msgid "" +"If set to \"yes\" the message will be deleted from the voicemailbox (after " +"having been emailed). Provides functionality that allows a user to receive " +"their voicemail via email alone, rather than having the voicemail able to be " +"retrieved from the Webinterface or the Extension handset. CAUTION: MUST " +"HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE " +"LOST FOREVER." +msgstr "" +"µáÛØ ãáâÐÝÞÒÛÕÝÞ Ò \"ÔÐ\", áÞÞÑéÕÝØÕ ÑãÔÕâ " +"ãÔÐÛÕÝÞ Ø× ïéØÚÐ ÓÞÛÞáÞÒÞÙ ßÞçâë (ßÞáÛÕ âÞÓÞ, " +"ÚÐÚ ÑãÔÕâ ÞâÞáÛÐÝÞ). ŸÑÕáßÕçØÒÐÕâ " +"äãÝÚæØÞÝÐÛìÝÞáâì ßÞÛì×ÞÒÐâÕÛî ÓÞÛÞáÞÒÞÙ ßÞçâë " +"ßàÞáÛãèØÒÐâì áÞÞÑéÕÝØï âÞÛìÚÞ Ø× áÞÞÑéÕÝØï Ò íÛ. " +"ßÞçâë, ÒÜÕáâÞ âÞÓÞ, çâÞÑë ØáßÞÛì×ÞÒÐâì " +"ÒíÑØÝâÕàäÕÙá ØÛØ áÒÞÙ âÕÛÕäÞÝ ÔÛï âÞÙ ÖÕ æÕÛØ. " +"¿ÀµŽÃ¿Àµ¶Žµœžµ: ÞßæØï ßàØáÞÕÔØÝÕÝØï ÓÞÛÞáÞÒÞÓÞ " +"äÐÙÛÐ Ú áÞÞÑéÕÝØî íÛ. ßÞçâë Ÿ±Ï·°Âµ»ÌœŸ ÔÞÛÖÝÐ Ñëâì " +"×ÐÔÕÙáâÒÞÒÐÝÐ, Ò ßàÞâØÒÝÞÜ áÛãçÐÕ ÁŸŸ±Éµœžµ ±ÃŽµÂ " +"ÃÂÀ°ÇµœŸ ±µ·²Ÿ·²À°ÂœŸ" + +msgid "IMAP Username" +msgstr "¿ÞÛì×ÞÒÐâÕÛì IMAP" + +#, php-format +msgid "This is the IMAP username, if using IMAP storage" +msgstr "žÜï ßÞÛì×ÞÒÐâÕÛï, ÕáÛØ ØáßÞÛì×ãÕâáï ßàÞâÞÚÞÛ IMAP" + +msgid "IMAP Password" +msgstr "¿ÐàÞÛì IMAP " + +#, php-format +msgid "This is the IMAP password, if using IMAP storage" +msgstr "¿ÐàÞÛì ÔÛï ÔÞáâãßÐ ßÞ ßàÞâÞÚÞÛã IMAP" + +msgid "VM Options" +msgstr "ŸßæØØ ÓÞÛÞáÞÒÞÙ ßÞçâë" + +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "" +"ŸâÔÕÛïÙâÕ ÞßæØØ ×ÝÐçÚÞÜ ( | )%sÝÐßàØÜÕà: review=yes|" +"maxmessage=60" + +msgid "VM Context" +msgstr "ºÞÝâÕÚáâ ÓÞÛÞáÞÒÞÙ ßÞçâë" + +msgid "" +"This is the Voicemail Context which is normally set to default. Do not " +"change unless you understand the implications." +msgstr "" +"ÍâÞ ÚÞÝâÕÚáâ ÓÞÛÞáÞÒÞÙ ßÞçâë, ÞÑëçÝÞ ÞÝ default. œÕ " +"Ø×ÜÕÝïÙâÕ ÕÓÞ, ÕáÛØ Òë ÝÕ ÞâçñâÛØÒÞ ßÞÝØÜÐÕâÕ " +"ÚÐÚ íâÞ ßàØÜÕÝïâì" + +msgid "VmX Locater" +msgstr "VmX »ÞÚÐâÞà" + +msgid "VmX Locater™" +msgstr "VmX »ÞÚÐâÞà™" + +msgid "" +"Enable/Disable the VmX Locater feature for this user. When enabled all " +"settings are controlled by the user in the User Portal (ARI). Disabling will " +"not delete any existing user settings but will disable access to the feature" +msgstr "" +"²ÚÛîçØâì/ÒëÚÛîçØâì äãÝÚæØî VmX »ÞÚÐâÞàÐ ÔÛï íâÞÓÞ " +"ßÞÛì×ÞÒÐâÕÛï. µáÛØ ÒÚÛîçÕÝÐ, - ÒáÕ ãáâÐÝÞÒÚØ " +"ÔÞáâãßÝë ßÞÛì×ÞÒÐâÕÛî Ò ØÝâÕàäÕÙáÕ ÓÞÛÞáÞÒëå áÞÞÑéÕÝØÙ °áâÕàØáÚ (ARI). ŸâÚÛîçÕÝØÕ ÝÕ ãÔÐÛïÕâ " +"áÞ×ÔÐÝÝëÕ ÝÐáâàÞÙÚØ, Ð âÞÛìÚÞ ÞâÚÛîçÐÕâ ÔÞáâãß Ú " +"íâÞÙ äãÝ򾯯." + +msgid "Please enter a valid phone number using number digits only" +msgstr "" +"¿ÞÖÐÛãÙáâÐ ÒÒÕÔØâÕ àÐ×àÕèñÝÝëÙ ÝÞÜÕà ØáßÞÛì×ãï " +"âÞÛìÚÞ æØäàë" + +msgid "Use When:" +msgstr "žáßÞÛì×ÞÒÐâì ßàØ:" + +msgid "" +"Menu options below are available during your personal voicemail greeting " +"playback.

Check both to use at all times." +msgstr "" +"ŸßæØØ ÜÕÝî ÝØÖÕ ÔÞáâãßÝë ßàØ ÒÞáßàÞØ×ÒÕÔÕÝØØ " +"ßÕàáÞÝÐÛìÝÞÓÞ ãÒÕÔÞÜÛÕÝØï ÓÞÛÞáÞÒÞÙ ßÞçâë. " +"

ŸâÜÕâØâì ÞÑÐ ÔÛï ØáßÞÛì×ÞÒÐÝØï." + +msgid "unavailable" +msgstr "ÝÕÔÞáâãßÕÝ" + +msgid "busy" +msgstr "×ÐÝïâ" + +msgid "Voicemail Instructions:" +msgstr "žÝáâàã򾯯 Ú ÓÞÛÞáÞÒÞÙ ßÞçâÕ:" + +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "" +"œÕ ÞâÜÕçÐâì ÔÛï ÒÞáßàÞØ×ÒÕÔÕÝØï ßàÞáâÞÓÞ " +"×ÒãÚÞÓÞ áØÓÝÐÛÐ \"ÑØß\" ßÞáÛÕ ßÕàáÞÝÐÛìÝÞÓÞ " +"ãÒÕÔÞÜÛÕÝØï ÓÞÛÞáÞÒÞÙ ßÞçâë." + +msgid "Standard voicemail prompts." +msgstr "ÁâÐÝÔÐàâÝëÕ áÞÞÑéÕÝØï ÓÞÛÞáÞÒÞÙ ßÞçâë." + +msgid "Press 0:" +msgstr "œÐÖÐâì 0:" + +msgid "" +"Pressing 0 during your personal voicemail greeting goes to the Operator. " +"Uncheck to enter another destination here. This feature can be used while " +"still disabling VmX to allow an alternative Operator extension without " +"requiring the VmX feature for the user." +msgstr "" +"¿àØ ÝÐÖÐâØØ ÝÐ 0 ÒÞ ÒàÕÜï ÒÞáßÞàÞØ×ÒÕÔÕÝØï " +"ãÒÕÔÞÜÛÕÝØï ÓÞÛÞáÞÒÞÙ ßÞçâë ßàÞØ×ÞÙÔñâ " +"ßÕàÕÝÐßàÐÒÛÕÝØÕ ÝÐ ŸßÕàÐâÞàÐ. œÕ ÞâÜÕçÐâì, ÕáÛØ " +"ßàÕÔßÞÛÐÓÐÕâáï ÔàãÓÞÕ ßÕàÕÝÐßàÐÒÛÕÝØÕ. ÍâÐ " +"ÒÞ×ÜÞÖÝÞáâì ÜÞÖÕâ ØáßÞÛì×ÞÒÐâìáï âÞÛìÚÞ ßàØ " +"ÞâÚÛîçÕÝÝÞÜ VmX ÛÞÚÐâÞàÕ, ßàØ íâÞÜ " +"ßàÕÔßÞÛÐÓÐÕâáï ÐÛìâÕàÝÐâØÒÝÞÕ " +"ßÕàÕÝÐßàÐÒÛÕÝØÕ ÝÐ ŸßÕàÐâÞàÐ ÑÕ× " +"ÒÞ×ÜÞÖÝÞáâÕÙ VmX ÛÞÚÐâÞàÐ ÔÛï íâÞÓÞ " +"ßÞÛì×ÞÒÐâÕÛï." + +msgid "Go To Operator" +msgstr "¿ÕàÕÝÐßàÐÒÛÕÝØÕ ÝÐ ŸßÕàÐâÞàÐ" + +msgid "Press 1:" +msgstr "œÐÖÐâì 1:" + +msgid "" +"The remaining options can have internal extensions, ringgroups, queues and " +"external numbers that may be rung. It is often used to include your cell " +"phone. You should run a test to make sure that the number is functional any " +"time a change is made so you don't leave a caller stranded or receiving " +"invalid number messages." +msgstr "" +"ŸáâÐÒèØÕáï ÞßæØØ ÜÞÓãâ ÒÚÛîçÐâì ÒÝãâàÕÝÝØÕ " +"ÝÞÜÕàÐ, Óàãßßë Òë×ÞÒÐ, ÞçÕàÕÔØ, Ø ÒÝÕèÝØÕ " +"ÝÞÜÕàÐ, ÝÐ ÚÞâÞàëÕ ÜÞÖÝÞ ßÞ×ÒÞÝØâì. ÇÐéÕ íâÞ " +"ØáßÞÛì×ãÕâáï ÔÛï ÔÞÑÐÒÛÕÝØï ÝÞÜÕàÐ ÒÐèÕÓÞ " +"ÜÞÑØÛìÝÞÓÞ âÕÛÕäÞÝÐ. ²ë ÔÞÛÖÝë ÞÑï×ÐâÕÛìÝÞ " +"ßàÞâÕáâØàÞÒÐâì ÝÞÜÕà, çâÞÑë Ñëâì ãÒÕàÕÝÝëÜ, çâÞ " +"ÒÝÕáñÝÝëÕ Ø×ÜÕÝÕÝØï äãÝÚæØÞÝØàãîâ ÚÞààÕÚâÝÞ Ò " +"ÛîÑÞÕ ÒàÕÜï, ÝÕ áÞ×ÔÐÒÐï ÝÕãÔÞÑáâÒ Ø " +"×ÐâàãÔÝÕÝØÙ, ÚÞÓÔÐ ßÞ×ÒÞÝØÒèØÙ ÒÔàãÓ ßÞÛãçÐÕâ " +"áÞÞÑéÕÝØÕ Þ ÝÕßàÐÒØÛìÝÞ ÝÐÑàÐÝÝÞÜ ÝÞÜÕàÕ." + +msgid "" +"Enter an alternate number here, then change your personal voicemail greeting " +"to let callers know to press 1 to reach that number.

If you'd like " +"to use your Follow Me List, check \"Send to Follow Me\" and disable Follow " +"Me above." +msgstr "" +"²ÒÕÔØâÕ ÐÛìâÕàÝÐâØÒÝëÙ ÝÞÜÕà, ×ÐâÕÜ ßÞÜÕÝïÙâÕ " +"ÒÐèÕ ßÕàáÞÝÐÛìÝÞÕ ßàØÒÕâáâÒØÕ ÓÞÛÞáÞÒÞÙ ßÞçâë, " +"çâÞÑë ÔÐâì ÒÞ×ÜÞÖÝÞáâì ßÞ×ÒÞÝØÒèÕÜã ÝÐÖÐâì 1 Ø " +"ãáÛëèÐâì íâÞâ ÝÞÜÕà.

µáÛØ Õáâì ÖÕÛÐÝØÕ " +"ØáßÞÛì×ÞÒÐâì áÒÞÙ ÛØáâ ÁÛÕÔãÙâÕ áîÔÐ, ÞâÜÕâìâÕ " +"\"¿ÞáÛÐâì Ò ÁÛÕÔãÙâÕ-áîÔÐ\" Ø ÞâÚÛîçØâÕ ÁÛÕÔãÙâÕ " +"áîÔÐ ÒëèÕ." + +msgid "Send to Follow-Me" +msgstr "¿ÞáÛÐâì Ò ÁÛÕÔãÙâÕ-áîÔÐ" + +msgid "Press 2:" +msgstr "œÐÖÐâì 2:" + +msgid "" +"Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include " +"instructions. Run a test to make sure that the number is functional." +msgstr "" +"žáßÞÛì×ÞÒÐâì ÛîÑëÕ ÒÝãâàÕÝÝØÕ ÝÞÜÕàÐ, Óàãßßë " +"Òë×ÞÒÐ, ÞçÕàÕÔØ ØÛØ ÒÝÕèÝØÕ ÝÞÜÕàÐ.

œÕ " +"×ÐÑãÔìâÕ ßÕàÕ×ÐߨáÐâì ßÕàáÞÝÐÛìÝÞÕ áÞÞÑéÕÝØÕ " +"ÓÞÛÞáÞÒÞÙ ßÞçâë, ÓÔÕ íâØ ÒÞ×ÜÞÖÝÞáâØ " +"ãßÞÜØÝÐîâáï. ¿àÞâÕáâØàãÙâÕ ÝÞÜÕà, çâÞÑë Ñëâì " +"ãÒÕàÕÝÝëÜ, çâÞ ÒÝÕáñÝÝëÕ Ø×ÜÕÝÕÝØï äãÝÚæØÞÝØàãîâ " +"ÚÞààÕÚâÝÞ." + +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "" +"ŸèØÑÚÐ ßàØ ãÔÐÛÕÝØØ ïéØÚÐ ÓÞÛÞáÞÒÞÙ ßÞçâë: %s@%s" + +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "ÞèØÑÚÐ á ÚÞÔÞÜ %s ßàØ ãÔÐÛÕÝØØ %s" + +msgid "Voicemail" +msgstr "³ÞÛÞáÞÒÐï ßÞçâÐ" + +msgid "My Voicemail" +msgstr "ŒÞï ÓÞÛÞáÞÒÐï ßÞçâÐ" + +msgid "Dial Voicemail" +msgstr "œÐÑàÐâì ÝÞÜÕà ÓÞÛÞáÞÒÞÙ ßÞçâë" + +msgid "Cannot connect to Asterisk Manager with " +msgstr "" +"œÕÒÞ×ÜÞÖÝÞ ßÞÔÚÛîçØâìáï Ú ãßàÐÒÛÕÝØî °áâàØáÚ á " + +msgid "Basic" +msgstr "ŸáÝÞÒÝëÕ ÝÐáâàÞÙÚØ" + +msgid "This module allows you to configure Voicemail for a user or extension" +msgstr "ÍâÞâ ÜÞÔãÛì ßÞ×ÒÞÛïÕâ áÚÞÝäØÓãàØàÞÒÐâì ÓÞÛÞáÞÒãî ßÞçâã ÔÛï ßÞÛì×ÞÒÐâÕÛï ØÛØ ÒÝãâàÕÝÝÕÓÞ ÝÞÜÕàÐ" Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/es_ES/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/es_ES/LC_MESSAGES/voicemail.po (revision 7479) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/es_ES/LC_MESSAGES/voicemail.po (revision 7479) @@ -0,0 +1,241 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - voicemail module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: 2009-01-21 13:55+0100\n" +"Last-Translator: Juan Asensio Sánchez \n" +"Language-Team: Juan Asensio Sánchez \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "El buzón de voz está habilitado, pero la contraseña del buzón está vacía. ¿Está seguro de que desea continuar?" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "Habilitado" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "Deshabilitado" + +#: functions.inc.php:382 +msgid "yes" +msgstr "Sí" + +#: functions.inc.php:383 +msgid "no" +msgstr "No" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "Por favor, introduzca una contraseña válida para el buzón de voz, usando sólamente números" + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "Por favor, introduzca una dirección de email" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "Por favor, introduzca un número de teléfono móvil" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "El contexto del buzoón de voz no puede estar vacío" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "Buzón de voz y directorio" + +#: functions.inc.php:472 +msgid "Status" +msgstr "Estado" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "Contraseña del buzón de voz" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "Ésta es la contraseña que se usa para acceder al buzón de voz del sistema.%sEsta contraseña sólo puede contener números.%sEl usuario puede cambiar su contraseña tras iniciar sesión en el sistema del buzón de voz (%s) con un teléfono." + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "Dirección de email" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "La dirección de email a la que se enviarán los mensajes de voz." + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "Número de teléfono móvil" + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "Número de teléfono móvil/buscapersonas a la que se enviarán las notificaciones del buzón de voz." + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "Enviar mensajes del buzón de voz adjuntos en el email" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "Opción para adjuntar los mensajes de voz a los mensajes de email." + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "Decir CID" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "Dice el número de teléfono del llamante antes de reproducir el mensaje de voz, y justo después de la fecha y hora en la que se dejó el mensaje." + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "Decir fecha y hora" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "Indica si el sistema dirá la fecha y la hora antes del mensaje de voz. Esta opción no afecta a la misma opción del menú avanzado del buzón de voz." + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "Eliminar mensaje de voz" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "Si está a \"Sí\" el mensaje será eliminado del buzón después de ser enviado por email. Permite que los usuarios reciban los mensajes sólo por email, en lugar de poder obtener los mensajes a través de la interfaz web o del teléfono. ATENCIÓN: debe tener habilitada la opción \"Adjuntar mensajes de voz a los mensajes de email\" para que esta funcionalidad se realice correctamente; en caso contrario, los mensajes se perderán sin opción de recuperación." + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "Opciones del buzón de voz" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "Separe las opciones con el símbolo de tubería (\"|\")%sPor ejemplo: review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "Contexto del buzón de voz" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "Éste es el contexto en el que se ejecutará el buzón de voz, que normalmente es \"default\". No lo cambie a menor que comprenda las implicaciones." + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "Localizador VmX" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "Localizador VmX™" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "Habilita o deshabilita la funcionalidad del localizador VmX. Cuando esté habilitado todas las opciones pueden ser controladas por el usuario desde el portal del usuario (ARI, Asterisk Recording Interface). Deshabilitando esta opción, no eliminará ninguna configuración pero deshabilitara el acceso a esta característica." + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "Por favor, introduzca un número de teléfono válido usando sólo números" + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "Usar cuando:" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "Indica cuando estará disponible el buzón de voz.

Marque ambas para usarlo siempre." + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "No disponible" + +#: functions.inc.php:559 +msgid "busy" +msgstr "Ocupado" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "Instrucciones del buzón de voz:" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "Desmarque esta casilla para reproducir un \"bip\" después del mensaje personal del buzón de voz" + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "Mensajes del buzón de voz por defecto." + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "Al pulsar 0:" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "Al pulsar 0 durante em mensaje de su buzón de voz, irá al operador. Desactive esta casilla para introducir una extensión personalizada. Esta opción puede ser usada aunque el loalizador VmX esté deshabilitado para permitir una extensión de operador alternativa sin necesidad de utilizar el localizador VmX en el usuario." + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "Ir al operador" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "Al pulsar 1:" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "Las opciones restantes pueden ser extensiones internas, grupos de extensiones, colas, y números externo que puedan ser llamados. A menudo se usa para incluir el número de teléfono móvil. Debería hacer una prueba para asegurarse de que la opción funciona correctamente y que el número especificado como destino es alcanzable (es decir, está autorizado a llamar a ese número de teléfono) para no dejar al llamante esperando o recibiendo mensajes sobre un número de teléfono no válido." + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "Introduzca un número alternativo a continuación, y cambie su mensaje de bienvenida al buzón de voz para indicar al llamante qué numero debe presionar para localizarle mediante estas opciones.

Si desea usar la lista de números de búsqueda (Follow Me), marque la casilla \"Enviar a números de búsqueda (Follow Me)\" y deshabilite la función Números de búsqueda anterior." + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "Enviar a números de búsqueda (Follow Me)" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "Al pulsar 2:" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "Puede usar un número de cualquier extensión, grupo de extensiones, colas o números externos.

Recuerde volver a grabar el mensaje de bienvenida de su buzón de voz para indicar las instrucciones. Realice una prueba para comprobar el correcto funcionamiento de la configuración realizada y que los números especificados son alcanzables (es decir, que tiene permisos para llamar a esos números)." + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "No se pudo eliminar el buzón %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "Fallo con código %s al eliminar %s:" + +#: install.php:4 +msgid "Voicemail" +msgstr "Buzón de voz" + +#: install.php:5 +msgid "My Voicemail" +msgstr "Mi buzón de voz" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "Llamar al buzón de voz" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "No se pudo conectar con el gestor de Asterisk con" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/fr_FR/LC_MESSAGES/voicemail.po =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/fr_FR/LC_MESSAGES/voicemail.po (revision 7412) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/i18n/fr_FR/LC_MESSAGES/voicemail.po (revision 7412) @@ -0,0 +1,238 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-10 17:24+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: Jouniaux \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:257 +msgid "Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?" +msgstr "La boîte vocale est activé mais il n'y a pas de mot de passe. Voulez vous continuer?" + +#: functions.inc.php:374 +#: functions.inc.php:379 +msgid "Enabled" +msgstr "Activé" + +#: functions.inc.php:375 +#: functions.inc.php:378 +msgid "Disabled" +msgstr "Désactivé" + +#: functions.inc.php:382 +msgid "yes" +msgstr "oui" + +#: functions.inc.php:383 +msgid "no" +msgstr "non" + +#: functions.inc.php:466 +msgid "Please enter a valid Voicemail Password, using digits only" +msgstr "Un mot de passe de boîte vocale ne contient que des chiffres." + +#: functions.inc.php:467 +msgid "Please enter a valid Email Address" +msgstr "Adresse courriel invalide" + +#: functions.inc.php:468 +msgid "Please enter a valid Pager Email Address" +msgstr "Adresse courriel Pager invalide" + +#: functions.inc.php:469 +msgid "VM Context cannot be blank" +msgstr "Le contexte ne peut être vide" + +#: functions.inc.php:471 +msgid "Voicemail & Directory" +msgstr "Boîte vocale et annuaire" + +#: functions.inc.php:472 +msgid "Status" +msgstr "Statut" + +#: functions.inc.php:474 +msgid "Voicemail Password" +msgstr "Mot de passe boîte vocale" + +#: functions.inc.php:474 +#, php-format +msgid "This is the password used to access the voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the voicemail system (%s) with a phone." +msgstr "C'est le mot de passe pour accéder à la boîte vocale. %s Ce mot de passe ne peut contenir que des chiffres. %s Un utilisateur peut le changer aprÚs s'être loggué à sa boîte vocale (%s) avec un téléphone." + +#: functions.inc.php:475 +msgid "Email Address" +msgstr "Adresse courriel" + +#: functions.inc.php:475 +msgid "The email address that voicemails are sent to." +msgstr "L'adresse courriel où envoyer les messages voix." + +#: functions.inc.php:476 +msgid "Pager Email Address" +msgstr "Adresse courriel du Pager" + +#: functions.inc.php:476 +msgid "Pager/mobile email address that short voicemail notifications are sent to." +msgstr "Adresse courriel du Pager/Mobile où des notifications sont envoyées" + +#: functions.inc.php:477 +msgid "Email Attachment" +msgstr "PiÚce jointe" + +#: functions.inc.php:477 +msgid "Option to attach voicemails to email." +msgstr "Option pour attacher au mail le message déposé en piÚce jointe." + +#: functions.inc.php:478 +msgid "Play CID" +msgstr "Jouer le numéro" + +#: functions.inc.php:478 +msgid "Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left." +msgstr "Lit le numéro de téléphone de l'appelant avant de jouer le message d'accueil, et juste aprÚs avoir annoncé la date et l'heure où le message a été déposé." + +#: functions.inc.php:479 +msgid "Play Envelope" +msgstr "Jouer l'enveloppe" + +#: functions.inc.php:479 +msgid "Envelope controls whether or not the voicemail system will play the message envelope (date/time) before playing the voicemail message. This setting does not affect the operation of the envelope option in the advanced voicemail menu." +msgstr "L'enveloppe contrÃŽle si la boîte vocale annonce la date et l'heure avant le message. Ce réglage ne modifie pas l'option enveloppe du menu boîte vocale avancé." + +#: functions.inc.php:480 +msgid "Delete Voicemail" +msgstr "Suppression boîte vocale" + +#: functions.inc.php:480 +msgid "If set to \"yes\" the message will be deleted from the voicemailbox (after having been emailed). Provides functionality that allows a user to receive their voicemail via email alone, rather than having the voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER." +msgstr "Si vous cochez \"Oui\" le message sera détruit de la boîte vocale (aprÚs avoir été envoyé par courriel). L'utilisateur reçoit alors ses messages uniquement par courriel. ATTENTION: la case PiÚce jointe doit être à \"Oui\" sinon les messages seront définitivement perdus!" + +#: functions.inc.php:481 +msgid "VM Options" +msgstr "Options BV" + +#: functions.inc.php:481 +#, php-format +msgid "Separate options with pipe ( | )%sie: review=yes|maxmessage=60" +msgstr "Séparez les options avec des redirecteurs ( | )%sie: review=yes|maxmessage=60" + +#: functions.inc.php:482 +msgid "VM Context" +msgstr "Contexte BV" + +#: functions.inc.php:482 +msgid "This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications." +msgstr "C'est le contexte de la boîte vocale ui est normalement à Défaut. Ne le changer que si vous êtes sur de ce que vous faites." + +#: functions.inc.php:484 +msgid "VmX Locater" +msgstr "Locater VmX" + +#: functions.inc.php:485 +msgid "VmX Locater™" +msgstr "VmX Locater™" + +#: functions.inc.php:485 +msgid "Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature" +msgstr "Actice/désactive l'option VmW Locater pour cet utilisateur. Quand activé, tous les rÚglages sont contrÃŽlées par l'utilisateur dans le portail utilisateur (ARI). Désactivé ne modifie les réglages mais bloque l'accÚs à cette fontion." + +#: functions.inc.php:490 +msgid "Please enter a valid phone number using number digits only" +msgstr "Entrez un numéro de téléphone valide composé uniquement de chiffres." + +#: functions.inc.php:555 +msgid "Use When:" +msgstr "Utilisé quand" + +#: functions.inc.php:555 +msgid "Menu options below are available during your personal voicemail greeting playback.

Check both to use at all times." +msgstr "Les options ci-dessous sont utilisables pendant votre message d'accueil.

Cochez les deux cases pour l'utiliser dans tous les cas." + +#: functions.inc.php:557 +msgid "unavailable" +msgstr "Non disponible" + +#: functions.inc.php:559 +msgid "busy" +msgstr "Occupé" + +#: functions.inc.php:563 +msgid "Voicemail Instructions:" +msgstr "Instructions boîte vocale" + +#: functions.inc.php:563 +msgid "Uncheck to play a beep after your personal voicemail greeting." +msgstr "Décochez pour émettre un beep aprÚs votre message d'accueil" + +#: functions.inc.php:566 +msgid "Standard voicemail prompts." +msgstr "Messages standard" + +#: functions.inc.php:574 +msgid "Press 0:" +msgstr "Touche 0" + +#: functions.inc.php:574 +msgid "Pressing 0 during your personal voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user." +msgstr "Appuyez sur le 0 pendant votre message d'accueil transfert l'appel au standard. Décochez la case pour une autre destination." + +#: functions.inc.php:581 +msgid "Go To Operator" +msgstr "Aller au standard" + +#: functions.inc.php:585 +msgid "Press 1:" +msgstr "Touche 1" + +#: functions.inc.php:588 +msgid "The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages." +msgstr "Les options restantes peut être des numéros internes, des groupements d'appels, des files d'attente et des numéros externes.On met souvent son numéro de portable. Faites toujours un test pour vérifier que tout fonctione pour éviter que l'appelant n'aboutisse vers un numéro étranger ou invalide." + +#: functions.inc.php:590 +msgid "Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number.

If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above." +msgstr "Entrez un autre numéro puis changez votre message d'accueil pour prévenir votre interlocuteur de cete possibilité.

Si vous voulez utiliser votre liste Follow Me, cochez \"Envoyer à Follow Me\" et désactivez l'option Follow Me au dessus." + +#: functions.inc.php:602 +msgid "Send to Follow-Me" +msgstr "Envoyez au numéro Follow Me" + +#: functions.inc.php:610 +msgid "Press 2:" +msgstr "Touche 2" + +#: functions.inc.php:610 +msgid "Use any extensions, ringgroups, queues or external numbers.

Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional." +msgstr "Vous pouvez utiliser toutes les extensions, groupement d'appels, files d'attente ou numéros externes.

N'oubliez pas de réenregistrer votre message d'accueil pour y inclure ces possibilités. Faites ensuite un test pour tout vérifier." + +#: functions.inc.php:689 +#, php-format +msgid "Failed to delete vmbox: %s@%s" +msgstr "Impossible de supprimer la boîte : %s@%s" + +#: functions.inc.php:690 +#, php-format +msgid "failed with retcode %s while removing %s:" +msgstr "Echec avec code erreur %s pendant le retrait de %s:" + +#: install.php:4 +msgid "Voicemail" +msgstr "Boîte vocale" + +#: install.php:5 +msgid "My Voicemail" +msgstr "Ma boîte vocale" + +#: install.php:6 +msgid "Dial Voicemail" +msgstr "Appel boîte vocale" + +#: install.php:38 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Ne peut se connecter au serveur Asterisk avec" + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/module.xml =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/module.xml (revision 12575) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/module.xml (revision 12575) @@ -0,0 +1,29 @@ + + voicemail + standard + Voicemail + 2.10.0.0 + FreePBX + GPLv2+ + no + no + + *2.10.0.0* new version changes + *2.9.0.5* #5072 + *2.9.0.4* #5036, #5062 + *2.9.0.3* #5000 + *2.9.0.2* #4401 + *2.9.0.1* removed duplicate functions + *2.9.0.0* #4653, #4734, #4736, merge vmailadmin + + This module allows you to configure Voicemail for a user or extension + Settings + + Voicemail Admin + + + 2.5.0alpha1 + + release/2.10/voicemail-2.10.0.0.tgz + a6961dac925274c32def4998668bc259 + Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/functions.inc.php =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/functions.inc.php (revision 12254) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/functions.inc.php (revision 12254) @@ -0,0 +1,1550 @@ +. +// Copyright (c) 2006, 2008, 2009 qldrob, rcourtna + +class vmxObject { + + var $exten; + + // contstructor + function vmxObject($myexten) { + $this->exten = $myexten; + } + + function isInitialized($mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + $vmx_state=trim($astman->database_get("AMPUSER",$this->exten."/vmx/$mode/state")); + if (isset($vmx_state) && ($vmx_state == 'enabled' || $vmx_state == 'disabled') || $vmx_state == 'blocked') { + return true; + } else { + return false; + } + } + return false; + } + function isEnabled($mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + $vmx_state=trim($astman->database_get("AMPUSER",$this->exten."/vmx/$mode/state")); + if (isset($vmx_state) && ($vmx_state == 'enabled' || $vmx_state == 'disabled')) { + return true; + } else { + return false; + } + } + return false; + } + + function disable() { + $ret = $this->setState('blocked','unavail'); + return $this->setState('blocked','busy') && $ret; + } + + function getState($mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + return trim($astman->database_get("AMPUSER",$this->exten."/vmx/$mode/state")); + } else { + return false; + } + } + + function setState($state="enabled", $mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/state", "$state"); + return true; + } else { + return false; + } + } + + function getVmPlay($mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + return (trim($astman->database_get("AMPUSER",$this->exten."/vmx/$mode/vmxopts/timeout")) != 's'); + } else { + return false; + } + } + + function setVmPlay($opts=true, $mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + $val = $opts ? '' : 's'; + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/vmxopts/timeout", $val); + return true; + } else { + return false; + } + } + + function hasFollowMe() { + global $astman; + if ($astman) { + return ($astman->database_get("AMPUSER",$this->exten."/followme/ddial")) == "" ? false : true; + } else { + return false; + } + } + + function isFollowMe($digit="1", $mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + return $astman->database_get("AMPUSER",$this->exten."/vmx/$mode/$digit/ext") == 'FM'.$this->exten ? true : false; + } else { + return false; + } + } + + function setFollowMe($digit="1", $mode="unavail", $context='ext-findmefollow', $priority='1') { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/ext", "FM".$this->exten); + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/context", $context); + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/pri", $priority); + return true; + } else { + return false; + } + } + + function getMenuOpt($digit="0", $mode="unavail") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + return trim($astman->database_get("AMPUSER",$this->exten."/vmx/$mode/$digit/ext")); + } else { + return false; + } + } + + function setMenuOpt($opt="", $digit="0", $mode="unavail", $context="from-internal", $priority="1") { + global $astman; + if ($astman && ($mode == "unavail" || $mode == "busy")) { + if ($opt != "" && ctype_digit($opt)) { + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/ext", $opt); + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/context", $context); + $astman->database_put("AMPUSER", $this->exten."/vmx/$mode/$digit/pri", $priority); + } else { + $astman->database_deltree("AMPUSER/".$this->exten."/vmx/$mode/$digit"); + } + return true; + } else { + return false; + } + } +} + +function voicemail_get_config($engine) { + $modulename = 'voicemail'; + + // This generates the dialplan + global $ext; + switch($engine) { + case "asterisk": + if (is_array($featurelist = featurecodes_getModuleFeatures($modulename))) { + foreach($featurelist as $item) { + $featurename = $item['featurename']; + $fname = $modulename.'_'.$featurename; + if (function_exists($fname)) { + $fcc = new featurecode($modulename, $featurename); + $fc = $fcc->getCodeActive(); + unset($fcc); + + if ($fc != '') + $fname($fc); + } else { + $ext->add('from-internal-additional', 'debug', '', new ext_noop($modulename.": No func $fname")); + var_dump($item); + } + } + } + break; + } +} + +function voicemail_myvoicemail($c) { + global $ext; + global $core_conf; + + $id = "app-vmmain"; // The context to be included + + $ext->addInclude('from-internal-additional', $id); // Add the include from from-internal + + $ext->add($id, $c, '', new ext_answer('')); // $cmd,1,Answer + $ext->add($id, $c, '', new ext_wait('1')); // $cmd,n,Wait(1) + $ext->add($id, $c, '', new ext_macro('user-callerid')); // $cmd,n,Macro(user-callerid) + $ext->add($id, $c, '', new ext_macro('get-vmcontext','${AMPUSER}')); + $ext->add($id, $c, 'check', new ext_vmexists('${AMPUSER}@${VMCONTEXT}')); // n,VoiceMailMain(${VMCONTEXT}) + $ext->add($id, $c, '', new ext_gotoif('$["${VMBOXEXISTSSTATUS}" = "SUCCESS"]', 'mbexist')); + $ext->add($id, $c, '', new ext_vmmain('')); // n,VoiceMailMain(${VMCONTEXT}) + $ext->add($id, $c, '', new ext_gotoif('$["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]','playret')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); // $cmd,n,Macro(user-callerid) + $ext->add($id, $c, 'mbexist', new ext_vmmain('${AMPUSER}@${VMCONTEXT}'),'check',101); // n,VoiceMailMain(${VMCONTEXT}) + $ext->add($id, $c, '', new ext_gotoif('$["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]','playret')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); // $cmd,n,Macro(user-callerid) + $ext->add($id, $c, 'playret', new ext_playback('beep&you-will-be-transfered-menu&silence/1')); + $ext->add($id, $c, '', new ext_goto('1','return','${IVR_CONTEXT}')); + + // Now add to sip_general_addtional.conf + // + if (isset($core_conf) && is_a($core_conf, "core_conf")) { + $core_conf->addSipGeneral('vmexten',$c); + } +} + +function voicemail_dialvoicemail($c) { + global $ext; + + $id = "app-dialvm"; // The context to be included + + $ext->addInclude('from-internal-additional', $id); // Add the include from from-internal + + $ext->add($id, $c, '', new ext_answer('')); + $ext->add($id, $c, 'start', new ext_wait('1')); + $ext->add($id, $c, '', new ext_noop($id.': Asking for mailbox')); + $ext->add($id, $c, '', new ext_read('MAILBOX', 'vm-login', '', '', 3, 2)); + $ext->add($id, $c, 'check', new ext_noop($id.': Got Mailbox ${MAILBOX}')); + $ext->add($id, $c, '', new ext_macro('get-vmcontext','${MAILBOX}')); + $ext->add($id, $c, '', new ext_vmexists('${MAILBOX}@${VMCONTEXT}')); + $ext->add($id, $c, '', new ext_gotoif('$["${VMBOXEXISTSSTATUS}" = "SUCCESS"]', 'good', 'bad')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); + $ext->add($id, $c, 'good', new ext_noop($id.': Good mailbox ${MAILBOX}@${VMCONTEXT}')); + $ext->add($id, $c, '', new ext_vmmain('${MAILBOX}@${VMCONTEXT}')); + $ext->add($id, $c, '', new ext_gotoif('$["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]','playret')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); + $ext->add($id, $c, 'bad', new ext_noop($id.': BAD mailbox ${MAILBOX}@${VMCONTEXT}')); + $ext->add($id, $c, '', new ext_wait('1')); + $ext->add($id, $c, '', new ext_noop($id.': Asking for password so people can\'t probe for existence of a mailbox')); + $ext->add($id, $c, '', new ext_read('FAKEPW', 'vm-password', '', '', 3, 2)); + $ext->add($id, $c, '', new ext_noop($id.': Asking for mailbox again')); + $ext->add($id, $c, '', new ext_read('MAILBOX', 'vm-incorrect-mailbox', '', '', 3, 2)); + $ext->add($id, $c, '', new ext_goto('check')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); + $ext->add($id, $c, 'playret', new ext_playback('beep&you-will-be-transfered-menu&silence/1')); + $ext->add($id, $c, '', new ext_goto('1','return','${IVR_CONTEXT}')); + + // Note that with this one, it has paramters. So we have to add '_' to the start and '.' to the end + // of $c + $c = "_$c."; + $ext->add($id, $c, '', new ext_answer('')); // $cmd,1,Answer + $ext->add($id, $c, '', new ext_wait('1')); // $cmd,n,Wait(1) + // How long is the command? We need to strip that off the front + $clen = strlen($c)-2; + $ext->add($id, $c, '', new ext_macro('get-vmcontext','${EXTEN:'.$clen.'}')); + $ext->add($id, $c, '', new ext_vmmain('${EXTEN:'.$clen.'}@${VMCONTEXT}')); // n,VoiceMailMain(${VMCONTEXT}) + $ext->add($id, $c, '', new ext_gotoif('$["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]','${IVR_CONTEXT},return,1')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); // $cmd,n,Macro(user-callerid) +} + +function voicemail_configpageinit($pagename) { + global $currentcomponent; + global $amp_conf; + + $action = isset($_REQUEST['action'])?$_REQUEST['action']:null; + $extdisplay = isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:null; + $extension = isset($_REQUEST['extension'])?$_REQUEST['extension']:null; + $tech_hardware = isset($_REQUEST['tech_hardware'])?$_REQUEST['tech_hardware']:null; + + // We only want to hook 'users' or 'extensions' pages. + if ($pagename != 'users' && $pagename != 'extensions') { + return true; + } + + if ($tech_hardware != null || $extdisplay != '' || $pagename == 'users') { + // JS function needed for checking voicemail = Enabled + $js = 'return (theForm.vm.value == "enabled");'; + $currentcomponent->addjsfunc('isVoiceMailEnabled(notused)',$js); + // JS for verifying an empty password is OK + $msg = _('Voicemail is enabled but the Voicemail Password field is empty. Are you sure you wish to continue?'); + $js = 'if (theForm.vmpwd.value == "") { if(confirm("'.$msg.'")) { return true; } else { return false; } };'; + $currentcomponent->addjsfunc('verifyEmptyVoiceMailPassword(notused)', $js); + $js = " + if (document.getElementById('vm').value == 'disabled') { + var dval=true; + document.getElementById('vmx_state').value=''; + $('.radioset').buttonset('refresh'); + } else { + var dval=false; + } + document.getElementById('vmpwd').disabled=dval; + document.getElementById('email').disabled=dval; + document.getElementById('pager').disabled=dval; + document.getElementById('attach0').disabled=dval; + document.getElementById('attach1').disabled=dval; + document.getElementById('saycid0').disabled=dval; + document.getElementById('saycid1').disabled=dval; + document.getElementById('envelope0').disabled=dval; + document.getElementById('envelope1').disabled=dval; + document.getElementById('delete0').disabled=dval; + document.getElementById('delete1').disabled=dval; + "; + if ($amp_conf['VM_SHOW_IMAP'] || $vmops_imapuser || $vmops_imappassword) { + $js .=" + document.getElementById('imapuser').disabled=dval; + document.getElementById('imappassword').disabled=dval; + "; + } + $js .= " + document.getElementById('options').disabled=dval; + document.getElementById('vmcontext').disabled=dval; + document.getElementById('vmx_state').disabled=dval; + $('.radioset').buttonset('refresh'); + return true; + "; + $currentcomponent->addjsfunc('voicemailEnabled(notused)', $js); + + $js = " + if (document.getElementById('vmx_state').value == 'checked') { + var dval=false; + } else { + var dval=true; + } + document.getElementById('vmx_unavail_enabled').disabled=dval; + document.getElementById('vmx_busy_enabled').disabled=dval; + document.getElementById('vmx_play_instructions').disabled=dval; + "; + $vmxobj = new vmxObject($extdisplay); + $follow_me_disabled = !$vmxobj->hasFollowMe(); + + if (!$follow_me_disabled) { + $js .= " + document.getElementById('vmx_option_1_system_default').disabled=dval; + "; + } + $js .= " + document.getElementById('vmx_option_1_number').disabled=dval; + document.getElementById('vmx_option_2_number').disabled=dval; + + if (document.getElementById('vm').value == 'disabled') { + document.getElementById('vmx_option_0_number').disabled = true; + document.getElementById('vmx_option_0_system_default').disabled=true; + } else { + document.getElementById('vmx_option_0_system_default').disabled=false; + if (document.getElementById('vmx_option_0_system_default').checked) { + document.getElementById('vmx_option_0_number').disabled = true; + } else { + document.getElementById('vmx_option_0_number').disabled = false; + } + } + "; + + if (!$follow_me_disabled) { + $js .= " + if (document.getElementById('vmx_state').value == 'checked') { + if (document.getElementById('vmx_option_1_system_default').checked) { + document.getElementById('vmx_option_1_number').disabled = true; + } else { + document.getElementById('vmx_option_1_number').disabled = false; + } + } + "; + } + + $js .= + " + return true; + "; + $currentcomponent->addjsfunc('vmx_disable_fields(notused)', $js); + } + + // On a 'new' user, 'tech_hardware' is set, and there's no extension. Hook into the page. + if ($tech_hardware != null ) { + voicemail_applyhooks(); + } elseif ($action=="add") { + // We don't need to display anything on an 'add', but we do need to handle returned data. + // ** WARNING ** + // Mailbox must be processed before adding / deleting users, therefore $sortorder = 1 + // + // More hacky-ness from components, since this is called first, we need to determine if + // it there is a conclict indpenendent from the user component so we know if we should + // redisplay the or not. While we are at it, we won't add the process function if there + // is a conflict + // + if ($_REQUEST['display'] == 'users') { + $usage_arr = framework_check_extension_usage($_REQUEST['extension']); + if (empty($usage_arr)) { + $currentcomponent->addprocessfunc('voicemail_configprocess', 1); + } else { + voicemail_applyhooks(); + } + } else { + $currentcomponent->addprocessfunc('voicemail_configprocess', 1); + } + } elseif ($extdisplay != '' || $pagename == 'users') { + // We're now viewing an extension, so we need to display _and_ process. + voicemail_applyhooks(); + $currentcomponent->addprocessfunc('voicemail_configprocess', 1); + } +} + +function voicemail_applyhooks() { + global $currentcomponent; + + // Setup two option lists we need + // Enable / Disable list + $currentcomponent->addoptlistitem('vmena', 'enabled', _('Enabled')); + $currentcomponent->addoptlistitem('vmena', 'disabled', _('Disabled')); + $currentcomponent->setoptlistopts('vmena', 'sort', false); + // Enable / Disable vmx list + $currentcomponent->addoptlistitem('vmxena', '', _('Disabled')); + $currentcomponent->addoptlistitem('vmxena', 'checked', _('Enabled')); + $currentcomponent->setoptlistopts('vmxena', 'sort', false); + // Yes / No Radio button list + $currentcomponent->addoptlistitem('vmyn', 'yes', _('yes')); + $currentcomponent->addoptlistitem('vmyn', 'no', _('no')); + $currentcomponent->setoptlistopts('vmyn', 'sort', false); + + // Add the 'proces' function + $currentcomponent->addguifunc('voicemail_configpageload'); +} + +function voicemail_configpageload() { + global $currentcomponent; + global $amp_conf; + + // Init vars from $_REQUEST[] + $action = isset($_REQUEST['action'])?$_REQUEST['action']:null; + $ext = isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:null; + $extn = isset($_REQUEST['extension'])?$_REQUEST['extension']:null; + $display = isset($_REQUEST['display'])?$_REQUEST['display']:null; + + if ($ext==='') { + $extdisplay = $extn; + } else { + $extdisplay = $ext; + } + + if ($action != 'del') { + $vmbox = voicemail_mailbox_get($extdisplay); + if ( $vmbox == null ) { + $vm = false; + $incontext = 'default'; + $vmpwd = null; + $name = null; + $email = null; + $pager = null; + $vmoptions = null; + + $vmx_state = ''; + } else { + $incontext = isset($vmbox['vmcontext'])?$vmbox['vmcontext']:'default'; + $vmpwd = $vmbox['pwd']; + $name = $vmbox['name']; + $email = $vmbox['email']; + $pager = $vmbox['pager']; + $vmoptions = $vmbox['options']; + $vm = true; + + $vmxobj = new vmxObject($extdisplay); + $vmx_state = ($vmxobj->isEnabled()) ? 'checked' : ''; + unset($vmxobj); + } + + //loop through all options + $options=""; + if ( isset($vmoptions) && is_array($vmoptions) ) { + $alloptions = array_keys($vmoptions); + if (isset($alloptions)) { + foreach ($alloptions as $option) { + if ( ($option!="attach") && ($option!="envelope") && ($option!="saycid") && ($option!="delete") && ($option!="imapuser") && ($option!="imappassword") && ($option!='') ) + $options .= $option.'='.$vmoptions[$option].'|'; + } + $options = rtrim($options,'|'); + // remove the = sign if there are no options set + $options = rtrim($options,'='); + + } + extract($vmoptions, EXTR_PREFIX_ALL, "vmops"); + } else { + $vmops_attach = 'no'; + $vmops_saycid = 'no'; + $vmops_envelope = 'no'; + $vmops_delete = 'no'; + $vmops_imapuser = null; + $vmops_imappassword = null; + } + + if (empty($vmcontext)) + $vmcontext = (isset($_REQUEST['vmcontext']) ? $_REQUEST['vmcontext'] : $incontext); + if (empty($vmcontext)) + $vmcontext = 'default'; + + if ( $vm==true ) { + $vmselect = "enabled"; + } else { + $vmselect = "disabled"; + } + + $fc_vm = featurecodes_getFeatureCode('voicemail', 'dialvoicemail'); + + $msgInvalidVmPwd = _("Please enter a valid Voicemail Password, using digits only"); + $msgInvalidEmail = _("Please enter a valid Email Address"); + $msgInvalidPager = _("Please enter a valid Pager Email Address"); + $msgInvalidVMContext = _("VM Context cannot be blank"); + $vmops_imapuser = isset($vmops_imapuser) ? $vmops_imapuser : ''; + $vmops_imappassword = isset($vmops_imappassword) ? $vmops_imappassword : ''; + + $section = _("Voicemail"); + $currentcomponent->addguielem($section, new gui_selectbox('vm', $currentcomponent->getoptlist('vmena'), $vmselect, _('Status'), '', false,"frm_${display}_voicemailEnabled() && frm_${display}_vmx_disable_fields()")); + $disable = ($vmselect == 'disabled'); + $currentcomponent->addguielem($section, new gui_textbox('vmpwd', $vmpwd, _('Voicemail Password'), sprintf(_("This is the password used to access the Voicemail system.%sThis password can only contain numbers.%sA user can change the password you enter here after logging into the Voicemail system (%s) with a phone."),"

","

",$fc_vm), "frm_${display}_isVoiceMailEnabled() && !frm_${display}_verifyEmptyVoiceMailPassword() && !isInteger()", $msgInvalidVmPwd, false,0,$disable)); + $currentcomponent->addguielem($section, new gui_textbox('email', $email, _('Email Address'), _("The email address that Voicemails are sent to."), "frm_${display}_isVoiceMailEnabled() && !isEmail()", $msgInvalidEmail, true, 0, $disable)); + $currentcomponent->addguielem($section, new gui_textbox('pager', $pager, _('Pager Email Address'), _("Pager/mobile email address that short Voicemail notifications are sent to."), "frm_${display}_isVoiceMailEnabled() && !isEmail()", $msgInvalidEmail, true, 0, $disable)); + $currentcomponent->addguielem($section, new gui_radio('attach', $currentcomponent->getoptlist('vmyn'), $vmops_attach, _('Email Attachment'), _("Option to attach Voicemails to email."),$disable)); + $currentcomponent->addguielem($section, new gui_radio('saycid', $currentcomponent->getoptlist('vmyn'), $vmops_saycid, _('Play CID'), _("Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left."), $disable)); + $currentcomponent->addguielem($section, new gui_radio('envelope', $currentcomponent->getoptlist('vmyn'), $vmops_envelope, _('Play Envelope'), _("Envelope controls whether or not the Voicemail system will play the message envelope (date/time) before playing the Voicemail message. This setting does not affect the operation of the envelope option in the advanced Voicemail menu."), $disable)); + $currentcomponent->addguielem($section, new gui_radio('delete', $currentcomponent->getoptlist('vmyn'), $vmops_delete, _('Delete Voicemail'), _("If set to \"yes\" the message will be deleted from the Voicemailbox (after having been emailed). Provides functionality that allows a user to receive their Voicemail via email alone, rather than having the Voicemail able to be retrieved from the Webinterface or the Extension handset. CAUTION: MUST HAVE attach Voicemail to email SET TO YES OTHERWISE YOUR MESSAGES WILL BE LOST FOREVER."), $disable)); + if ($amp_conf['VM_SHOW_IMAP'] || $vmops_imapuser || $vmops_imappassword) { + $currentcomponent->addguielem($section, new gui_textbox('imapuser', $vmops_imapuser, _('IMAP Username'), sprintf(_("This is the IMAP username, if using IMAP storage"),"

"),'','',true,0,$disable)); + $currentcomponent->addguielem($section, new gui_textbox('imappassword', $vmops_imappassword, _('IMAP Password'), sprintf(_("This is the IMAP password, if using IMAP storage"),"

"),'','',true,0,$disable)); + } + $currentcomponent->addguielem($section, new gui_textbox('options', $options, _('VM Options'), sprintf(_("Separate options with pipe ( | )%sie: review=yes|maxmessage=60"),"

"),'','',true,0,$disable)); + $currentcomponent->addguielem($section, new gui_textbox('vmcontext', $vmcontext, _('VM Context'), _("This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications."), "frm_${display}_isVoiceMailEnabled() && isEmpty()", $msgInvalidVMContext, false,0,$disable)); + + $section = _("VmX Locater"); + $currentcomponent->addguielem($section, new gui_selectbox('vmx_state', $currentcomponent->getoptlist('vmxena'), $vmx_state, _('VmX Locater™'), _("Enable/Disable the VmX Locater feature for this user. When enabled all settings are controlled by the user in the User Portal (ARI). Disabling will not delete any existing user settings but will disable access to the feature"), false, "frm_{$display}_vmx_disable_fields()",$disable),5,6); + + $vmxhtml = voicemail_draw_vmxgui($extdisplay, $disable); + $vmxhtml = ''.$vmxhtml.'
'; + + $msgValidNumber = _("Please enter a valid phone number using number digits only"); + $vmxcustom_validate = " + defaultEmptyOK = true; + if (!theForm.vmx_option_0_system_default.checked && !isInteger(theForm.vmx_option_0_number.value)) + return warnInvalid(theForm.vmx_option_0_number, '$msgValidNumber'); + if (theForm.vmx_option_1_system_default != undefined && !theForm.vmx_option_1_system_default.checked && !isInteger(theForm.vmx_option_1_number.value)) + return warnInvalid(theForm.vmx_option_1_number, '$msgValidNumber'); + if (!isInteger(theForm.vmx_option_2_number.value)) + return warnInvalid(theForm.vmx_option_2_number, '$msgValidNumber'); + "; + + $currentcomponent->addguielem($section, new guielement('vmxcustom', $vmxhtml, "$vmxcustom_validate"),6,6); + } +} + +function voicemail_draw_vmxgui($extdisplay, $disable) { + global $display; + + $vmxobj = new vmxObject($extdisplay); + + $dval = $vmxobj->isEnabled() ? '' : 'disabled="true"'; + + $vmx_unavail_enabled_value = $vmxobj->getState("unavail") == "enabled" ? "checked" : ""; + $vmx_unavail_enabled_text_box_options = $dval; + + $vmx_busy_enabled_value = $vmxobj->getState("busy") == "enabled" ? "checked" : ""; + $vmx_busy_enabled_text_box_options = $dval; + + $vmx_play_instructions= $vmxobj->getVmPlay() ? "checked" : ""; + $vmx_play_instructions_text_box_options = $dval; + + $follow_me_disabled = !$vmxobj->hasFollowMe(); + if (!$follow_me_disabled) { + $vmx_option_1_system_default_text_box_options = $dval; + if ($vmxobj->isFollowMe()) { + $vmx_option_1_number_text_box_options = 'disabled="true"'; + $vmx_option_1_number = ''; + $vmx_option_1_system_default = 'checked'; + } else { + $vmx_option_1_number_text_box_options = $dval; + $vmx_option_1_number = $vmxobj->getMenuOpt(1); + $vmx_option_1_system_default = ''; + } + } else { + $vmx_option_1_number_text_box_options = $dval; + $vmx_option_1_number = $vmxobj->getMenuOpt(1); + } + + $vmx_option_0_system_default_text_box_options = ($disable) ? 'disabled="true"' : ''; + $vmx_option_0_number = $vmxobj->getMenuOpt(0); + if ($vmx_option_0_number == "") { + $vmx_option_0_number_text_box_options = 'disabled="true"'; + $vmx_option_0_system_default = 'checked'; + } else { + $vmx_option_0_number_text_box_options = ($disable) ? 'disabled="true"' : ''; + $vmx_option_0_system_default = ''; + } + $vmx_option_2_number_text_box_options = $dval; + $vmx_option_2_number = $vmxobj->getMenuOpt(2); + + $tabindex = guielement::gettabindex(); + $tabindex_text = "tabindex='$tabindex'"; + $set_vmx_text = + " + + " . _("Use When:") . "" . _("Menu options below are available during your personal Voicemail greeting playback.

Check both to use at all times.") . "
+ + " . _("unavailable") . "   + + " . _("busy") . " + + + + " . _("Voicemail Instructions:") ."" . _("Uncheck to play a beep after your personal Voicemail greeting.") . "
+ + + " . _("Standard Voicemail prompts.") . " + + + +
+
+ + + + + + + + + + + + + + + + "; + return $set_vmx_text; +} + +function voicemail_configprocess() { + //create vars from the request + extract($_REQUEST); + $action = isset($_REQUEST['action'])?$_REQUEST['action']:null; + $extdisplay = isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:null; + + //if submitting form, update database + switch ($action) { + case "add": + if (!isset($GLOBALS['abort']) || $GLOBALS['abort'] !== true) { + $usage_arr = framework_check_extension_usage($_REQUEST['extension']); + if (!empty($usage_arr)) { + $GLOBALS['abort'] = true; + } else { + voicemail_mailbox_add($extdisplay, $_REQUEST); + needreload(); + } + } + break; + case "del": + // call remove before del, it needs to know context info + // + voicemail_mailbox_remove($extdisplay); + voicemail_mailbox_del($extdisplay); + needreload(); + break; + case "edit": + if (!isset($GLOBALS['abort']) || $GLOBALS['abort'] !== true) { + voicemail_mailbox_del($extdisplay); + if ( $vm != 'disabled' ) + voicemail_mailbox_add($extdisplay, $_REQUEST); + needreload(); + } + break; + } +} + +function voicemail_mailbox_get($mbox) { + $uservm = voicemail_getVoicemail(); + $vmcontexts = array_keys($uservm); + + foreach ($vmcontexts as $vmcontext) { + if(isset($uservm[$vmcontext][$mbox])){ + $vmbox['vmcontext'] = $vmcontext; + $vmbox['pwd'] = $uservm[$vmcontext][$mbox]['pwd']; + $vmbox['name'] = $uservm[$vmcontext][$mbox]['name']; + $vmbox['email'] = $uservm[$vmcontext][$mbox]['email']; + $vmbox['pager'] = $uservm[$vmcontext][$mbox]['pager']; + $vmbox['options'] = $uservm[$vmcontext][$mbox]['options']; + return $vmbox; + } + } + + return null; +} + +function voicemail_mailbox_remove($mbox) { + global $amp_conf; + $uservm = voicemail_getVoicemail(); + $vmcontexts = array_keys($uservm); + + $return = true; + + foreach ($vmcontexts as $vmcontext) { + if(isset($uservm[$vmcontext][$mbox])){ + + $vm_dir = $amp_conf['ASTSPOOLDIR']."/voicemail/$vmcontext/$mbox"; + exec("rm -rf $vm_dir",$output,$ret); + if ($ret) { + $return = false; + $text = sprintf(_("Failed to delete vmbox: %s@%s"),$mbox, $vmcontext); + $etext = sprintf(_("failed with retcode %s while removing %s:"),$ret, $vm_dir)."
"; + $etext .= implode("
",$output); + $nt =& notifications::create($db); + $nt->add_error('voicemail', 'MBOXREMOVE', $text, $etext, '', true, true); + // + // TODO: this does not work but we should give some sort of feedback that id did not work + // + // echo ""; + } + } + } + return $return; +} + +function voicemail_mailbox_del($mbox) { + $uservm = voicemail_getVoicemail(); + $vmcontexts = array_keys($uservm); + + foreach ($vmcontexts as $vmcontext) { + if(isset($uservm[$vmcontext][$mbox])){ + unset($uservm[$vmcontext][$mbox]); + voicemail_saveVoicemail($uservm); + return true; + } + } + + return false; +} + +function voicemail_mailbox_add($mbox, $mboxoptsarray) { + global $astman; + + //check if VM box already exists + if ( voicemail_mailbox_get($mbox) != null ) { + trigger_error("Voicemail mailbox '$mbox' already exists, call to voicemail_mailbox_add failed"); + die_freepbx(); + } + + $uservm = voicemail_getVoicemail(); + extract($mboxoptsarray); + + if ($vm != 'disabled') + { + // need to check if there are any options entered in the text field + if ($options!=''){ + $options = explode("|",$options); + foreach($options as $option) { + $vmoption = explode("=",$option); + $vmoptions[$vmoption[0]] = $vmoption[1]; + } + } + if ($imapuser!='' && $imapuser!='') { + $vmoptions['imapuser'] = $imapuser; + $vmoptions['imappassword'] = $imappassword; + } + $vmoption = explode("=",$attach); + $vmoptions[$vmoption[0]] = $vmoption[1]; + $vmoption = explode("=",$saycid); + $vmoptions[$vmoption[0]] = $vmoption[1]; + $vmoption = explode("=",$envelope); + $vmoptions[$vmoption[0]] = $vmoption[1]; + $vmoption = explode("=",$delete); + $vmoptions[$vmoption[0]] = $vmoption[1]; + + $uservm[$vmcontext][$extension] = array( + 'mailbox' => $extension, + 'pwd' => $vmpwd, + 'name' => $name, + 'email' => $email, + 'pager' => $pager, + 'options' => $vmoptions + ); + // Update $_REQUEST with 'devinfo_mailbox, so MWI works. + if (empty($_REQUEST['devinfo_mailbox'])) { + $_REQUEST['devinfo_mailbox']="$extension@$vmcontext"; + } + } + voicemail_saveVoicemail($uservm); + + $vmxobj = new vmxObject($extension); + + // Operator extension can be set even without VmX enabled so that it can be + // used as an alternate way to provide an operator extension for a user + // without VmX enabled. + // + if (isset($vmx_option_0_system_default) && $vmx_option_0_system_default != '') { + $vmxobj->setMenuOpt("",0,'unavail'); + $vmxobj->setMenuOpt("",0,'busy'); + } else { + if (!isset($vmx_option_0_number)) { + $vmx_option_0_number = ''; + } + $vmx_option_0_number = preg_replace("/[^0-9]/" ,"", $vmx_option_0_number); + $vmxobj->setMenuOpt($vmx_option_0_number,0,'unavail'); + $vmxobj->setMenuOpt($vmx_option_0_number,0,'busy'); + } + + if (isset($vmx_state) && $vmx_state) { + + if (isset($vmx_unavail_enabled) && $vmx_unavail_enabled != '') { + $vmxobj->setState('enabled','unavail'); + } else { + $vmxobj->setState('disabled','unavail'); + } + + if (isset($vmx_busy_enabled) && $vmx_busy_enabled != '') { + $vmxobj->setState('enabled','busy'); + } else { + $vmxobj->setState('disabled','busy'); + } + + if (isset($vmx_play_instructions) && $vmx_play_instructions== 'checked') { + $vmxobj->setVmPlay(true,'unavail'); + $vmxobj->setVmPlay(true,'busy'); + } else { + $vmxobj->setVmPlay(false,'unavail'); + $vmxobj->setVmPlay(false,'busy'); + } + + if (isset($vmx_option_1_system_default) && $vmx_option_1_system_default != '') { + $vmxobj->setFollowMe(1,'unavail'); + $vmxobj->setFollowMe(1,'busy'); + } else { + $vmx_option_1_number = preg_replace("/[^0-9]/" ,"", $vmx_option_1_number); + $vmxobj->setMenuOpt($vmx_option_1_number,1,'unavail'); + $vmxobj->setMenuOpt($vmx_option_1_number,1,'busy'); + } + if (isset($vmx_option_2_number)) { + $vmx_option_2_number = preg_replace("/[^0-9]/" ,"", $vmx_option_2_number); + $vmxobj->setMenuOpt($vmx_option_2_number,2,'unavail'); + $vmxobj->setMenuOpt($vmx_option_2_number,2,'busy'); + } + } else { + if ($vmxobj->isInitialized()) { + $vmxobj->disable(); + } + } +} + +function voicemail_saveVoicemail($vmconf) { + global $amp_conf; + + // just in case someone tries to be sneaky and not call getVoicemail() first.. + if ($vmconf == null) die_freepbx('Error: Trying to write null Voicemail file! I refuse to contiune!'); + + // yes, this is hardcoded.. is this a bad thing? + write_voicemailconf(rtrim($amp_conf["ASTETCDIR"],"/")."/voicemail.conf", $vmconf, $section); +} + +function voicemail_getVoicemail() { + global $amp_conf; + + $vmconf = null; + $section = null; + + // yes, this is hardcoded.. is this a bad thing? + parse_voicemailconf(rtrim($amp_conf["ASTETCDIR"],"/")."/voicemail.conf", $vmconf, $section); + + return $vmconf; +} + +//---------------------------------------------------------------------------------------------------------- +// Merged from vmadmin module +// + +function voicemail_get_title($action, $context="", $account="") { + $title = "

" . _("Voicemail Administration") . "
  "; + switch ($action) { + case "tz": + $title .= _("Timezone Definitions"); + break; + case "bsettings": + if (!empty($account)) { + $title .= _("Basic Settings For: ") . "   $account   ($context)"; + } else { + $title .= _("Basic settings view is for individual accounts."); + } + break; + case "settings": + if (!empty($account)) { + $title .= _("Advanced Settings For: ") . "   $account   ($context)"; + } else { + $title .= _("System Settings"); + } + break; + case "usage": + if (!empty($account)) { + $title .= _("Usage Statistics For: ") . "   $account   ($context)"; + } else { + $title .= _("System Usage Statistics"); + } + break; + default: + $title .= "  " . _("Invalid Action"); + break; + } + $title .= "

"; + return $title; +} +function voicemail_get_scope($extension) { + if (!empty($extension)) { + return "account"; + } else { + return "system"; + } +} +function voicemail_update_settings($action, $context="", $extension="", $args=null) { + global $astman; + global $tz_settings; + global $gen_settings; + /* Ensure we get the most up-to-date voicemail.conf data. */ + $vmconf = voicemail_getVoicemail(); + if ($vmconf !== null) { + switch ($action) { + case "tz": + /* First update all zonemessages opts that are already in vmconf */ + foreach ($vmconf["zonemessages"] as $key => $val) { + $id = "tz__$key"; + $vmconf["zonemessages"][$key] = isset($args[$id])?$args[$id]:$vmconf["zonemessages"][$key]; + /* Bad to have empty fields in vmconf. */ + /* And remove deleted fields, too. */ + if (empty($vmconf["zonemessages"][$key]) || ($args["tzdel__$key"] == "true")) { + unset($vmconf["zonemessages"][$key]); + } + /* Add new field, if one was specified */ + if (!empty($args["tznew_name"]) && !empty($args["tznew_def"])) { + $vmconf["zonemessages"][$args["tznew_name"]] = $args["tznew_def"]; + } + unset($args[$id]); + } + /* Next record any new zonemessages opts that were on the page but not already in vmconf. */ + foreach ($tz_settings as $key) { + $id = "tz__$key"; + if (isset($args[$id]) && !empty($args[$id])) { + $vmconf["zonemessages"][$key] = $args[$id]; + } + } + break; + case "settings": + if (empty($extension) && $action == "settings") { + /* First update all general opts that are already in vmconf */ + foreach ($vmconf["general"] as $key => $val) { + $id = "gen__$key"; + $vmconf["general"][$key] = isset($args[$id])?$args[$id]:$vmconf["general"][$key]; + /* Bad to have empty fields in vmconf. */ + if (empty($vmconf["general"][$key])) { + unset($vmconf["general"][$key]); + } + unset($args[$id]); + } + /* Next record any new general opts that were on the page but not already in vmconf. */ + foreach ($gen_settings as $key => $descrip) { + $id = "gen__$key"; + if (isset($args[$id]) && !empty($args[$id])) { + $vmconf["general"][$key] = $args[$id]; + } + } + } else if (!empty($extension)) { + global $acct_settings; /* We need this to know the type for each option (text value or flag) */ + /* Delete user's old settings. */ + voicemail_mailbox_del($extension); + /* Prepare values for user's new settings. */ + /* Each Voicemail account has a line in voicemail.conf like this: */ + /* extension => password,name,email,pager,options */ + /* Take care of password, name, email and pager. */ + $pwd = isset($args["acct__pwd"])?$args["acct__pwd"]:""; + unset($args["acct__pwd"]); + if (isset($args["acct__name"]) && $args["acct__name"] != "") { + $name = $args["acct__name"]; + } else { + $this_exten = core_users_get($extension); + $name = $this_exten["name"]; + } + unset($args["acct__name"]); + $email = isset($args["acct__email"])?$args["acct__email"]:""; + unset($args["acct__email"]); + $pager = isset($args["acct__pager"])?$args["acct__pager"]:""; + unset($args["acct__pager"]); + + /* Now handle the options. */ + $options = array(); + foreach ($acct_settings as $key => $descrip) { + $id = "acct__$key"; + if (isset($args[$id]) && !empty($args[$id]) && $args[$id] != "undefined") { + $options[$key] = $args[$id]; + } + } + /* Remove call me num from options - that is set in ast db */ + unset($options["callmenum"]); + /* New account values to vmconf */ + $vmconf[$context][$extension] = array( + "mailbox" => $extension, + "pwd" => $pwd, + "name" => $name, + "email" => $email, + "pager" => $pager, + "options" => $options + ); + $callmenum = (isset($args["acct__callmenum"]) && !empty($args["acct__callmenum"]))?$args["acct__callmenum"]:$extension; + // Save call me num. + $cmd = "database put AMPUSER $extension/callmenum $callmenum"; + $astman->send_request("Command", array("Command" => $cmd)); + } + break; + case "bsettings": + if (!empty($extension)) { + /* Get user's old settings, since we are only replacing the basic settings. */ + $vmbox = voicemail_mailbox_get($extension); + /* Delete user's old settings. */ + voicemail_mailbox_del($extension); + + /* Prepare values for user's new BASIC settings. */ + /* Each Voicemail account has a line in voicemail.conf like this: */ + /* extension => password,name,email,pager,options */ + /* Take care of password, name, email and pager. */ + $pwd = isset($args["acct__pwd"])?$args["acct__pwd"]:""; + unset($args["acct__pwd"]); + if (isset($args["acct__name"]) && $args["acct__name"] != "") { + $name = $args["acct__name"]; + } else { + $this_exten = core_users_get($extension); + $name = $this_exten["name"]; + } + unset($args["acct__name"]); + $email = isset($args["acct__email"])?$args["acct__email"]:""; + unset($args["acct__email"]); + $pager = isset($args["acct__pager"])?$args["acct__pager"]:""; + unset($args["acct__pager"]); + + /* THESE ARE COMING FROM THE USER'S OLD SETTINGS. */ + $options = $vmbox["options"]; /* An array */ + /* Update the four options listed on the "bsettings" page as needed. */ + $basic_opts_list = array("attach", "saycid", "envelope", "delete"); + foreach ($basic_opts_list as $basic_opt) { + $id = "acct__" . $basic_opt; + if (isset($args[$id]) && !empty($args[$id]) && $args[$id] != "undefined") { + $options[$basic_opt] = $args[$id]; + } else if ($args[$id] == "undefined") { + unset($options[$basic_opt]); + } + } + /* Remove call me num from options - that is set in ast db. Should not be here anyway, since options are coming from the old settings... */ + unset($options["callmenum"]); + /* New account values to vmconf */ + $vmconf[$context][$extension] = array( + "mailbox" => $extension, + "pwd" => $pwd, + "name" => $name, + "email" => $email, + "pager" => $pager, + "options" => $options + ); + $callmenum = (isset($args["acct__callmenum"]) && !empty($args["acct__callmenum"]))?$args["acct__callmenum"]:$extension; + // Save call me num. + $cmd = "database put AMPUSER $extension/callmenum $callmenum"; + $astman->send_request("Command", array("Command" => $cmd)); + } + break; + default: + return false; + } + voicemail_saveVoicemail($vmconf); + $astman->send_request("Command", array("Command" => "reload app_voicemail.so")); + return true; + } + return false; +} + +function voicemail_get_settings($vmconf, $action, $extension="") { + $settings = array(); + switch ($action) { + case "tz": + if (is_array($vmconf) && is_array($vmconf["zonemessages"])) { + foreach ($vmconf["zonemessages"] as $key => $val) { + $settings[$key] = $val; + } + } + break; + case "bsettings": + case "settings": + /* Settings can apply to system-wide settings OR to account-specific settings. */ + /* Specifying a context and extension indicates account-specific settings are being requested. */ + if (!empty($extension)) { + $vmbox = voicemail_mailbox_get($extension); + if ($vmbox !== null) { + $settings["enabled"] = true; + } else { + $settings["enabled"] = false; + } + $settings["vmcontext"] = $c = isset($vmbox["vmcontext"])?$vmbox["vmcontext"]:"default"; + $settings["pwd"] = isset($vmbox["pwd"])?$vmbox["pwd"]:""; + $settings["name"] = (isset($vmbox["name"]) && $vmbox["name"] != "")?$vmbox["name"]:""; + if ($settings["name"] == "") { + $this_exten = core_users_get($extension); + $settings["name"] = $this_exten["name"]; + } + $settings["email"] = isset($vmbox["email"])?$vmbox["email"]:""; + $settings["pager"] = isset($vmbox["pager"])?$vmbox["pager"]:""; + $options = isset($vmbox["options"])?$vmbox["options"]:array(); + foreach ($options as $key => $val) { + $settings[$key] = $val; + } + + /* Get Call Me number */ + global $astman; + $cmd = "database get AMPUSER $extension/callmenum"; + $callmenum = ""; + $results = $astman->send_request("Command", array("Command" => $cmd)); + if (is_array($results)) + { + foreach ($results as $results_elem) + { + if (preg_match('/Value: [^\s]*/', $results_elem, $matches) > 0) + { + $parts = preg_split('/ /', trim($matches[0])); + $callmenum = $parts[1]; + break; + } + } + } + $settings["callmenum"] = $callmenum; + /* End - Call Me number obtained */ + } else { + if (is_array($vmconf) && is_array($vmconf["general"])) { + $settings = $vmconf["general"]; + } + } + break; + default: + break; + } + return $settings; +} +function voicemail_update_usage($vmail_info, $context="", $extension="", $args) { + global $vmail_root; + $take_action = false; + if (isset($args["del_msgs"]) && $args["del_msgs"] == "true") { + $msg = true; + $take_action = true; + } else { + $msg = false; + } + if (isset($args["del_names"]) && $args["del_names"] == "true") { + $name = true; + $take_action = true; + } else { + $name = false; + } + if (isset($args["del_unavail"]) && $args["del_unavail"] == "true") { + $unavail = true; + $take_action = true; + } else { + $unavail = false; + } + if (isset($args["del_busy"]) && $args["del_busy"] == "true") { + $busy = true; + $take_action = true; + } else { + $busy = false; + } + if (isset($args["del_temp"]) && $args["del_temp"] == "true") { + $temp = true; + $take_action = true; + } else { + $temp = false; + } + if (isset($args["del_abandoned"]) && $args["del_abandoned"] == "true") { + $abandoned = true; + $take_action = true; + } else { + $abandoned = false; + } + if (!$take_action) { + return; + } + $vmail_path = $vmail_root; + $scope = "system"; + if (!empty($extension) && !empty($context)) { + $scope = "account"; + } + + switch ($scope) { + case "system": + if ($msg) { + exec ("rm -f $vmail_root/*/*/*/msg*"); + } + foreach ($vmail_info["contexts"] as $c) { + voicemail_del_greeting_files($vmail_root, $c, "", $name, $unavail, $busy, $temp, $abandoned); + } + break; + case "account": + if (isset($vmail_info["activated_info"][$extension]) && $vmail_info["activated_info"][$extension] == $context) { + $vmail_path = $vmail_root . "/" . $context . "/" . $extension; + if ($msg) { + exec ("rm -f $vmail_path/*/msg*"); + } + voicemail_del_greeting_files($vmail_root, $context, $extension, $name, $unavail, $busy, $temp, $abandoned); + } + break; + } +} +function voicemail_del_greeting_files($vmail_root, $context="", $exten="", $name=false, $unavail=false, $busy=false, $temp=false, $abandoned=false) { + $path = $vmail_root; + if (!empty($context) && !empty($exten)) { + $path .= "/" . $context . "/" . $exten; + $ab_name_cmd = "ls $path/greet.tmp.*"; + $ab_temp_cmd = "ls $path/temp.tmp.*"; + $ab_busy_cmd = "ls $path/busy.tmp.*"; + $ab_unavail_cmd = "ls $path/unavail.tmp.*"; + $name_cmd = "ls $path/greet.*"; + $unavail_cmd = "ls $path/unavail.*"; + $busy_cmd = "ls $path/busy.*"; + $temp_cmd = "ls $path/temp.*"; + } else { + $ab_name_cmd = "ls $path/*/*/greet.tmp.*"; + $ab_temp_cmd = "ls $path/*/*/temp.tmp.*"; + $ab_busy_cmd = "ls $path/*/*/busy.tmp.*"; + $ab_unavail_cmd = "ls $path/*/*/unavail.tmp.*"; + $name_cmd = "ls $path/*/*/greet.*"; + $unavail_cmd = "ls $path/*/*/unavail.*"; + $busy_cmd = "ls $path/*/*/busy.*"; + $temp_cmd = "ls $path/*/*/temp.*"; + } + + if (is_dir($path)) { + if ($abandoned) { + /* First handle abandoned greetings. Delete abandoned greetings that are at least a day old. */ + $ab_names = voicemail_get_ab_greetings("greet", $ab_name_cmd); + $ab_temps = voicemail_get_ab_greetings("temp", $ab_temp_cmd); + $ab_busys = voicemail_get_ab_greetings("busy", $ab_busy_cmd); + $ab_unavails = voicemail_get_ab_greetings("unavail", $ab_unavail_cmd); + $ab_greetings = array_merge($ab_names, $ab_temps, $ab_busys, $ab_unavails); + $current_time = time(); + $one_day = 24 * 60 * 60; + foreach ($ab_greetings as $greeting_path) { + if (time() - filemtime($greeting_path) > $one_day) { + exec("rm -f $greeting_path"); + } + } + } + if ($name) { + $names = voicemail_get_greetings("greet", $name_cmd); + } + if ($unavail) { + $unavails = voicemail_get_greetings("unavail", $unavail_cmd); + } + if ($busy) { + $busys = voicemail_get_greetings("busy", $busy_cmd); + } + if ($temp) { + $temps = voicemail_get_greetings("temp", $temp_cmd); + } + $greetings = array_merge($names, $temps, $busys, $unavails); + if (!empty($greetings)) { + foreach ($greetings as $greeting_path) { + exec ("rm -f $greeting_path"); + } + } + } +} +function voicemail_get_storage($path) { + $cmd = escapeshellcmd("du -khs $path"); + $storage_result = array(); + $matches = array(); + exec($cmd, $storage_result); + if (preg_match("/[0-9]*\.*[0-9]*[a-zA-Z]*/", $storage_result[0], $matches) > 0) { + $storage = $matches[0]; + unset($matches); + $matches = array(); + # Expecting storage value as #.#U where # = number, . = dot, and U = units (e.g. M, K, etc.) + # Massage the string so that there is a space between the number value and character(s) + # denoting the unit + # + # Extract the numeric part. /[0-9]*\.*[0-9]*[a-zA-Z]*/ + if (preg_match("/[0-9]*\.*[0-9]*/", $storage, $matches)) { + $st_num = $matches[0]; + } else { + $st_num = "0"; + } + unset($matches); + $matches = array(); + if (preg_match("/[a-zA-Z]+$/", $storage, $matches)) { + $st_unit = $matches[0]; + } else { + $st_unit = ""; + } + # reset $storage to new string + $storage = $st_num . " " . $st_unit; + } else { + $storage = "unknown"; + } + return $storage; +} +function voicemail_get_usage($vmail_info, $scope, &$acts_total, &$acts_act, &$acts_unact, &$disabled_count, + &$msg_total, &$msg_in, &$msg_other, + &$name, &$unavail, &$busy, &$temp, &$abandoned, + &$storage, + $context="", $extension="") { + global $vmail_root; + $msg_total = 0; + $msg_in = 0; + $msg_other = 0; + $name = 0; + $unavail = 0; + $busy = 0; + $temp = 0; + $abandoned = 0; + switch ($scope) { + case "system": + $acts_act = sizeof($vmail_info["activated_info"]); + $acts_unact = sizeof($vmail_info["unactivated_info"]); + $disabled_count = sizeof($vmail_info["disabled_list"]); + $acts_total = $acts_act + $acts_unact + $disabled_count; + $storage = voicemail_get_storage($vmail_root); + foreach ($vmail_info["contexts"] as $c) { + $count_msg_in = 0; + $count_msg_oth = 0; + $count_name = 0; + $count_unavail = 0; + $count_busy = 0; + $count_temp = 0; + $count_abandon = 0; + $vmail_path = $vmail_root . "/" . $c; + voicemail_file_usage($vmail_path, $count_msg_in, $count_msg_oth, $count_name, $count_unavail, $count_busy, $count_temp, $count_abandon); + $msg_in += $count_msg_in; + $msg_other += $count_msg_oth; + $name += $count_name; + $unavail += $count_unavail; + $busy += $count_busy; + $temp += $count_temp; + $abandoned += $count_abandon; + + } + $msg_total = $msg_in + $msg_other; + break; + case "account": + if (isset($vmail_info["activated_info"][$extension]) && $vmail_info["activated_info"][$extension] == $context) { + $vmail_path = $vmail_root . "/" . $context . "/" . $extension; + voicemail_file_usage($vmail_path, $msg_in, $msg_other, $name, $unavail, $busy, $temp, $abandoned, true); + $storage = voicemail_get_storage($vmail_path); + $msg_total = $msg_in + $msg_other; + $acts_act = 1; + $acts_unact = 0; + } else { + $acts_unact = 1; + } + break; + default: + break; + } +} +function voicemail_file_usage($path, &$inmsg_cnt, &$othmsg_cnt, &$greet_cnt, &$unavail_cnt, &$busy_cnt, &$temp_cnt, &$abandoned_cnt, $acct_flag=false) { + if ($acct_flag) { /* account-specific; account included in path passed in */ + # greetings, all + $greet_cmd = "ls $path/greet.*"; + $unavail_cmd = "ls $path/unavail.*"; + $busy_cmd = "ls $path/busy.*"; + $temp_cmd = "ls $path/temp.*"; + + # abandoned greetings + $agreet_cmd = "ls $path/greet.tmp.*"; + $aunavail_cmd = "ls $path/unavail.tmp.*"; + $abusy_cmd = "ls $path/busy.tmp.*"; + $atemp_cmd = "ls $path/temp.tmp.*"; + + # inbox messages + $inmsg_cmd = "ls $path/INBOX/msg*.txt"; + + # all messages + $allmsg_cmd = "ls $path/*/msg*.txt"; + } else { /* system-wide */ + # greetings, all + $greet_cmd = "ls $path/*/greet.*"; + $unavail_cmd = "ls $path/*/unavail.*"; + $busy_cmd = "ls $path/*/busy.*"; + $temp_cmd = "ls $path/*/temp.*"; + + # abandoned greetings + $agreet_cmd = "ls $path/*/greet.tmp.*"; + $aunavail_cmd = "ls $path/*/unavail.tmp.*"; + $abusy_cmd = "ls $path/*/busy.tmp.*"; + $atemp_cmd = "ls $path/*/temp.tmp.*"; + + # inbox messages + $inmsg_cmd = "ls $path/*/INBOX/msg*.txt"; + + # all messages + $allmsg_cmd = "ls $path/*/*/msg*.txt"; + } + + if (is_dir($path)) { + $greet_cnt = voicemail_count_greetings("greet", $greet_cmd); + $temp_cnt = voicemail_count_greetings("temp", $temp_cmd); + $busy_cnt = voicemail_count_greetings("busy", $busy_cmd); + $unavail_cnt = voicemail_count_greetings("unavail", $unavail_cmd); + + + $agreet_cnt = voicemail_count_ab_greetings("greet", $agreet_cmd); + $aunavail_cnt = voicemail_count_ab_greetings("unavail", $aunavail_cmd); + $abusy_cnt = voicemail_count_ab_greetings("busy", $abusy_cmd); + $atemp_cnt = voicemail_count_ab_greetings("temp", $atemp_cmd); + + + $inmsg_cnt = voicemail_count_msg($inmsg_cmd); + $allmsg_cnt = voicemail_count_msg($allmsg_cmd); + + $othmsg_cnt = $allmsg_cnt - $inmsg_cnt; + $abandoned_cnt = $agreet_cnt + $abusy_cnt + $atemp_cnt + $aunavail_cnt; + + } + +} +function voicemail_strip_exten_from_greet_path($greet_path) { + $path_array = explode("/", $greet_path); + $n = sizeof($path_array); + $exten = $path_array[$n-2]; + return $exten; +} +function voicemail_count_greetings($greeting, $cmd) { + /* get a list of all greeting files */ + $file_list = voicemail_get_greetings($greeting, $cmd); + $greet_list = array(); + /* greeting can be in multiple formats, making file count greater than greeting */ + /* count, so make array with one entry for each extension that has the greeting */ + foreach ($file_list as $greeting_file) { + $greet_list[voicemail_strip_exten_from_greet_path($greeting_file)] = true; + } + return sizeof($greet_list); +} +function voicemail_get_greetings($greeting, $cmd) { + $results = array(); + $greet_list = array(); + exec($cmd, $results); + /* filter out abandoned greeting recordings */ + foreach ($results as $r) { + $pat = "/.*" . $greeting . "\.tmp\..+/"; + if (!preg_match($pat, $r)) + $greet_list[] = $r; + } + return $greet_list; +} +function voicemail_count_ab_greetings($greeting, $cmd) { + $file_list = voicemail_get_ab_greetings($greeting, $cmd); + $greet_list = array(); + /* greeting can be in multiple formats, making file count greater than greeting */ + /* count, so make array with one entry for each extension that has the greeting */ + foreach ($file_list as $greeting_file) { + $greet_list[voicemail_strip_exten_from_greet_path($greeting_file)] = true; + } + return sizeof($greet_list); +} +function voicemail_get_ab_greetings($greeting, $cmd) { + $results = array(); + $greet_list = array(); + exec($cmd, $results); + foreach ($results as $r) { + $greet_list[] = $r; + } + return $greet_list; +} +function voicemail_count_msg($msg_cmd) { + $results = array(); + $msg_cnt = 0; + exec($msg_cmd, $results); + /* Message can be recorded in multiple formats, but there is always one text */ + /* file for each message, so count the text files. */ + foreach ($results as $r) { + if (preg_match("/.+\/msg[0-9][0-9][0-9][0-9]\.txt\/{0,1}/", $r)) { + $msg_cnt++; + } + } + return $msg_cnt; +} +function voicemail_get_greeting_timestamps($name=0, $unavail=0, $busy=0, $temp=0, $context="", $extension="") { + global $vmail_root; + if ($context == "" || $extension == "") { + return null; + } + $vmail_path = $vmail_root . "/$context/$extension"; + $ts["name"] = 0; + $ts["unavail"] = 0; + $ts["busy"] = 0; + $ts["temp"] = 0; + if ($name) { + $listing = array(); + exec("ls $vmail_path/greet.*", $listing); + foreach ($listing as $entry) { + if (!preg_match("/greet\.tmp\..+/", $entry)) { + $ts["name"] = date("Y-m-d", filemtime("$entry")); + break; + } + } + } + if ($unavail) { + $listing = array(); + exec("ls $vmail_path/unavail.*", $listing); + foreach ($listing as $entry) { + if (!preg_match("/unavail\.tmp\..+/", $entry)) { + $ts["unavail"] = date("Y-m-d", filemtime("$entry")); + break; + } + } + } + if ($busy) { + $listing = array(); + exec("ls $vmail_path/busy.*", $listing); + foreach ($listing as $entry) { + if (!preg_match("/busy\.tmp\..+/", $entry)) { + $ts["busy"] = date("Y-m-d", filemtime("$entry")); + break; + } + } + } + if ($temp) { + $listing = array(); + exec("ls $vmail_path/temp.*", $listing); + foreach ($listing as $entry) { + if (!preg_match("/temp\.tmp\..+/", $entry)) { + $ts["temp"] = date("Y-m-d", filemtime("$entry")); + break; + } + } + } + return $ts; +} +?> Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/page.voicemail.php =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/page.voicemail.php (revision 11953) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/page.voicemail.php (revision 11953) @@ -0,0 +1,723 @@ + $exten) { + $vmbox = null; + /* Voicemail is enabled for this extension when it is associated with a Voicemail context. */ + foreach ($vmail_info["contexts"] as $vmcontext) { + if (isset($uservm[$vmcontext][$exten[0]])) { + $vmbox["context"] = $vmcontext; + break; + } + } + + /* FOR RNAV MENU */ + $name = $exten[1]; + $unactivated_style = ""; + $unactivated_txt = ""; + $disabled_style = ""; + $disabled_txt = ""; + $c = ""; + $c = isset($vmbox["context"])?$vmbox["context"]:""; + if ($vmbox !== null) { + $vmail_info["bycontext"][$vmbox["context"]][] = $exten[0]; + $vmbox["path"] = $vmail_root . "/" . $vmbox["context"] . "/" . $exten[0]; + $rnav_enabled_index[$vmbox["context"]][] = $i; + if (is_dir($vmbox["path"])) { + $vmail_info["activated_info"][$exten[0]] = $vmbox["context"]; + } else { + $vmail_info["unactivated_info"][$exten[0]] = $vmbox["context"]; + $unactivated_style = " style='background: #abc9ff;'"; + $unactivated_txt = " [unactivated]"; + } + $link = "config.php?type=" . $type . "&display=" . $display . "&ext=" . $exten[0] . "&action=bsettings#" . $exten[0]; + } else { + /* Voicemail is disabled for this extension. */ + $vmail_info["disabled_list"][] = $exten[0]; + $disabled_txt = "disabled"; + $disabled_style = " style='background: #ffffcc; text-decoration: line-through;'"; + /* Distinguish between "extensions" and "deviceanduser" modes. */ + if (isset($amp_conf["AMPEXTENSIONS"]) && ($amp_conf["AMPEXTENSIONS"] == "extensions")) { + $link = "config.php?type=setup&display=extensions&extdisplay=" . $exten[0] . "#" . $exten[0]; + } else { + $link = "config.php?type=setup&display=users&extdisplay=" . $exten[0] . "#" . $exten[0]; + } + } + $rnav_entries[$i] = "\t
  • {$name} <" . $exten[0] . ">  (${c}${disabled_txt})${unactivated_txt}
  • \n"; + $i++; + } +} + +/* End VMAIL info processing. */ + +/* Settings options */ +$dlen = 800; /* default max length on text entry */ +$gen_settings = array( "adsifdn" => array("ver" => 1.2, "len" => 4, "type" => "char"), + "adsisec" => array("ver" => 1.2, "len" => 4, "type" => "char"), + "adsiver" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "attach" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "authpassword" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "authuser" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "backupdeleted" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "callback" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "charset" => array("ver" => 1.2, "len" => 32, "type" => "char"), + "cidinternalcontexts" => array("ver" => 1.2, "len" => 640, "type" => "char"), + "dialout" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "emailbody" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "emaildateformat" => array("ver" => 1.2, "len" => 32, "type" => "char"), + "emailsubject" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "envelope" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "exitcontext" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "expungeonhangup" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "externnotify" => array("ver" => 1.2, "len" => 160, "type" => "char"), + "externpass" => array("ver" => 1.2, "len" => 128, "type" => "char"), + "externpassnotify" => array("ver" => 1.6, "len" => 128, "type" => "char"), + "forcegreetings" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "forcename" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "format" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "fromstring" => array("ver" => 1.2, "len" => 100, "type" => "char"), + "greetingsfolder" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "imapclosetimeout" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapflags" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapfolder" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapgreetings" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "imapopentimeout" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "imapparentfolder" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "imapport" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapreadtimeout" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapserver" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "imapwritetimeout" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "listen-control-forward-key" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "listen-control-pause-key" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "listen-control-restart-key" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "listen-control-reverse-key" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "listen-control-stop-key" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "mailcmd" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "maxgreet" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "maxlogins" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "maxmessage" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "maxmsg" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "maxsecs" => array("ver" => 1.6, "len" => $dlen, "type" => "num"), + "maxsilence" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "minsecs" => array("ver" => 1.6, "len" => $dlen, "type" => "num"), + "moveheard" => array("ver" => 1.6, "len" => 0, "type" => "flag"), + "nextaftercmd" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "obdcstorage" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "odbctable" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "operator" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "pagerbody" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "pagerfromstring" => array("ver" => 1.2, "len" => 100, "type" => "char"), + "pagersubject" => array("ver" => 1.2, "len" => $dlen, "type" => "char"), + "pbxskip" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "pollfreq" => array("ver" => 1.6, "len" => $dlen, "type" => "num"), + "pollmailboxes" => array("ver" => 1.6, "len" => 0, "type" => "flag"), + "review" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "saycid" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "sayduration" => array("ver" => 1.2, "len" => $dlen, "type" => "flag"), + "saydurationm" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "searchcontexts" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "sendvoicemail" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "serveremail" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "silencethreshold" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "skipms" => array("ver" => 1.2, "len" => $dlen, "type" => "num"), + "smdienable" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "smdiport" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "tempgreetwarn" => array("ver" => 1.4, "len" => $dlen, "type" => "flag"), + "usedirectory" => array("ver" => 1.4, "len" => 0, "type" => "flag"), + "userscontext" => array("ver" => 1.4, "len" => $dlen, "type" => "char"), + "vm-mismatch" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "vm-newpassword" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "vm-passchanged" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "vm-password" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "vm-reenterpassword" => array("ver" => 1.6, "len" => $dlen, "type" => "char"), + "volgain" => array("ver" => 1.4, "len" => $dlen, "type" => "num") ); + +$acct_settings = array( "attach" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "attachfmt" => array("ver" => 1.4, "len" => 20, "type" => "char"), + "backupdeleted" => array("ver" => 1.6, "len" => 0, "type" => "num"), + "callback" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "callmenum" => array("ver" => 1.2, "len" => 0, "type" => "num"), + "delete" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "dialout" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "email" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "envelope" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "exitcontext" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "forcegreetings" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "forcename" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "hidefromdir" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "imappassword" => array("ver" => 1.4, "len" => 80, "type" => "char"), + "imapuser" => array("ver" => 1.4, "len" => 80, "type" => "char"), + "language" => array("ver" => 1.4, "len" => 20, "type" => "char"), + "maxmessage" => array("ver" => 1.2, "len" => 0, "type" => "num"), + "maxmsg" => array("ver" => 1.2, "len" => 0, "type" => "num"), + "maxsecs" => array("ver" => 1.6, "len" => 0, "type" => "num"), + "moveheard" => array("ver" => 1.6, "len" => 0, "type" => "flag"), + "name" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "operator" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "pager" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "pwd" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "review" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "saycid" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "sayduration" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "saydurationm" => array("ver" => 1.2, "len" => 0, "type" => "num"), + "sendvoicemail" => array("ver" => 1.2, "len" => 0, "type" => "flag"), + "serveremail" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "tempgreetwarn" => array("ver" => 1.4, "len" => 0, "type" => "flag"), + "tz" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "vmcontext" => array("ver" => 1.2, "len" => 80, "type" => "char"), + "volgain" => array("ver" => 1.4, "len" => 0, "type" => "num") ); + +$tooltips = array("tz" => array("name" => _("Timezone definition name"), + "def" => _("Time announcement for message playback"), + "del" => _("Remove the timezone definition")), + "general" => array("adsifdn" => _("The ADSI feature descriptor number to download to"), + "adsisec" => _("The ADSI security lock code"), + "adsiver" => _("The ADSI Voicemail application version number."), + "attach" => _("Option to attach Voicemails to email."), + "authpassword" => _("IMAP server master password."), + "authuser" => _("IMAP server master username."), + "backupdeleted" => _("No. of deleted messages saved per mailbox (can be a number or yes/no, yes meaning MAXMSG, no meaning 0)."), + "callback" => _("Context to call back from; if not listed, calling the sender back will not be permitted."), + "charset" => _("The character set for Voicemail messages"), + "cidinternalcontexts" => _("Comma separated list of internal contexts to use caller ID."), + "dialout" => _("Context to dial out from [option 4 from the advanced menu] if not listed, dialing out will not be permitted."), + "emailbody" => _("Email body."), + "emaildateformat" => _("Load date format config for Voicemail mail."), + "emailsubject" => _("Email subject"), + "maxsilence" => _("How many seconds of silence before we end the recording"), + "envelope" => _("Turn on/off envelope playback before message playback. [ON by default] This does NOT affect option 3,3 from the advanced options menu."), + "exitcontext" => _("Context to check for handling * or 0 calls to operator. \"Operator Context\""), + "expungeonhangup" => _("Expunge on exit."), + "externnotify" => _("External Voicemail notify application."), + "externpass" => _("External password changing command (overrides externpassnotify)."), + "externpassnotify" => _("Command specified runs after a user changes his password."), + "forcegreetings" => _("Force new user to record greetings (the same as forcename, except for recording greetings). The default is \"no\"."), + "forcename" => _("Force a new user to record their name. A new user is determined by the password being the same as the mailbox number. The default is \"no\"."), + "format" => _("Formats for writing Voicemail. Note that when using IMAP storage for Voicemail, only the first format specified will be used."), + "fromstring" => _("From: string for email"), + "imapclosetimeout" => _("For IMAP storage"), + "imapflags" => _("IMAP server flags."), + "imapfolder" => _("IMAP Voicemail folder."), + "imapgreetings" => _("If using IMAP storage, specify whether Voicemail greetings should be stored via IMAP. If no, then greetings are stored as if IMAP storage were not enabled"), + "greetingsfolder" => _("(yes/no) If imapgreetings=yes, then specify which folder to store your greetings in. If you do not specify a folder, then INBOX will be used."), + "imapopentimeout" => _("For IMAP storage - TCP open timeout in seconds"), + "imapparentfolder" => _("Set the parent folder (default is to have no parent folder set)."), + "imapport" => _("IMAP server port."), + "imapreadtimeout" => _("For IMAP storage - TCP read timeout in seconds"), + "imapserver" => _("IMAP server address."), + "imapwritetimeout" => _("For IMAP storage - TCP write timeout in seconds"), + "listen-control-forward-key" => _("Customize the key that fast-forwards message playback"), + "listen-control-pause-key" => _("Customize the key that pauses/unpauses message playback"), + "listen-control-restart-key" => _("Customize the key that restarts message playback"), + "listen-control-reverse-key" => _("Customize the key that rewinds message playback"), + "listen-control-stop-key" => _("Customize the key that stops message playback"), + "mailcmd" => _("Mail command."), + "maxgreet" => _("Max message greeting length."), + "maxlogins" => _("Max failed login attempts."), + "maxmessage" => _("Max message time length."), + "maxsecs" => _("Max message time length."), + "maxmsg" => _("Maximum number of messages per folder. If not specified, a default value (100) is used. Maximum value for this option is 9999."), + "minsecs" => _("Min message time length - maxsilence should be less than minsecs or you may get empty messages."), + "moveheard" => _("Move heard messages to the 'Old' folder automatically. Defaults to on."), + "nextaftercmd" => _("Skip to the next message after save/delete."), + "obdcstorage" => _("The value of odbcstorage is the database connection configured in res_odbc.conf."), + "odbctable" => _("The default table for ODBC Voicemail storage is voicemessages."), + "operator" => _("Operator break. Allow sender to hit 0 before/after/during leaving a Voicemail to reach an operator [OFF by default]"), + "pagerbody" => _("Body of message sent to pager."), + "pagerfromstring" => _("From: string sent to pager."), + "pagersubject" => _("Subject sent to pager."), + "pbxskip" => _("Skip the \"[PBX]:\" string from the message title"), + "pollfreq" => _("If the \"pollmailboxes\" option is enabled, this option sets the polling frequency. The default is once every 30 seconds."), + "pollmailboxes" => _("If mailboxes are changed anywhere outside of app_voicemail, then this option must be enabled for MWI to work. This enables polling mailboxes for changes. Normally, it will expect that changes are only made when someone called in to one of the Voicemail applications. Examples of situations that would require this option are web interfaces to Voicemail or an email client in the case of using IMAP storage."), + "review" => _("Allow sender to review/rerecord their message before saving it [OFF by default]"), + "saycid" => _("Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left. If not described, or set to no, it will be in the envelope."), + "sayduration" => _("Turn on/off saying duration information before the message playback. [ON by default]"), + "saydurationm" => _("Specify in minutes the minimum duration to say. Default is 2 minutes."), + "searchcontexts" => _("Yes to search all contexts, no to search current context (if one is not specified)."), + "sendvoicemail" => _("Send Voicemail message. If not listed, sending messages from inside Voicemail will not be permitted."), + "serveremail" => _("Who the e-mail notification should appear to come from"), + "silencethreshold" => _("Silence threshold (what we consider silence: the lower, the more sensitive)"), + "skipms" => _("How many milliseconds to skip forward/back when rew/ff in message playback"), + "smdienable" => _("Enable Simple Message Desk Interface (SMDI) integration"), + "smdiport" => _("Valid port as specified in smdi.conf for using smdi for external notification."), + "tempgreetwarn" => _("Temporary greeting reminder."), + "usedirectory" => _("Permit finding entries for forward/compose from the directory"), + "userscontext" => _("User context is where entries from users.conf are registered. The default value is 'default'"), + "vm-mismatch" => _("Customize which sound file is used instead of the default prompt that says: \"The passwords you entered and re-entered did not match. Please try again.\""), + "vm-newpassword" => _("Customize which sound file is used instead of the default prompt that says: \"Please enter your new password followed by the pound key.\""), + "vm-passchanged" => _("Customize which sound file is used instead of the default prompt that says: \"Your password has been changed.\""), + "vm-password" => _("Customize which sound file is used instead of the default prompt that says: \"password\""), + "vm-reenterpassword" => _("Customize which sound file is used instead of the default prompt that says: \"Please re-enter your password followed by the pound key\""), + "volgain" => _("Emails bearing the Voicemail may arrive in a volume too quiet to be heard. This parameter allows you to specify how much gain to add to the message when sending a Voicemail. NOTE: sox must be installed for this option to work.") + ), + "account" => array("pwd" => _("This is the password used to access the Voicemail system.

    This password can only contain numbers.

    A user can change the password you enter here after logging into the Voicemail system (*98) with a phone."), + "attach" => _("Option to attach Voicemails to email."), + "attachfmt" => _("Which format of audio file to attach to the email."), + "backupdeleted" => _("No. of deleted messages saved per mailbox (can be a number or yes/no, yes meaning MAXMSG, no meaning 0)."), + "callback" => _("Context to call back from; if not listed, calling the sender back will not be permitted."), + "delete" => _("After notification, the Voicemail is deleted from the server. [per-mailbox only] This is intended for use with users who wish to receive their Voicemail ONLY by email. Note: deletevoicemail is provided as an equivalent option for Realtime configuration."), + "dialout" => _("Context to dial out from [option 4 from the advanced menu] if not listed, dialing out will not be permitted."), + "email" => _("The email address that Voicemails are sent to."), + "envelope" => _("Turn on/off envelope playback before message playback. [ON by default] This does NOT affect option 3,3 from the advanced options menu."), + "exitcontext" => _("Context to check for handling * or 0 calls to operator. \"Operator Context\""), + "forcegreetings" => _("Force new user to record greetings (the same as forcename, except for recording greetings). The default is \"no\"."), + "forcename" => _("Force a new user to record their name. A new user is determined by the password being the same as the mailbox number. The default is \"no\"."), + "fullname" => _("Name of Voicemail account"), + "hidefromdir" => _("Hide this mailbox from the directory produced by app_directory. The default is \"no\"."), + "imappassword" => _("IMAP password."), + "imapuser" => _("IMAP user."), + "language" => _("Asterisk language code"), + "maxmsg" => _("Maximum number of messages per folder. If not specified, a default value (100) is used. Maximum value for this option is 9999."), + "maxmessage" => _("Max message time length."), + "maxsecs" => _("Max message time length."), + "moveheard" => _("Move heard messages to the 'Old' folder automatically. Defaults to on."), + "name" => _("Name of account/user"), + "operator" => _("Operator break. Allow sender to hit 0 before/after/during leaving a Voicemail to reach an operator [OFF by default]"), + "pager" => _("Pager/mobile email address that short Voicemail notifications are sent to."), + "review" => _("Allow sender to review/rerecord their message before saving it [OFF by default]"), + "saycid" => _("Read back caller's telephone number prior to playing the incoming message, and just after announcing the date and time the message was left. If not described, or set to no, it will be in the envelope."), + "sayduration" => _("Turn on/off saying duration information before the message playback. [ON by default]"), + "saydurationm" => _("Specify in minutes the minimum duration to say. Default is 2 minutes."), + "sendvoicemail" => _("Send Voicemail message. If not listed, sending messages from inside Voicemail will not be permitted."), + "serveremail" => _("Who the e-mail notification should appear to come from"), + "tempgreetwarn" => _("Remind the user that their temporary greeting is set"), + "tz" => _("Timezone from zonemessages context. Irrelevant if envelope=no."), + "vmcontext" => _("This is the Voicemail Context which is normally set to default. Do not change unless you understand the implications."), + "volgain" => _("Emails bearing the Voicemail may arrive in a volume too quiet to be heard. This parameter allows you to specify how much gain to add to the message when sending a Voicemail. NOTE: sox must be installed for this option to work."), + "callmenum" => _("Call me number. Can be used from within ARI.") + ) + ); + +/* End settings options */ + +/* Data needed to display correct page. */ +$type = (isset($_REQUEST["type"]) && $_REQUEST["type"] != "")?$_REQUEST["type"]:"setup"; +$display = (isset($_REQUEST["display"]) && $_REQUEST["display"] != "")?$_REQUEST["display"]:"voicemail"; +if (isset($_REQUEST["updated"])) { + if ($_REQUEST["updated"] == "true") { + $update_flag = true; + } else { + $update_flag = false; + } +} else { + $update_flag = null; +} +$action = isset($_REQUEST["action"])?$_REQUEST["action"]:""; +if (isset($_REQUEST["ext"])) { + $extension = $_REQUEST["ext"]; + if (isset($vmail_info["activated_info"][$extension])) { + $context = $vmail_info["activated_info"][$extension]; + } else if (isset($vmail_info["unactivated_info"][$extension])) { + $context = $vmail_info["unactivated_info"][$extension]; + } else { + // Force Voicemail to "system" mode by clearing context and extension values + $context = ""; + $extension = ""; + } +} else { + // System mode + $context = ""; + $extension = ""; +} + +/* Special handling for action specified by form submission. */ +if ($action == "Go") { + /* This is for viewing a particular context's usage. */ + $action = "usage"; + /* Clear extension */ + $extension = ""; +} else if ($action == "Submit") { + /* "Submit" is for performing some kind of update to settings (for page type of general, account OR timezone settings) OR to the files on disk. */ + /* page_type can be settings, account, tz or usage. */ + $action = (isset($_REQUEST["page_type"]) && !empty($_REQUEST["page_type"]))?$_REQUEST["page_type"]:"";; + $need_update = true; +} else { + $need_update = false; +} + +/* If no action specified, default to a view of the entire system's usage. */ +if (empty($action)) { + $context = ""; + $extension = ""; + $need_update = false; + $action = "usage"; +} + +/* Need to generate rnav div menu */ +/* system-wide rnav menu (lists all accounts) */ +$rnav_list = implode("\n", $rnav_entries); + +$rnav_menu = "
      \n" . $rnav_list . "
    "; +$title = voicemail_get_title($action, $context, $extension); +$output = ""; +$output .= "
    $rnav_menu
    "; +$output .= "
    \n"; +$output .= "
    "; +$output .= ""; +$output .= ""; +$output .= ""; +$output .= ""; +/* Javascript for remembering scroll position of rnav menu */ +$output .= ""; +/* END of Javascript for remembering scroll position of rnav menu */ + +$sys_view_flag = empty($extension)?true:false; +$settings_link = "Settings"; +$usage_link = "Usage"; +$tzone_link = "Timezone Definitions"; +$output .= "
    " . _("Press 0:") . "" . _("Pressing 0 during your personal Voicemail greeting goes to the Operator. Uncheck to enter another destination here. This feature can be used while still disabling VmX to allow an alternative Operator extension without requiring the VmX feature for the user.") . "
    +
    + + + + " . _("Go To Operator") . " +
    " . _("Press 1:") . ""; + + if ($follow_me_disabled) { + $set_vmx_text .= _("The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages."); + } else { + $set_vmx_text .= _("Enter an alternate number here, then change your personal Voicemail greeting to let callers know to press 1 to reach that number.

    If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above."); + } + + $set_vmx_text .= + "
    +
    + + "; + + if (!$follow_me_disabled) { + $set_vmx_text .= "" . _("Send to Follow-Me") . ""; + } + + $set_vmx_text .= + " +
    " . _("Press 2:") . "" . _("Use any extensions, ringgroups, queues or external numbers.

    Remember to re-record your personal Voicemail greeting and include instructions. Run a test to make sure that the number is functional.") . "
    + +
    "; +$output .= ""; +$output .= ""; + +if ($need_update && $action != 'usage') { + /* set args */ + $args = array(); + if (voicemail_update_settings($action, $context, $extension, $_REQUEST)) { + $url = "config.php?type=$type&display=$display&action=$action&ext=$extension&updated=true"; + redirect($url); + } else { + $url = "config.php?type=$type&display=$display&action=$action&ext=$extension&updated=false"; + redirect($url); + } +} +switch ($action) { + case "tz": + /* get tz settings */ + $settings = voicemail_get_settings($uservm, $action, $extension); + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + if (is_array($settings) && !empty($settings)) { + foreach ($settings as $key => $val) { + $output .= ""; + $output .= ""; + $output .= ""; + } + } + $output .= ""; + $output .= ""; + $output .= ""; + $output .= ""; + + $update_notice = ($update_flag == false)?"  UPDATE FAILED":""; + $update_notice = ($update_flag == true)?"  UPDATE COMPLETED":""; + $output .= ""; + + $output .= ""; + $output .= ""; + $output .= ""; + $output .= "" . + "" . + ""; + $output .= "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + "" . + ""; + break; + case "bsettings": + case "settings": + /* get settings */ + $settings = voicemail_get_settings($uservm, $action, $extension); + /* Get Asterisk version. */ + $ast_info = engine_getinfo(); + $version = $ast_info["version"]; + $text_size = 40; + + if (!empty($extension)) { + $acct_title_links = ""; + $display_settings = $acct_settings; + $display_tips = $tooltips["account"]; + $id_prefix = "acct"; + } else { + $acct_title_links = ""; + $output .= ""; + $display_settings = $gen_settings; + $display_tips = $tooltips["general"]; + $id_prefix = "gen"; + } + $display_name_row = ""; + if ($action == "bsettings") { + # Overwrite account title links + $acct_title_links = ""; + /* Display account name */ + $display_name = isset($settings["name"])?$settings["name"]:_("No name defined; this is configured from the Extensions or Users page."); + $display_name_row = ""; + # Override display settings, so only the basic account settings appear. + unset($display_settings); + $basic_settings["pwd"] = isset($settings["pwd"])?$settings["pwd"]:""; + $basic_settings["email"] = isset($settings["email"])?$settings["email"]:""; + $basic_settings["pager"] = isset($settings["pager"])?$settings["pager"]:""; + $basic_settings["attach"] = isset($settings["attach"])?$settings["attach"]:""; + $basic_settings["saycid"] = isset($settings["saycid"])?$settings["saycid"]:""; + $basic_settings["envelope"] = isset($settings["envelope"])?$settings["envelope"]:""; + $basic_settings["delete"] = isset($settings["delete"])?$settings["delete"]:""; + $basic_settings["callmenum"] = isset($settings["callmenum"])?$settings["callmenum"]:""; + unset($settings); + $settings = $basic_settings; + $display_settings["pwd"] = $acct_settings["pwd"]; + $display_settings["email"] = $acct_settings["email"]; + $display_settings["pager"] = $acct_settings["pager"]; + $display_settings["attach"] = $acct_settings["attach"]; + $display_settings["saycid"] = $acct_settings["saycid"]; + $display_settings["envelope"] = $acct_settings["envelope"]; + $display_settings["delete"] = $acct_settings["delete"]; + $display_settings["callmenum"] = $acct_settings["callmenum"]; + $opt_headings = $display_settings; + $opt_headings["pwd"] = _("Voicemail Password"); + $opt_headings["email"] = _("Email Address"); + $opt_headings["pager"] = _("Pager Email Address"); + $opt_headings["attach"] = _("Email Attachment"); + $opt_headings["saycid"] = _("Play CID"); + $opt_headings["envelope"] = _("Play Envelope"); + $opt_headings["delete"] = _("Delete Voicemail"); + $opt_headings["callmenum"] = _("Call-Me Number"); + } + $output .= $acct_title_links . $display_name_row; + + + foreach ($display_settings as $key => $descrip) { + $tooltip = isset($display_tips[$key])?$display_tips[$key]:""; + $len = ($descrip["len"] > 0)?$descrip["len"]:$dlen; + $id = $id_prefix . "__" . $key; + if (isset($settings[$key]) || ($version >= $descrip["ver"])) { + $val = isset($settings[$key])?$settings[$key]:""; + unset($settings[$key]); + $opt_name = ($action == "bsettings")?$opt_headings[$key]:$key; + $output .= ""; + /* check box or not */ + if ($descrip["type"] == "flag") { + switch ($val) { + case "yes": + $yes_selected = "checked=checked"; + $no_selected = ""; + $undef_selected = ""; + break; + case "no": + $yes_selected = ""; + $no_selected = "checked=checked"; + $undef_selected = ""; + break; + default: + $yes_selected = ""; + $no_selected = ""; + $undef_selected = "checked=checked"; + break; + } + $output .= ""; + } else { + $text_type = ($key == "pwd" || $key == "authpassword")?"password":"text"; + $output .= ""; + } + } + unset($id); + } + /* Any additional setting? */ + unset($settings["enabled"]); # ignore this value; we will not enable/disable from Voicemail + if (is_array($settings) && !empty($settings)) { + foreach ($settings as $key => $val) { + $id = $id_prefix . "__" . $key; + # no tooltip available + $output .= ""; + $output .= ""; + } + } + $update_notice = ($update_flag == false)?"  UPDATE FAILED":""; + $update_notice = ($update_flag == true)?"  UPDATE COMPLETED":""; + $output .= ""; + break; + case "usage": + /* Usage information and options available for system-wide, + and individual account views. + */ + $scope = voicemail_get_scope($extension); + if ($need_update) { + voicemail_update_usage($vmail_info, $context, $extension, $_REQUEST); + if (!empty($extension)) { + $url = "config.php?type=$type&display=$display&ext=$extension&action=$action&updated=true"; + } else { + $url = "config.php?type=$type&display=$display&action=$action&updated=true"; + } + redirect($url); + } + + voicemail_get_usage($vmail_info, $scope, $acts_total, $acts_act, $acts_unact, $disabled_count, + $msg_total, $msg_in, $msg_other, + $name, $unavail, $busy, $temp, $abandoned, + $storage, + $context, $extension); + $lp = ""; + if ($scope == "system") { + $output .= ""; + $accounts_row = ""; + $accounts_row .= ""; + $accounts_row .= ""; + + $msg_row = ""; + $msg_row .= ""; + $msg_row .= ""; + $msg_row .= ""; + + $name_row = ""; + $name_row .= ""; + $name_row .= ""; + $name_row .= ""; + + $unavail_row = ""; + $unavail_row .= ""; + $unavail_row .= ""; + $unavail_row .= ""; + + $busy_row = ""; + $busy_row .= ""; + $busy_row .= ""; + $busy_row .= ""; + + $temp_row = ""; + $temp_row .= ""; + $temp_row .= ""; + $temp_row .= ""; + + $abandoned_row = ""; + $abandoned_row .= ""; + $abandoned_row .= ""; + $abandoned_row .= ""; + + $storage_row = ""; + $storage_row .= ""; + $storage_row .= ""; + + $output .= $lp . $accounts_row . $msg_row . $name_row . $unavail_row . $busy_row . $temp_row . $abandoned_row . $storage_row; + } else { + $accounts_row = ""; + $output .= ""; + + $msg_row = ""; + $msg_row .= ""; + $msg_row .= ""; + $msg_row .= ""; + + /* Get timestamps, if applicable */ + $ts = voicemail_get_greeting_timestamps($name, $unavail, $busy, $temp, $context, $extension); + $name_ts = ($ts["name"] > 0)?$ts["name"]:""; + $unavail_ts = ($ts["unavail"] > 0)?$ts["unavail"]:""; + $busy_ts = ($ts["busy"] > 0)?$ts["busy"]:""; + $temp_ts = ($ts["temp"] > 0)?$ts["temp"]:""; + + /* Convert count of greetings to yes/no */ + $name = ($name > 0)?"" . _("yes") . "" . _("File timestamp: ") . $name_ts . "":_("no"); + $name_row = ""; + $name_row .= ""; + $name_row .= ""; + $name_row .= ""; + + $unavail = ($unavail > 0)?"" . _("yes") . "" . _("File timestamp: ") . $unavail_ts . "":_("no"); + $unavail_row = ""; + $unavail_row .= ""; + $unavail_row .= ""; + $unavail_row .= ""; + + $busy = ($busy > 0)?"" . _("yes") . "" . _("File timestamp: ") . $busy_ts . "":_("no"); + $busy_row = ""; + $busy_row .= ""; + $busy_row .= ""; + $busy_row .= ""; + + $temp = ($temp > 0)?"" . _("yes") . "" . _("File timestamp: ") . $temp_ts . "":_("no"); + $temp_row = ""; + $temp_row .= ""; + $temp_row .= ""; + $temp_row .= ""; + + # It is conceivable a user has more than one abandoned greeting. + $abandoned_row = ""; + $abandoned_row .= ""; + $abandoned_row .= ""; + $abandoned_row .= ""; + + $storage_row = ""; + $storage_row .= ""; + $storage_row .= ""; + + $output .= $lp . $msg_row . $name_row . $unavail_row . $busy_row . $temp_row . $abandoned_row . $storage_row; + } + + $update_notice = ($update_flag == false)?"  UPDATE FAILED":""; + $update_notice = ($update_flag == true)?"  UPDATE COMPLETED":""; + $output .= ""; + break; + default: + break; +} + +$output .= "
    $title
    " . _("System View Links:") . "     
    $settings_link  |  $usage_link  |  $tzone_link

    " . _("A timezone definition specifies how the Voicemail system announces the time.") . "
    " . _("For example, the time a message was left will be announced according to the user's timezone on message playback.") . "
    " . _("Entries below will be written to Voicemail configuration as-is.") . "
    " . _("Please be sure to follow the format for timezone definitions described below.") . "

    " . _("Name") . "

    " . $tooltips["tz"]["name"] . "

    " . _("Timezone Definition") . "

    " . $tooltips["tz"]["def"] . "
    "; + $output .= "
    $key"; + $output .= "      " . _("Delete") . "" . $tooltips["tz"]["del"] . "

    " . _("New Name") . "

    " . $tooltips["tz"]["name"] . "

    " . _("New Timezone Definition") . "

    " . $tooltips["tz"]["def"] . "
    " . $update_notice . "

    " . _("Timezone definition format is: ") . "  " . _("timezone|values") . "

    " . _("Timezones are listed in /usr/share/zoneinfo") . "
    " . _("The values supported in the timezone definition string include:") . "
    " . _("'filename'") . "" . _("The name of a sound file (the file name must be single-quoted)") . "
    " . _("variable") . "" . _("A variable to be substituted (see below for supported variable values)") . "
    " . _("Supported variables:") . "
    " . _("A or a") . "" . _("Day of week (Saturday, Sunday, ...)") . "
    " . _("B or b or h") . "" . _("Month name (January, February, ...)") . "
    " . _("d or e") . "" . _("numeric day of month (first, second, ..., thirty-first)") . "
    " . _("Y") . "" . _("Year") . "
    " . _("I or l") . "" . _("Hour, 12 hour clock") . "
    " . _("H") . "" . _("Hour, 24 hour clock (single digit hours preceded by \"oh\")") . "
    " . _("k") . "" . _("Hour, 24 hour clock (single digit hours NOT preceded by \"oh\")") . "
    " . _("M") . "" . _("Minute, with 00 pronounced as \"o'clock\"") . "
    " . _("N") . "" . _("Minute, with 00 pronounced as \"hundred\" (US military time)") . "
    " . _("P or p") . "" . _("AM or PM") . "
    " . _("Q") . "" . _("\"today\", \"yesterday\" or ABdY") . "
    " . _("q") . "" . _("\"\" (for today), \"yesterday\", weekday, or ABdY") . "
    " . _("R") . "" . _("24 hour time, including minute") . "
    " . _("Account View Links:") . "     
    " . _("Settings") . "  |  "; + $acct_title_links .= "" . _("Usage") . "  |  " . _("Advanced Settings") . "


    " . _("Account View Links:") . "     
    " . _("Settings") . "  |  "; + $acct_title_links .= "" . _("Usage") . "  |  " . _("Advanced Settings") . "

    " . _("Name") . "" . $tooltips["account"]["name"] . "    " . $display_name . "
    $opt_name$tooltip    " . _("yes"); + $output .= "" . _("no"); + $output .= "" . _("undefined") . "" . _("Selecting \"undefined\" will remove this option from the user's Voicemail configuration entry. (System default will be used.)") . "
        
    $key    
        " . $update_notice . "


    " . _("Number of Accounts:") . "" . _("Total ( Activated / Unactivated / Disabled )") . "    $acts_total  ( $acts_act / $acts_unact / $disabled_count )

    " . _("Number of Messages:") . "" . _("Total ( Messages in inboxes / Messages in other folders )") . "    $msg_total  ( $msg_in / $msg_other ) " . _("Delete") . "" . _("Remove all messages") . "

    " . _("Recorded Names:") . "" . _("Number of recorded name greetings") . "    $name " . _("Delete") . "" . _("Remove all recorded names") . "

    " . _("Unavailable Greetings:") . "" . _("Number of recorded unavailable greetings") . "    $unavail " . _("Delete") . "" . _("Remove all unavailable greetings") . "

    " . _("Busy Greetings:") . "" . _("Number of recorded busy greetings") . "    $busy " . _("Delete") . "" . _("Remove all busy greetings") . "

    " . _("Temporary Greetings:") . "" . _("Number of recorded temporary greetings") . "    $temp " . _("Delete") . "" . _("Remove all temporary greetings") . "

    " . _("Abandoned Greetings:") . "" . _("Number of abandoned greetings. Such greetings were recorded by the user but were NOT accepted, so the sound file remains on disk but is not used as a greeting.") . "    $abandoned " . _("Delete") . "" . _("Remove all abandoned greetings (> 1 day old)") . "

    " . _("Storage Used:") . "" . _("Disk space currently in use by Voicemail data") . "    $storage

    " . _("Account View Links:") . "
    " . _("Settings") . "  |  "; + $output .= "" . _("Usage") . "  |  " . _("Advanced Settings") . "

    " . _("Number of Messages:") . "" . _("Total ( Messages in inboxes / Messages in other folders )") . "       $msg_total  ( $msg_in / $msg_other ) " . _("Delete") . "" . _("Remove all messages") . "

    " . _("Recorded Name:") . "" . _("Has a recorded name greeting?") . "       $name " . _("Delete") . "" . _("Remove recorded name") . "   

    " . _("Unavailable Greeting:") . "" . _("Has a recorded unavailable greeting?") . "       $unavail " . _("Delete") . "" . _("Remove unavailable greeting") . "   

    " . _("Busy Greetings:") . "" . _("Has a recorded busy greeting?") . "       $busy " . _("Delete") . "" . _("Remove busy greeting") . "   

    " . _("Temporary Greeting:") . "" . _("Has a recorded temporary greeting?") . "       $temp " . _("Delete") . "" . _("Remove temporary greeting") . "

    " . _("Abandoned Greetings:") . "" . _("Number of abandoned greetings. Such greetings were recorded by the user but were NOT accepted, so the sound file remains on disk but is not used as a greeting.") . "    $abandoned " . _("Delete") . "" . _("Remove all abandoned greetings (> 1 day old)") . "

    " . _("Storage Used") . "" . _("Disk space currently in use by Voicemail data") . "    $storage

        " . $update_notice . "
    "; +$output .= ""; + +echo $output; +?> Index: /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/install.php =================================================================== --- /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/install.php (revision 11993) +++ /freepbx/tags/2.10.0beta1/amp_conf/htdocs/admin/modules/voicemail/install.php (revision 11993) @@ -0,0 +1,93 @@ +. +// Copyright (c) 2006, 2008, 2009 qldrob, rcourtna +// +//for translation only +if (false) { +_("Voicemail"); +_("My Voicemail"); +_("Dial Voicemail"); +_("Voicemail Admin"); +} + +global $astman; +global $amp_conf; + +$fcc = new featurecode('voicemail', 'myvoicemail'); +$fcc->setDescription('My Voicemail'); +$fcc->setDefault('*97'); +$fcc->update(); +unset($fcc); + +$fcc = new featurecode('voicemail', 'dialvoicemail'); +$fcc->setDescription('Dial Voicemail'); +$fcc->setDefault('*98'); +$fcc->setProvideDest(); +$fcc->update(); +unset($fcc); + +//1.6.2 +$ver = modules_getversion('voicemail'); +if ($ver !== null && version_compare($ver,'1.6.2','lt')) { //we have to fix existing users with wrong values for vm ticket #1697 + if ($astman) { + $sql = "select * from users where voicemail='disabled' or voicemail='';"; + $users = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + foreach($users as $user) { + $astman->database_put("AMPUSER",$user['extension']."/voicemail","\"novm\""); + } + } else { + echo _("Cannot connect to Asterisk Manager with ").$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]; + return false; + } + sql("update users set voicemail='novm' where voicemail='disabled' or voicemail='';"); +} + +// vmailadmin module functionality has been fully incporporated into this module +// so if it is installed we remove and delete it from the repository. +// +outn(_("checking if Voicemail Admin (vmailadmin) is installed..")); +$modules = module_getinfo('vmailadmin'); +if (!isset($modules['vmailadmin'])) { + out(_("not installed, ok")); +} else { + out(_("installed.")); + out(_("Voicemail Admin being removed and merged with Voicemail")); + outn(_("Attempting to delete..")); + $result = module_delete('vmailadmin'); + if ($result === true) { + out(_("ok")); + } else { + out($result); + } +} + +$freepbx_conf =& freepbx_conf::create(); + +// VM_SHOW_IMAP +// +$set['value'] = false; +$set['defaultval'] =& $set['value']; +$set['readonly'] = 0; +$set['hidden'] = 0; +$set['level'] = 3; +$set['module'] = 'voicemail'; +$set['category'] = 'Voicemail Module'; +$set['emptyok'] = 0; +$set['sortorder'] = 100; +$set['name'] = 'Provide IMAP Voicemail Fields'; +$set['description'] = 'Installations that have configured Voicemail with IMAP should set this to true so that the IMAP username and password fields are provided in the Voicemail setup screen for extensions. If an extension alread has these fields populated, they will be displayed even if this is set to false.'; +$set['type'] = CONF_TYPE_BOOL; +$freepbx_conf->define_conf_setting('VM_SHOW_IMAP',$set,true);