Index: /modules/branches/2.7/fw_fopsvn.pl =================================================================== --- /modules/branches/2.7/fw_fopsvn.pl (revision 8193) +++ /modules/branches/2.7/fw_fopsvn.pl (revision 8193) @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +# This script (sculpted from publish.pl) will check the last tarball (which must be there) +# based on the fw_fop xml version number and then run svn log against all updates since +# fw_fop was last published. +# +$rver = "2.6"; +$fwbranch = "branches/2.6"; +$fw_fop = "fw_fop"; + +$moddir = 'fw_fop'; + +my $reldir = "release/"; + + open FH, "$moddir/module.xml"; + $newxml = ""; + $vers = "unset"; + while () { + if ($vers == 'unset' && /(.+)<\/version>/) { $vers = $1; } + $newxml .= $_; + } + close FH; + + die "Don't know version of $moddir" if ($vers eq "unset"); + # Automatically check in any files that were modified but weren't checked into SVN + + # Now we know the version. Get the svnversion.txt from the last update. + $filename = "../../$reldir"."$rver/$fw_fop-$vers.tgz"; + print "CHECKING VERSION: ..... "; + #print "CHECKING VERSION WITH: tar -zxOf $filename $moddir/svnversion.txt: ... "; + system("tar -zxOf ".$filename." ".$moddir."/svnversion.txt"); + print "Geting svn log since that version for $rver : .... \n\n"; + $svnver = system("svn log http://svn.freepbx.org/freepbx/$fwbranch/amp_conf/htdocs_panel -r `tar -zxOf ".$filename." ".$moddir."/svnversion.txt | sed -e s/SVN\\\ VERSION://`:HEAD"); + Index: /modules/branches/2.7/findmefollow/i18n/sv_SE/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/sv_SE/LC_MESSAGES/findmefollow.po (revision 7250) +++ /modules/branches/2.7/findmefollow/i18n/sv_SE/LC_MESSAGES/findmefollow.po (revision 7250) @@ -0,0 +1,405 @@ +# 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 findmefollow\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-11-08 18:34+0100\n" +"PO-Revision-Date: 2008-11-08 18:39+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:385 +msgid "Edit Follow Me Settings" +msgstr "Redigera Följ-mig" + +#: functions.inc.php:388 +#: functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "LÀgg till Följ-mig" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "Följ-mig: %s (%s)" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "Följ-mig anvÀndare %s" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "StÀll om Följ-mig" + +#: install.php:141 +#: uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Kan inte koppla upp mot Asterisk hanterare" + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "Kontrollerar om inspelningar behöver migreras.." + +#: install.php:165 +msgid "migrating" +msgstr "migrerar" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "lÀgger till fÀltet annmsg_id.." + +#: install.php:170 +#: install.php:179 +#: install.php:188 +#: install.php:200 +#: install.php:216 +#: install.php:226 +#: install.php:242 +#: install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "allvarligt fel" + +#: install.php:173 +#: install.php:182 +#: install.php:191 +#: install.php:282 +#: install.php:290 +#: install.php:298 +msgid "ok" +msgstr "ok" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "LÀgger till fÀltet remotealert_id.." + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "lÀgger till fÀltet toolate_id" + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "migrerar annsmg till ids..." + +#: install.php:220 +#: install.php:246 +#: install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "migrerat %s poster" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "migrerar remotealerts till ids.." + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "migrerar toolate till ids.." + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "kastar fÀltet annmsg" + +#: install.php:280 +msgid "no annmsg field???" +msgstr "inget annmsg fÀlt???" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "kastar fÀltet remotealert" + +#: install.php:288 +msgid "no remotealert field???" +msgstr "inget remotealert fÀlt???" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "kastar fÀltet toolate.." + +#: install.php:296 +msgid "no toolate field???" +msgstr "inget toolate fÀlt???" + +#: install.php:302 +msgid "already migrated" +msgstr "redan migrerad" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "Varning! Anknytning" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "Àr inte tillåtet för din anknytning" + +#: page.findmefollow.php:121 +#: page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "Följ-mig" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "VÀlj en anvÀndare/anknytning:" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "borttagen" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "Ta bort val" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "AnvÀndare" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "Anknytning" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "Redigera %s" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "Redigera %s %s" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "Redigera Följ-mig" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "LÀgg till Följ-mig" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "gruppnummer" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "Nummer som ska anvÀndas för att ringa anknytningar i denna ringgrupp" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "Avaktivera" + +#: page.findmefollow.php:194 +msgid "By default (not checked) any call to this extension will go to this Follow-Me instead, including directory calls by name from IVRs. If checked, calls will go only to the extension.
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "Som standard (inte aktiverad) kommer alla samtal till denna anknytning gå till Följ-mig. Om den Àr aktiverad kommer samtalen bara att gå till denna anknytning.
Men, destinationer som anger Följ-mig kommer hit.
Aktivering av detta val anvÀnds ofta i samband med VmX Lokatorn, nÀr du vill att samtalet ska ringa denna anknytning, och endast om uppringaren vÀljer att hitta dig kommer den hit." + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "Ringtid" + +#: page.findmefollow.php:200 +msgid "This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. The extension can also be included in the follow-me list. A 0 setting will bypass this." +msgstr "Det antal sekunder som det ska ringa den primÀra anknytningen innan det ringer på Följ-mig listan, sÀtt 0 för att hoppa över denna tid. Denna anknytning kan vara inkluderad i Följ-mig listan." + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "Ringstrategi:" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "ringallv2" + +#: page.findmefollow.php:219 +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "Ring på den primÀra anknytningen den tid som anges i Ringtid, dÀrefter alla Följ-mig anknytningarna tills någon av dom svarar" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "ringall" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "Ring alla tillgÀngliga nummer tills någon svarar (standard)" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "hunt" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "Ring anknytningarna i tur och ordning" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "memoryhunt" + +#: page.findmefollow.php:222 +msgid "ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "Ring första numret i listan, sedan 1:a och 2:a, dÀrefter 1:a, 2:a och 3:e, ...... osv." + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "*-prim" + +#: page.findmefollow.php:223 +msgid "these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung" +msgstr "Gör som i lÀgena ovan. Men, om den primÀra anknytningen (första numret i listan) Àr upptagen, kommer inga andra nummer att ringas. Om den primÀra anknytningen Àr FreePBX Stör-ej kommer en inte att ringas. Om den primÀra FreePBX Konstant Vidarekopplad, kommer alla att ringas." + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "första tillgÀngliga" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "ring bara den första tillgÀngliga kanalen" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "första-inte-upptagen" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "ring bara den första kanalen som inte Àr upptagen - ignorera Samtal vÀntar" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "Ringtid (max 60 sek)" + +#: page.findmefollow.php:246 +msgid "Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "Tid i sekunder som telefonen kommer att ringa. För alla hunt-strategier Àr detta tiden för varje runda av telefoner som rings" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "Följ-mig lista" + +#: page.findmefollow.php:254 +msgid "List extensions to ring, one per line, or use the Extension Quick Pick below.

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "Lista anknytningar att ringa, en per rad, eller vÀlj i snabblistan nedan.

Du kan inkludera en anknytning på ett fjÀrrsystem, eller ett externt nummer genom att lÀgga till en fyrkant (#) i slutet på numret. T.ex. 040592400# kommer att ringa 040592400." + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "Snabblista med anknytningar" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "VÀlj en anknytning att lÀgga till sist i listan." + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "(vÀlj anknytning)" + +#: page.findmefollow.php:290 +#: page.findmefollow.php:308 +msgid "Announcement:" +msgstr "Meddelande:" + +#: page.findmefollow.php:290 +msgid "Message to be played to the caller before dialing this group.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Meddelande som ska spelas upp för uppringaren innan det kommer att ringa denna grupp.

För att lÀgga till inspelningar, vÀlj \"Systeminspelningar\" i menyn till vÀnster." + +#: page.findmefollow.php:296 +msgid "None" +msgstr "Inget" + +#: page.findmefollow.php:308 +msgid "Message to be played to the caller before dialing this group.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Meddelande som kommer att spelas upp för uppringaren innan det ringer denna grupp.

Du måste ha installerat och aktiverat modulen \"Systeminspelningar\" för att redigera detta val." + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "Spela Pausmusik?" + +#: page.findmefollow.php:319 +msgid "If you select a Music on Hold class to play, instead of 'Ring', they will hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "Om du valt Pausmusik i stÀllet för 'Ring' kommer uppringaren att höra musik i stÀllet för ringljud under tiden de vÀntar på att samtalet ska besvaras." + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "Ring" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "Prefix för nummerpresentation" + +#: page.findmefollow.php:338 +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" on the extensions that ring." +msgstr "Du kan vÀlja att skriva in ett prefix för nummerpresentation för anknytningarna i denna grupp. Om du valt att skriva \"Support\", kommer det att för ett samtal från 040123456 att stå \"Support:040123456\" på alla uppringda anknytningars textfönster." + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "Alertinfo" + +#: page.findmefollow.php:343 +msgid "You can optionally include an Alert Info which can create distinctive rings on SIP phones." +msgstr "Du kan valfritt ange en Alertinfo som anvÀnds för att låta SIP-telefoner ringa annan signal." + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "BekrÀfta samtal" + +#: page.findmefollow.php:348 +msgid "Enable this if you're calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "Aktivera detta om du ringer externa nummer som du vill ha bekrÀftelse från, t.ex. en mobiltelefon som ingen svarar i kommer att gå till röstbrevlådan som i sin tur kommer att svara på samtalet. Aktivering av detta val krÀver att den uppringda trycker siffran 1 innan samtalet kopplas upp. Denna funktion fungerar bara med ringall/ringall-prim strategierna." + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "FjÀrrmeddelande:" + +#: page.findmefollow.php:356 +msgid "Message to be played to the person RECEIVING the call, if 'Confirm Calls' is enabled.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "Meddelande att spela upp för den UPPRINGDE om 'BekrÀfta samtal' Àr aktiverat.

För att lÀgga till inspelningar vÀljer du \"Systeminspelningar\" i menyn till vÀnster." + +#: page.findmefollow.php:362 +#: page.findmefollow.php:379 +msgid "Default" +msgstr "Standard" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "För-sent meddelande" + +#: page.findmefollow.php:373 +msgid "Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "Meddelande att spela upp för den UPPRINGDE, om samtalet redan har besvarats av annan part, innan denna uppringda har tryckt 1.

För att lÀgga till inspelningar vÀljer du \"Systeminspelningar\"i menyn till vÀnster." + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "Destination vid inget svar" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "Ogiltigt gruppnummer angivet" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "Skriv in en anknytningslista" + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "Ogiltig prefix. GodkÀnda tecken Àr a-z A-Z 0-9 : _ -" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "Ogiltig tid angiven" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "Tiden mÃ¥ste vara mellan 1 till 60 sekunder" + +#: page.findmefollow.php:431 +msgid "Only ringall, ringallv2, hunt and the respective -prim versions are supported when confirmation is checked" +msgstr "Endast ringall, ringallv2, hunt och respektive -prim stöds nÀr bekrÀftelse krÀvs" + Index: /modules/branches/2.7/findmefollow/i18n/bg_BG/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/bg_BG/LC_MESSAGES/findmefollow.po (revision 7273) +++ /modules/branches/2.7/findmefollow/i18n/bg_BG/LC_MESSAGES/findmefollow.po (revision 7273) @@ -0,0 +1,411 @@ +# 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-05 23:10+0200\n" +"PO-Revision-Date: 2008-11-08 22:53+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:385 +msgid "Edit Follow Me Settings" +msgstr "РеЎактОрай НастрПйкО Ма СлеЎвай Ме" + +#: functions.inc.php:388 +#: functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "ДПбавО НастрПйкО Ма СлеЎвай Ме" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "СлеЎвай Ме: %s (%s)" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "СлеЎвай Ме: %s" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "ПревключО СлеЎвай Ме" + +#: install.php:141 +#: uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Не ЌПга Ўа се свържа с АстерОск Manager с" + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "ПрПверка ЎалО запОсОте ОЌат МужЎа Пт преЌестваМе.." + +#: install.php:165 +msgid "migrating" +msgstr "преЌестваМе" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "ЎПбаваМе Ма annmsg_id пПле.." + +#: install.php:170 +#: install.php:179 +#: install.php:188 +#: install.php:200 +#: install.php:216 +#: install.php:226 +#: install.php:242 +#: install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "фаталМа грешка" + +#: install.php:173 +#: install.php:182 +#: install.php:191 +#: install.php:282 +#: install.php:290 +#: install.php:298 +msgid "ok" +msgstr "ok" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "ЎПбаваМе Ма remotealert_id пПле.." + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "ЎПбаваМе Ма toolate_id пПле.." + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "преЌестваМе къЌ id Ма annmsg.." + +#: install.php:220 +#: install.php:246 +#: install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "преЌестеМО %s въвежЎаМОя" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "преЌестваМе къЌ id Ма remotealert.." + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "преЌестваМе къЌ id Ма toolate.." + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "Ð¿Ñ€ÐµÐŒÐ°Ñ +ваМе Ма пПле annmsg.." + +#: install.php:280 +msgid "no annmsg field???" +msgstr "МяЌа annmsg пПле???" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "Ð¿Ñ€ÐµÐŒÐ°Ñ +ваМе Ма пПле remotealert.." + +#: install.php:288 +msgid "no remotealert field???" +msgstr "МяЌа remotealert пПле???" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "Ð¿Ñ€ÐµÐŒÐ°Ñ +ваМе Ма пПле toolate.." + +#: install.php:296 +msgid "no toolate field???" +msgstr "МяЌа toolate пПле???" + +#: install.php:302 +msgid "already migrated" +msgstr "вече са преЌестеМО" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "ВМОЌаМОе! ВътрешМа ЛОМОя" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "Ме е разрешеМа за вашОя акауМт" + +#: page.findmefollow.php:121 +#: page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "СлеЎвай Ме" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "Изберете пПтребОтел/вътрешМа лОМОя:" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "ОзтрОт" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "ИзтрОй ВъвежЎаМетП" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "ППтребОтел" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "ВътрешМа ЛОМОя" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "РеЎактОрай %s" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "РеЎактОрай %s %s" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "РеЎактОрай СлеЎвай Ме" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "ДПбавО СлеЎвай Ме" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "МПЌера Ма групата" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "НПЌерът кПйтП пПтребОтелОте ще ОзбОрат за звъМеМе Ма вътрешМОте лОМОО в тазО група." + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "ЗабраМО" + +#: page.findmefollow.php:194 +msgid "By default (not checked) any call to this extension will go to this Follow-Me instead, including directory calls by name from IVRs. If checked, calls will go only to the extension.
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "ПП-пПЎразбОраМе (МеЌаркОраМП) всОчкО ПбажЎаМОя къЌ тазО вътрешМа лОМОя ще ПтОват къЌ тПзО СлеЎвай Ме, включОтелМП ПбажЎаМОя в ЎОректПрОя пП ОЌе Пт IVR. АкП е ЌаркОраМП, ПбажЎаМОята ще ПтОват саЌП къЌ вътрешМата лОМОя.
Обаче, МаправлеМОята кПОтП са МасПчеМО къЌ СлеЎвай Ме ще ОЎват тук.
МаркОраМетП Ма тазО ПтЌетка честП се ОзпПлзва съвЌестМП с ГласПва ППща VmX НаЌерО Ме, прО кПетП Оскате ПбажЎаМетП Ўа звъМО Ма вътрешМата лОМОя, слеЎ кПетП саЌП акП ПбажЎащОят се Озбере Ўа вО МаЌерО ще се Ð¿Ñ€ÐµÑ +върлО тук." + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "ПървПМачалМП ВреЌе Ма ЗвъМеМе:" + +#: page.findmefollow.php:200 +msgid "This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. The extension can also be included in the follow-me list. A 0 setting will bypass this." +msgstr "КПлкП секуМЎО Ўа звъМО ПсМПвМата вътрешМа лОМОя преЎО Ўа прПЎължО къЌ слеЎвай Ќе спОсъка. ВътрешМата лОМОя ЌПже същП Ўа се ЎПбавО в слеЎвай Ќе спОсъка. УстаМПвяваМетП Ма 0 ще прескПчО тПва." + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "СтратегОя Ма ЗвъМеМе:" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "звъМО Ма всОчкО версОя 2" + +#: page.findmefollow.php:219 +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "ЗвъМО първПМачалМП Ма ПсМПвМата вътрешМа лОМОя пПслеЎваМП Пт звъМеМе Ма всОчкО ЎПстъпМО каМалО ЎПкатП ПтгПвПрят " + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "звъМО Ма всОчкО" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "ЗвъМО Ма всОчкО ЎПстъпМО каМалО ЎПкатП ПтгПвПрят (пП-пПЎразбОраМе)" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "преслеЎваМе" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "ВъртО звъМеМетП пП всОчкО ЎПстъпМО вътрешМО лОМОО" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "преслеЎваМе с запПЌМяМе" + +#: page.findmefollow.php:222 +msgid "ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "ЗвъМО Ма първата свПбПЎМа вътрешМа лОМОя Пт спОсъка, слеЎ тПва Ма 1-та О 2-та, слеЎ тПва Ма 1-та, 2-та О 3-та вътрешМа лОМОя в спОсъка... О т.М." + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "*-ПсМПвМа" + +#: page.findmefollow.php:223 +msgid "these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung" +msgstr "ТПзО режОЌ е катП ПпОсаМОя пП-гПре. СаЌП че акП ПсМПвМата вътрешМа лОМОя (първата в спОсъка) е заета, ЎругОте вътрешМО лОМОО МяЌа Ўа звъМят. АкП ПсМПвМата е FreePBX DND, МяЌа Ўа звъМО. АкП ПсМПвМата е безуслПвеМ FreePBX CF, тПгава всОчкО ще звъМят" + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "първОя свПбПЎеМ" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "звъМО саЌП Ма първОя свПбПЎеМ каМал" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "първОя Ме Ма телефПМа" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "звъМО саЌП Ма първОя каМал кПйтП Ме е ПтвПреМ - ОгМПрОра CW" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "ВреЌе Ма ЗвъМеМе (max 60 секуМЎО):" + +#: page.findmefollow.php:246 +msgid "Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "ВреЌетП в секуМЎО за кПетП телефПМа ще звъМО. За всОчкО тОпПве преслеЎваМе за стратегОО Ма звъМеМе, тПва е вреЌетП за всякП пПвтПреМОе Ма телефПМа(Оте) кПОтП звъМят" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "СлеЎвай Ме СпОсък" + +#: page.findmefollow.php:254 +msgid "List extensions to ring, one per line, or use the Extension Quick Pick below.

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "СпОсък с вътрешМО лОМОО за звъМеМе, еЎМа Ма лОМОя, ОлО ОзпПлзвайте БързП ИзбОраМе Ма ВътрешМО ЛОМОО пП-ЎПлу за Ўа гО ЎПбавОте тук.

МПжете Ўа включОте вътрешМа лОМОя Пт ПтЎалечеМа сОстеЌа, ОлО въМшеМ МПЌер чрез ЎПбавяМе Ма Маставка '#'. НапрОЌер: 2448089# ще ОзбОра 2448089 Пт съПтветМата въМшМа лОМОя (вОж Ð˜Ð·Ñ +ПЎящО МаршрутО)" + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "БързП ИзбОраМе Ма ВътрешМО ЛОМОО" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "Изберете вътрешМа лОМОя за пПставяМе в края Ма спОсъка пП-гПре." + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "(ОзберО вътрешМа лОМОя)" + +#: page.findmefollow.php:290 +#: page.findmefollow.php:308 +msgid "Announcement:" +msgstr "СъПбщеМОе:" + +#: page.findmefollow.php:290 +msgid "Message to be played to the caller before dialing this group.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПбажЎащОя се преЎО Ўа се Мабере групата.

За Ўа ЎПбавОте ЎПпълМОтелМО запОсО, ЌПля ОзпПлзвайте МеМю \"СОстеЌМО ЗапОсО\" ПтлявП" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "НяЌа" + +#: page.findmefollow.php:308 +msgid "Message to be played to the caller before dialing this group.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПбажЎащОя се преЎО Ўа се Мабере групата.

Трябва Ўа сте ОМсталОралО О разрешОлО МПЎул \"СОстеЌМО ЗапОсО\" за Ўа реЎактОрате тазО ПпцОя" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "ПускаМе Ма МузОка прО ЗаЎържаМе?" + +#: page.findmefollow.php:319 +msgid "If you select a Music on Hold class to play, instead of 'Ring', they will hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "АкП Озберете категПрОя Ма МузОка ПрО ЗаЎържаМе за възпрПОзвежЎаМе вЌестП ЗвъМеМе, те ще чуват тПва вЌестП ЗвъМеМе ЎПкатП чакат МякПй Ўа ПгПвПрО." + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "ЗвъМеМе" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "ПрефОкс Ма CID ИЌе" + +#: page.findmefollow.php:338 +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" on the extensions that ring." +msgstr "МПжете Ўа ЎПбавОте префОкс Ма Caller ID ОЌетП кПгатП звъМОте Ма вътрешМОте лОМОО в тазО група. НапрОЌер: ПрефОкс \"ПрПЎажбО:\", ПбажЎаМетП Пт ИваМ ИваМПв ще се пПказва \"ПрПЎажбО:ИваМ ИваМПв\" Ма вътрешМОте лОМОО кПОтП звъМят." + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "ИМфПрЌацОя за СОгМал" + +#: page.findmefollow.php:343 +msgid "You can optionally include an Alert Info which can create distinctive rings on SIP phones." +msgstr "ALERT_INFO ЌПже Ўа се ОзпПлзва за разлОчМП звъМеМе прО МякПО SIP устрПйства." + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "ППтвърЎО ОбажЎаМОята" + +#: page.findmefollow.php:348 +msgid "Enable this if you're calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "Разрешете акП вО се ПбажЎат въМшМО МПЌера кПОтП се МужЎаят Пт пПтвържЎеМОе - МапрОЌер ЌПбОлеМ телефПМ ЌПже Ўа ПтОЎе къЌ гласПвата пПща кПятП Ўа ПтгПвПрО Ма ПбажЎаМетП. РазрешаваМетП ОзОсква Пт ПтсрещМата страМа Ўа Маберат 1 преЎО ПбажЎаМетП Ўа се ЎПставО. ТазО услуга рабПтО саЌП със звъМО Ма всОчкО/звъМО Ма всОчкО - ПсМПвМа стратегОя." + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "КраткП СъПбщеМОе:" + +#: page.findmefollow.php:356 +msgid "Message to be played to the person RECEIVING the call, if 'Confirm Calls' is enabled.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПРИЕМАЩИЯ ПбажЎаМетП, акП ППтвърЎО ОбажЎаМОята е ЌаркОраМП.

За Ўа ЎПбавОте ЎПпълМОтелМО запОсО, ЌПля ОзпПлзвайте МеМю \"СОстеЌМО ЗапОсО\" ПтлявП" + +#: page.findmefollow.php:362 +#: page.findmefollow.php:379 +msgid "Default" +msgstr "ПП-ППЎразбОраМе" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "ММПгП-КъсМП СъПбщеМОе:" + +#: page.findmefollow.php:373 +msgid "Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПРИЕМАЩИЯ ПбажЎаМетП, акП ПбажЎаМетП вече е бОлП прОетП преЎО те Ўа МатОсМат 1.

За Ўа ЎПбавОте ЎПпълМОтелМО запОсО, ЌПля ОзпПлзвайте МеМю \"СОстеЌМО ЗапОсО\" ПтлявП" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "НаправлеМОе акП Ме е ПтгПвПреМП" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "НеправОлМП ПпреЎелеМ НПЌер Ма Група." + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "МПля въвеЎете спОсъка с вътрешМО лОМОО." + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "НеправОле префОкс. ППзвПлеМОте сОЌвПлО са: a-z A-Z 0-9 : _ -" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "НеправОлМП въвеЎеМП вреЌе" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "Трябва Ўа е ЌежЎу 1 О 60 секуМЎО" + +#: page.findmefollow.php:431 +msgid "Only ringall, ringallv2, hunt and the respective -prim versions are supported when confirmation is checked" +msgstr "СаЌП ringall, ringallv2, hunt О съПтветМОте - ПсМПвМа версОО се пПЎЎържат кПгатП е ЌаркОраМП пПтвържЎеМОетП" + Index: /modules/branches/2.7/findmefollow/i18n/he_IL/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/he_IL/LC_MESSAGES/findmefollow.po (revision 3441) +++ /modules/branches/2.7/findmefollow/i18n/he_IL/LC_MESSAGES/findmefollow.po (revision 3441) @@ -0,0 +1,209 @@ +# Hebrew version for Find Me Follow FreePBX Module. +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-10-17 17:20+0300\n" +"PO-Revision-Date: 2006-10-17 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.findmefollow.php:65 +msgid "Warning! Extension" +msgstr "אזה׹ה! שלוחה" + +#: page.findmefollow.php:65 +msgid "is not allowed for your account" +msgstr "אינה מוךשית עבוך חשבונך" + +#: page.findmefollow.php:101 +msgid "$gresult[1]" +msgstr "" + +#: page.findmefollow.php:112 page.findmefollow.php:115 +#: page.findmefollow.php:144 +msgid "Follow Me" +msgstr "עקוב אח׹י" + +#: page.findmefollow.php:115 +msgid "deleted" +msgstr "נמחק" + +#: page.findmefollow.php:141 +msgid "Delete Entries" +msgstr "מחק ךשומות" + +#: page.findmefollow.php:166 +msgid "Edit Follow Me" +msgstr "עךוך עקוב אח׹י" + +#: page.findmefollow.php:166 +msgid "Add Follow Me" +msgstr "הוסף עקוב אח׹י" + +#: page.findmefollow.php:174 +msgid "group number" +msgstr "מס׀ך קבושה" + +#: page.findmefollow.php:174 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "המס׀ך שאליו משתמשים יחייגו כדי לחייג לשלוחות בקבו׊ת שלשול זו" + +#: page.findmefollow.php:180 +msgid "Initial Ring Time:" +msgstr "זמן שלשול ךאשוני:" + +#: page.findmefollow.php:181 +msgid "" +"This is the number of seconds to ring the primary extension prior to " +"proceeding to the follow-me list. The extension can also be included in the " +"follow-me list. A 0 setting will bypass this." +msgstr "מס׀ך השניות שיש לשלשל לשלוחה הךאשית ל׀ני שממשיכים לךשימת העקוב-אח׹י. השלוחה יכולה להיכלל גם בךשימת העקוב-אח׹י. הגדךת 0 תעקוף זאת." + +#: page.findmefollow.php:199 +msgid "ring strategy:" +msgstr "אסטךטגיית שלשול:" + +#: page.findmefollow.php:201 +msgid "ringall" +msgstr "שלשל בכל השלוחות" + +#: page.findmefollow.php:201 +msgid "ring all available channels until one answers (default)" +msgstr "שלשל בכל העךו׊ים הזמינים עד שמישהו יענה (בךיךת מחדל)" + +#: page.findmefollow.php:202 +msgid "hunt" +msgstr "שיד" + +#: page.findmefollow.php:202 +msgid "take turns ringing each available extension" +msgstr "עבוך בתוך ושלשל בכל שלוחה זמינה" + +#: page.findmefollow.php:203 +msgid "memoryhunt" +msgstr "שיד עם זיכ׹ון" + +#: page.findmefollow.php:203 +msgid "" +"ring first extension in the list, then ring the 1st and 2nd extension, then " +"ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "שלשל לשלוחה הךאשונה בךשימה, לאח׹ מכן שלשל לךאשונה ולשנייה, לאח׹ מכן לךאשונה לשנייה ולשלישית, וכך הלאה." + +#: page.findmefollow.php:204 +msgid "*-prim" +msgstr "" + +#: page.findmefollow.php:204 +msgid "" +"these modes act as described above. However, if the primary extension (first " +"in list) is occupied, the other extensions will not be rung. If the primary " +"is freepbx DND, it won't be run. If the primary is freepbx CF unconditional, " +"then all will be rung" +msgstr "משבים אלו יתנהגו כמתואך לעיל. אך, אם השלוחה הךאשית (הךאשונה בךשימה) נמ׊את בשימוש, לא יהיה שלשול לשלוחות האחךות. אם השלוחה הךאשית מוגדךת במשב נא-לא-לה׀ךיע, כנ\"ל. אם השלוחה הךאשית מוגדךת במעךכת במשב עקוב-אח׹י-בכל-משב, אזי כל השלוחות ת׊ל׊לנה." + +#: page.findmefollow.php:220 +msgid "Alert Info" +msgstr "מידע התךאה" + +#: page.findmefollow.php:224 +msgid "Confirm Calls" +msgstr "אשך שיחות" + +#: page.findmefollow.php:225 +msgid "System Recordings not installed. Option Disabled" +msgstr "מודול הקלטות מעךכת לא מותקן. הא׀שךות מבוטלת" + +#: page.findmefollow.php:231 +msgid "Remote Announce:" +msgstr "הכ׹זה למ׹וחק:" + +#: page.findmefollow.php:231 +msgid "" +"Message to be played to the person RECEIVING the call, if 'Confirm Calls' is " +"enabled.

To add additional recordings use the \"System Recordings\" " +"MENU to the left" +msgstr "הודעה אשך תושמע לאדם שמקבל את השיחה, אם הא׀שךות 'אשך שיחות' מו׀עלת.

כדי להוסיף הקלטות נוס׀ות, השתמש בת׀ךיט \"הקלטות מעךכת\" שב׊ד שמאל" + +#: page.findmefollow.php:237 page.findmefollow.php:254 +#: page.findmefollow.php:298 +msgid "None" +msgstr "אין" + +#: page.findmefollow.php:248 +msgid "Too-Late Announce:" +msgstr "הכךזת יותך-מדי-מאוח׹:" + +#: page.findmefollow.php:248 +msgid "" +"Message to be played to the person RECEIVING the call, if the call has " +"already been accepted before they push 1.

To add additional " +"recordings use the \"System Recordings\" MENU to the left" +msgstr "הודעה שתושמע לאדם שמקבל את השיחה, אם השיחה כב׹ התקבלה ל׀ני שהוא לחץ 1.

כדי להוסיף הקלטות נוס׀ות, השתמש בת׀ךיט \"הקלטות מעךכת\" שב׊ד שמאל" + +#: page.findmefollow.php:266 +msgid "extension list" +msgstr "ךשימת שלוחות" + +#: page.findmefollow.php:266 +msgid "" +"List extensions to ring, one per line.

You can include an extension " +"on a remote system, or an external number by suffixing a number with a pound " +"(#). ex: 2448089# would dial 2448089 on the appropriate trunk (see " +"Outbound Routing)." +msgstr "ךשימת שלוחות שיש לשלשל אליהן, אחת בשוךה.

אתה יכול לכלול שלוחה על מעךכת מךוחקת, או מס׀ך חישוני, על ידי הקדמת המס׀ך בסולמית (#). לדוגמא: #2448089 יחייג למס׀ך 2448089 ד׹ך מסוף הישיאה המתאים (׹אה ניתוב החושה)" + +#: page.findmefollow.php:281 +msgid "CID name prefix" +msgstr "קידומת שם זיהוי שיחות" + +#: page.findmefollow.php:287 +msgid "ring time (max 60 sec)" +msgstr "זמן שלשול (מקס 60 שניות)" + +#: page.findmefollow.php:292 page.findmefollow.php:310 +msgid "announcement:" +msgstr "הכ׹זה:" + +#: page.findmefollow.php:292 +msgid "" +"Message to be played to the caller before dialing this group.

To add " +"additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "הודעה שתושמע למתקשך ל׀ני החיוג לקבושה זו.

כדי להוסיף הקלטות נוס׀ות, אנא השתמש בת׀ךיט \"הודעות מעךכת\" אשך בשד שמאל" + +#: page.findmefollow.php:310 +msgid "" +"Message to be played to the caller before dialing this group.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "הודעה אשך תושמע למתקשך ל׀ני החיוג לקבושה זו.

אתה חייב להתקין ולה׀עיל את המודול \"הקלטות מעךכת\" כדי לעךוך א׀שךות זו" + +#: page.findmefollow.php:320 +msgid "Play Music On Hold?" +msgstr "נגן מוסיקת המתנה?" + +#: page.findmefollow.php:320 +msgid "" +"If you select a Music on Hold class to play, instead of 'Ring', they will " +"hear that instead of Ringing while they are waiting for someone to pick up. " +"Note this DOES NOT WORK with call confirmation, due to limitations of " +"Asterisk" +msgstr "אם תבחך סוג מוסיקה לנגינה, במקום 'שלשול', הם ישמעו מוסיקה זו במקום שלשול בזמן שהם ממתינים שמישהו י׹ים את הטל׀ון. שים לב שזה לא עובד עם אישוך שיחות, בגלל מגבלות של אסטךיסק" + +#: page.findmefollow.php:326 +msgid "Ring" +msgstr "שלשול" + +#: page.findmefollow.php:338 +msgid "Destination if no answer" +msgstr "יעד אם אין מענה" + +#: install.php:67 uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "לא משליח להתחבך למנהל האסטךיסק עם " Index: /modules/branches/2.7/findmefollow/i18n/zh_CN/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/zh_CN/LC_MESSAGES/findmefollow.po (revision 7440) +++ /modules/branches/2.7/findmefollow/i18n/zh_CN/LC_MESSAGES/findmefollow.po (revision 7440) @@ -0,0 +1,442 @@ +# 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-11-08 18:34+0100\n" +"PO-Revision-Date: 2009-01-31 11:58+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:385 +msgid "Edit Follow Me Settings" +msgstr "猖蟑“跟我来”盞å +³è®Ÿçœ®" + +#: functions.inc.php:388 +#: functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "添加“跟我来”盞å +³è®Ÿçœ®" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "“跟我来”列衚%s (%s)" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "“跟我来”甚户%s" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "切换“跟我来”" + +#: install.php:141 +#: uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "无法连接到Asterisk管理噚" + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "正圚检查圕音是吊需芁迁移。。。" + +#: install.php:165 +msgid "migrating" +msgstr "正圚迁移" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "正圚添加annmsg_id字段。。。" + +#: install.php:170 +#: install.php:179 +#: install.php:188 +#: install.php:200 +#: install.php:216 +#: install.php:226 +#: install.php:242 +#: install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "臎呜错误" + +#: install.php:173 +#: install.php:182 +#: install.php:191 +#: install.php:282 +#: install.php:290 +#: install.php:298 +msgid "ok" +msgstr "完成" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "正圚添加remotealert_id字段。。。" + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "正圚添加toolate_id字段。。。" + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "正圚把annmsg迁移到ids。。。" + +#: install.php:220 +#: install.php:246 +#: install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "迁移了%s䞪项目" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "正圚将remotealert迁移到ids。。。" + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "正圚将toolate迁移到ids。。。" + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "正圚删陀annmsg字段。。。" + +#: install.php:280 +msgid "no annmsg field???" +msgstr "annmsg䞍存圚" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "正圚删陀remotealert字段。。。" + +#: install.php:288 +msgid "no remotealert field???" +msgstr "remotealert字段䞍存圚" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "正圚删陀toolate字段。。。" + +#: install.php:296 +msgid "no toolate field???" +msgstr "toolate字段䞍存圚" + +#: install.php:302 +msgid "already migrated" +msgstr "已经迁移过了" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "譊告䜠的垐户无法䜿甚分机" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr " " + +#: page.findmefollow.php:121 +#: page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "跟我来" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "选择䞀䞪甚户/分机" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "以删陀" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "删陀项目" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "甚户" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "譊告䜠的垐户无法䜿甚分机" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "猖蟑 %s" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "猖蟑 %s %s" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "猖蟑“跟我来”" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "添加“跟我来”" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "组号码" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "甚户拚打歀号码以呌叫这䞪拚号小组䞭的分机" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "穁甹" + +#: page.findmefollow.php:194 +msgid "By default (not checked) any call to this extension will go to this Follow-Me instead, including directory calls by name from IVRs. If checked, calls will go only to the extension.
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "åœšé»˜è®€æƒ +å†µäž‹ïŒˆåŠ‚æžœäžé’©é€‰æ­€é¡¹ïŒ‰ïŒŒæ‰€æœ‰åˆ°è¿™äžªåˆ†æœºçš„å‘Œå«ïŒˆåŒ +括IVR按目圕䞭的名字蜬过来的呌叫郜䌚蜬到“跟我来”。劂果钩选了歀项呌叫只䌚蜬到分机。
然而以“跟我来”䜜䞺目的地的呌叫䌚被蜬到这里。
这䞪讟眮垞垞䞎VmXå®šäœå™šäž€èµ·äœ¿ç”šã€‚è¿™ç§æƒ +况䞋呌叫郜䌚打到分机去只有对方明确指定芁扟䜠才䌚被匕富到这里。" + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "初始振铃时闎" + +#: page.findmefollow.php:200 +msgid "This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. The extension can also be included in the follow-me list. A 0 setting will bypass this." +msgstr "è¿™æ˜¯åœšèœ¬åˆ°â€œè·Ÿæˆ‘æ¥â€åˆ—è¡šä¹‹å‰ïŒŒäž»åˆ†æœºå“é“ƒçš„ç§’æ•°ã€‚åˆ†æœºä¹Ÿå¯ä»¥è¢«åŒ +含圚“跟我来”列衚里。讟眮䞺0将応略歀功胜。" + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "振铃策略" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "å +šéƒšå“é“ƒ2" + +#: page.findmefollow.php:219 +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "驖å +ˆäœ¿äž»åˆ†æœºå“é“ƒïŒŒè¶ +过初试振铃时闎后所有的附加分机响铃盎到å +¶äž­äž€äžªæŽ¥å¬" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "å +šéƒšå“é“ƒ" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "å +šéƒšå¯ç”šé¢‘道郜响铃盎到å +¶äž­äž€äžªæŽ¥å¬ïŒˆé»˜è®€è®Ÿçœ®ïŒ‰" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "搜寻" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "圚可甚的分机䞊蜮流响铃" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "记忆性搜寻" + +#: page.findmefollow.php:222 +msgid "ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "驖å +ˆäœ¿åˆ—衚䞭第䞀䞪分机响铃然后是第䞀䞪和第二䞪响接着是第䞀、二、䞉䞪响。。。以次类掚。" + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "䟝从䞻分机策略名-prim" + +#: page.findmefollow.php:223 +msgid "these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung" +msgstr "这些暡匏按䞊述的方匏工䜜。然而劂果䞻分机列衚䞭的第䞀䞪占线å +¶ä»–的分机就䞍䌚响铃。劂果䞻分机是讟眮了å +æ‰“扰它就䞍䌚振铃。劂果䞻分机讟眮了无条件蜬移呌叫那么所有的分机䌚响铃" + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "銖䞪可甚频道" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "只圚第䞀䞪可甚的频道响铃" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "銖䞪未犻钩频道" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "åªåœšç¬¬äž€äžªäžæ˜¯çŠ»é’©çŠ¶æ€äž‹çš„é¢‘é“å“é“ƒâ€”â€”å¿œç•¥å‘Œå«ç­‰åŸ +" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "振铃时闎最倚60秒" + +#: page.findmefollow.php:246 +msgid "Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "电话响铃的秒数。对于所有的搜寻匏的响铃策略这是每次搜寻出的电话的响铃的时闎。" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "“跟我来”列衚" + +#: page.findmefollow.php:254 +msgid "List extensions to ring, one per line, or use the Extension Quick Pick below.

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "åˆ—å‡ºäº†èŠå“é“ƒçš„åˆ†æœºïŒŒäž€è¡Œäž€äžªïŒŒæˆ–è€ +䜿甚䞋面的“快速分机选取”功胜。

äœ å¯ä»¥åŒ +å«äž€äžªè¿œçš‹ç³»ç»ŸäžŠçš„åˆ†æœºïŒŒæˆ–è€ +圚分机号之后添加井号#ïŒ‰ä»¥åŒ +含䞀䞪倖郚分机。䟋劂2448089#䌚圚合适的䞭继可参考出局线路䞊拚打2448089。" + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "快速分机选取" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "选择䞀䞪分机以添加到䞊面的分机列衚的末尟。" + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "选取分机" + +#: page.findmefollow.php:290 +#: page.findmefollow.php:308 +msgid "Announcement:" +msgstr "通告" + +#: page.findmefollow.php:290 +msgid "Message to be played to the caller before dialing this group.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "圚拚打这䞪小组之前芁播攟给䞻叫的消息。

芁添加额倖的圕音请䜿甚巊蟹的“系统圕音”菜单" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "无" + +#: page.findmefollow.php:308 +msgid "Message to be played to the caller before dialing this group.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "圚拚打这䞪小组之前芁播攟给䞻叫的消息。

è¯·å®‰è£ +并启甚“系统圕音”暡块以猖蟑这䞪选项" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "æ’­æ”Ÿç­‰åŸ +音乐" + +#: page.findmefollow.php:319 +msgid "If you select a Music on Hold class to play, instead of 'Ring', they will hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "åŠ‚æžœäœ é€‰æ‹©äº†äž€äžªç­‰åŸ +éŸ³ä¹ç±»åˆ«ïŒŒè€Œäžæ˜¯â€œæŒ¯é“ƒâ€ïŒŒå‘Œå«è€ +åœšç­‰åŸ +接听的时候䌚听到音乐。" + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "振铃" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "䞻叫ID名的前猀" + +#: page.findmefollow.php:338 +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" on the extensions that ring." +msgstr "圚䞺这䞪小组的分机响铃时䜠可以䞺䞻叫ID名字添加可选的前猀。䟋劂劂果䜠添加了“销售”前猀从小王打来的电话圚响铃的分机䞊䌚星瀺䞺“销售小王”。" + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "譊告信息" + +#: page.findmefollow.php:343 +msgid "You can optionally include an Alert Info which can create distinctive rings on SIP phones." +msgstr "äœ å¯ä»¥åŒ +含䞀䞪可选的譊告信息甚来䞺SIP电话产生独特的铃声。" + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "呌叫确讀" + +#: page.findmefollow.php:348 +msgid "Enable this if you're calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "劂果䜠芁呌叫需芁确讀的倖郚号码时就启甚歀项——比劂䞀䞪移劚电话䌚被蜬移而由语音邮箱接听。芁启甚这䞪选项需芁远端圚接通前圚电话䞊按䞋1。这䞪功胜只䌚圚 å +šéƒšå“é“ƒ/å +šéƒšå“é“ƒå¹¶äŸä»Žäž»åˆ†æœº 类的策略䞋起䜜甚。" + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "远皋å +¬å‘ŠïŒš" + +#: page.findmefollow.php:356 +msgid "Message to be played to the person RECEIVING the call, if 'Confirm Calls' is enabled.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "劂果“呌叫确讀”被启甚这是对接听呌叫的人播攟的消息。

芁添加额倖的圕音请䜿甚巊蟹的“系统圕音”菜单" + +#: page.findmefollow.php:362 +#: page.findmefollow.php:379 +msgid "Default" +msgstr "默讀" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "按键倪晚å +¬å‘ŠïŒš" + +#: page.findmefollow.php:373 +msgid "Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "劂果呌叫被接听华还没来埗及按䞋1é”®ïŒŒè¿™æ˜¯èŠå¯¹æŽ¥å¬è€ +播攟的消息

芁添加而倖的圕音请䜿甚巊蟹的“系统圕音”菜单" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "无人接听时的目的地" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "指定了无效的组号码" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "请蟓å +¥äž€äžªåˆ†æœºåˆ—衚。" + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "无效的前猀。有效的字笊䞺a到z、A到Z、0到9、䞋划线_和减号-" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "指定了无效的时闎" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "æ—¶é—Žå¿ +须圚1到60秒之闎" + +#: page.findmefollow.php:431 +msgid "Only ringall, ringallv2, hunt and the respective -prim versions are supported when confirmation is checked" +msgstr "若“确讀”选项被启甚就只支持å +šéƒšå“é“ƒã€å +šéƒšå“é“ƒ2、搜寻和各自的䞻分机䟝从策略。" + Index: /modules/branches/2.7/findmefollow/i18n/findmefollow.pot =================================================================== --- /modules/branches/2.7/findmefollow/i18n/findmefollow.pot (revision 7250) +++ /modules/branches/2.7/findmefollow/i18n/findmefollow.pot (revision 7250) @@ -0,0 +1,432 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-11-08 18:34+0100\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:385 +msgid "Edit Follow Me Settings" +msgstr "" + +#: functions.inc.php:388 functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "" + +#: install.php:141 uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "" + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "" + +#: install.php:165 +msgid "migrating" +msgstr "" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "" + +#: install.php:170 install.php:179 install.php:188 install.php:200 +#: install.php:216 install.php:226 install.php:242 install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "" + +#: install.php:173 install.php:182 install.php:191 install.php:282 +#: install.php:290 install.php:298 +msgid "ok" +msgstr "" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "" + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "" + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "" + +#: install.php:220 install.php:246 install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "" + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "" + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "" + +#: install.php:280 +msgid "no annmsg field???" +msgstr "" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "" + +#: install.php:288 +msgid "no remotealert field???" +msgstr "" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "" + +#: install.php:296 +msgid "no toolate field???" +msgstr "" + +#: install.php:302 +msgid "already migrated" +msgstr "" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "" + +#: page.findmefollow.php:121 page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "" + +#: page.findmefollow.php:194 +msgid "" +"By default (not checked) any call to this extension will go to this Follow-" +"Me instead, including directory calls by name from IVRs. If checked, calls " +"will go only to the extension.
However, destinations that specify " +"FollowMe will come here.
Checking this box is often used in conjunction " +"with VmX Locater, where you want a call to ring the extension, and then only " +"if the caller chooses to find you do you want it to come here." +msgstr "" + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "" + +#: page.findmefollow.php:200 +msgid "" +"This is the number of seconds to ring the primary extension prior to " +"proceeding to the follow-me list. The extension can also be included in the " +"follow-me list. A 0 setting will bypass this." +msgstr "" + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "" + +#: page.findmefollow.php:219 +msgid "" +"ring primary extension for initial ring time followed by all additional " +"extensions until one answers" +msgstr "" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "" + +#: page.findmefollow.php:222 +msgid "" +"ring first extension in the list, then ring the 1st and 2nd extension, then " +"ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "" + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "" + +#: page.findmefollow.php:223 +msgid "" +"these modes act as described above. However, if the primary extension (first " +"in list) is occupied, the other extensions will not be rung. If the primary " +"is FreePBX DND, it won't be rung. If the primary is FreePBX CF " +"unconditional, then all will be rung" +msgstr "" + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "" + +#: page.findmefollow.php:246 +msgid "" +"Time in seconds that the phones will ring. For all hunt style ring " +"strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "" + +#: page.findmefollow.php:254 +msgid "" +"List extensions to ring, one per line, or use the Extension Quick Pick below." +"

You can include an extension on a remote system, or an external " +"number by suffixing a number with a pound (#). ex: 2448089# would dial " +"2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "" + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "" + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "" + +#: page.findmefollow.php:290 page.findmefollow.php:308 +msgid "Announcement:" +msgstr "" + +#: page.findmefollow.php:290 +msgid "" +"Message to be played to the caller before dialing this group.

To add " +"additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "" + +#: page.findmefollow.php:308 +msgid "" +"Message to be played to the caller before dialing this group.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "" + +#: page.findmefollow.php:319 +msgid "" +"If you select a Music on Hold class to play, instead of 'Ring', they will " +"hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "" + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "" + +#: page.findmefollow.php:338 +msgid "" +"You can optionally prefix the Caller ID name when ringing extensions in this " +"group. ie: If you prefix with \"Sales:\", a call from John Doe would display " +"as \"Sales:John Doe\" on the extensions that ring." +msgstr "" + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "" + +#: page.findmefollow.php:343 +msgid "" +"You can optionally include an Alert Info which can create distinctive rings " +"on SIP phones." +msgstr "" + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "" + +#: page.findmefollow.php:348 +msgid "" +"Enable this if you're calling external numbers that need confirmation - eg, " +"a mobile phone may go to voicemail which will pick up the call. Enabling " +"this requires the remote side push 1 on their phone before the call is put " +"through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "" + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "" + +#: page.findmefollow.php:356 +msgid "" +"Message to be played to the person RECEIVING the call, if 'Confirm Calls' is " +"enabled.

To add additional recordings use the \"System Recordings\" " +"MENU to the left" +msgstr "" + +#: page.findmefollow.php:362 page.findmefollow.php:379 +msgid "Default" +msgstr "" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "" + +#: page.findmefollow.php:373 +msgid "" +"Message to be played to the person RECEIVING the call, if the call has " +"already been accepted before they push 1.

To add additional " +"recordings use the \"System Recordings\" MENU to the left" +msgstr "" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "" + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "" + +#: page.findmefollow.php:431 +msgid "" +"Only ringall, ringallv2, hunt and the respective -prim versions are " +"supported when confirmation is checked" +msgstr "" Index: /modules/branches/2.7/findmefollow/i18n/it_IT/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/it_IT/LC_MESSAGES/findmefollow.po (revision 7250) +++ /modules/branches/2.7/findmefollow/i18n/it_IT/LC_MESSAGES/findmefollow.po (revision 7250) @@ -0,0 +1,411 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 23:10+0200\n" +"PO-Revision-Date: 2008-11-10 11:52+0100\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:385 +msgid "Edit Follow Me Settings" +msgstr "Modifica impostazioni Seguimi" + +#: functions.inc.php:388 +#: functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "Modifica impostazioni Seguimi" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "Seguimi: %s (%s)" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "Utente Seguimi: %s" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "Attiva/Disattiva Seguimi" + +#: install.php:141 +#: uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Impossibile connettersi al manager di Asterisk con " + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "Sto controllando se le registrazione necessitano di una migrazione.." + +#: install.php:165 +msgid "migrating" +msgstr "migrazione" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "sto aggiungendo il campo annmsg_id.." + +#: install.php:170 +#: install.php:179 +#: install.php:188 +#: install.php:200 +#: install.php:216 +#: install.php:226 +#: install.php:242 +#: install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "errore fatale" + +#: install.php:173 +#: install.php:182 +#: install.php:191 +#: install.php:282 +#: install.php:290 +#: install.php:298 +msgid "ok" +msgstr "ok" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "sto aggiungendo il campo remotealer_id.." + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "sto aggiungendo il campo toolate_id.." + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "migrazione annmsg verso ids.." + +#: install.php:220 +#: install.php:246 +#: install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "migrate %s voci" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "migrazione remotealer verso ids.." + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "migrazione toolate verso ids.." + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "sto scartando il campo annmsg..." + +#: install.php:280 +msgid "no annmsg field???" +msgstr "nessun campo annmsg???" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "sto scartadno il campo remotealert" + +#: install.php:288 +msgid "no remotealert field???" +msgstr "nessun campo remotealert???" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "sto scartando il campo toolate.." + +#: install.php:296 +msgid "no toolate field???" +msgstr "nessun campo toolate???" + +#: install.php:302 +msgid "already migrated" +msgstr "gia migrato" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "Attenzione! L'Interno" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "non possiede i permessi" + +#: page.findmefollow.php:121 +#: page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "Seguimi" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "Scegliere un utente/interno:" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "Eliminato" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "Elimina voci" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "Utente" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "Interno" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "Modifica %s" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "Modifica %s %s" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "Modifica Seguimi" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "Aggiungi Seguimi" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "Numero gruppo" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "I numeri che saranno chiamati in questo gruppo" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "Disattivato" + +#: page.findmefollow.php:194 +msgid "By default (not checked) any call to this extension will go to this Follow-Me instead, including directory calls by name from IVRs. If checked, calls will go only to the extension.
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "Nell'impostazione predefinita (non selezionato) tutte le chiamate su questo interno andranno al Seguimi, incluse le chiamate da un IVR. Se selezionato, le chiamate andranno solo all'interno.
Questa opzione Ú di solito usata insieme al VmX Locater, dove si puo' scegliere se inviare il chiamante al seguimi." + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "Tempo inziale di squillo:" + +#: page.findmefollow.php:200 +msgid "This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. The extension can also be included in the follow-me list. A 0 setting will bypass this." +msgstr "Questo Ú il numero di secondi di squillo per l'interno primario prima di far procedere la chiamata nella lista seguimi. L'interno può anche essere incluso nella lista. 0 per passarlo direttamente." + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "Strategia di Squillo:" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "ringallv2" + +#: page.findmefollow.php:219 +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "squilla l'interno primario per il tempo iniziale di squillo seguito dagli altri interni fino a quando uno non risponde" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "ringall" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "chiama tutti i canali disponibili fino a quando un interno non risponde (predefinito)" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "hunt" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "chiama a circolo tutti gli interni disponibili" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "memoryhunt" + +#: page.findmefollow.php:222 +msgid "ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "chiama il primo interno della lista, poi il primo e il secondo, poi il primo, il secondo e il terzo... ecc." + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "*-prim" + +#: page.findmefollow.php:223 +msgid "these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung" +msgstr "queste modalità sono attuate come descritto sopra. Però, se l'interno primario (il primo della lista Ú occupato, gli altri interni non saranno chiamati. Se il primario ha attivato il Non-Disturbare di FreePBX, non andrà avanti. Se il primario Ú un Trasferimento di Chiamata incondizionato attivato su FreePBX, tutti squilleranno." + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "firstavailable" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "squilla solo il primo disponibile" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "firstnotonphone" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "squilla solo il primo che non Ú al telefono - ignora l'Avviso di Chiamata" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "Tempo di squillo (max 60 sec)" + +#: page.findmefollow.php:246 +msgid "Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "Il tempo in secondi che un telefono squilla. Per i gruppi di chiamata con strategia hunt, equivale allo squillo di ogni singolo interno" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "Lista Seguimi" + +#: page.findmefollow.php:254 +msgid "List extensions to ring, one per line, or use the Extension Quick Pick below.

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "Inserire gli interni o numeri da chiamare, uno per riga, o utilizzare la Selezione Veloce degli Interni qui sotto.

Per includere numeri esterni, inserire cancelletto (#) alla fine del numero. Es.: per chiamare 06123456789 bisgona inserire 006123456789# (se nelle Rotte in uscita Ú stato inserito lo 0 per le chiamate esterne)." + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "Selezione Veloce Interno" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "Scegliere un interno da aggiungere alla fine della lista qui sopra." + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "(scegliere l'interno)" + +#: page.findmefollow.php:290 +#: page.findmefollow.php:308 +msgid "Announcement:" +msgstr "Annuncio:" + +#: page.findmefollow.php:290 +msgid "Message to be played to the caller before dialing this group.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Messaggio da riprodurre al chiamante prima di chiamare questo gruppo.

Per aggiungere ulteriori registrazioni utilizzare \"Registrazioni di Sistema\" nel MENU di sinistra" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "Nessuno" + +#: page.findmefollow.php:308 +msgid "Message to be played to the caller before dialing this group.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Messaggio da rirprodurre al chiamante prima di chiamare questo gruppo.

Per utilizzare questa opzione, bisogna aver prima installato e attivato il modulo \"Registrazioni di Sistema\"" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "Riproduci Musica di Attesa?" + +#: page.findmefollow.php:319 +msgid "If you select a Music on Hold class to play, instead of 'Ring', they will hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "Se si seleziona una classe di Musica di Attesa, invece che 'Squillo', l'utente ascolterà questa mentre Ú in attesa di una risposta." + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "Squillo" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "Prefisso ID Chiamante" + +#: page.findmefollow.php:338 +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" on the extensions that ring." +msgstr "Come opzione si puo' inserire un prefisso prima dell'identificativo chiamante. Es.: se si inserisce \"Commerciale:\", una chiamata per Mario Rossi sarà visualizzata come \"Commerciale:Mario Rossi\" sul display del telefono che squilla." + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "Alert Info" + +#: page.findmefollow.php:343 +msgid "You can optionally include an Alert Info which can create distinctive rings on SIP phones." +msgstr "Si può anche includere come opzione un messaggio Alert Info per distinguere le suonerie su apparati di tipo SIP." + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "Conferma Chiamate" + +#: page.findmefollow.php:348 +msgid "Enable this if you're calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "Attivare questa opzione se si vogliono chiamare numeri esterni che hanno bisogno di conferma - es., un telefono cellulare potrebbe andare ad una segreteria, e in quel caso la chiamata sarà presa. Attivando questa opzione l'utente remoto dovrà digitare 1 sul proprio telefono per accettare la chiamata. Questa opzione funziona solo con le strategie di squillo ringall e ringall-prim." + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "Annuncio Remoto:" + +#: page.findmefollow.php:356 +msgid "Message to be played to the person RECEIVING the call, if 'Confirm Calls' is enabled.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "Il messaggio da riprodurre alla persona che RICEVE la chiamata, se Ú stato attivato 'Conferma Chiamate'

Per aggiungere ulteriori registrazioni utilizzare \"Registrazioni di Sistema\" nel MENU di sinistra" + +#: page.findmefollow.php:362 +#: page.findmefollow.php:379 +msgid "Default" +msgstr "Predefinito" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "Annuncio Troppo-Tardi" + +#: page.findmefollow.php:373 +msgid "Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "Il messaggio da riprodurre alla persona che RICEVE la chiamata, se la chiamata Ú già stata accettata prima di premere il tasto.

Per aggiungere ulteriori registrazioni utilizzare \"Registrazioni di Sistema\" nel MENU di sinistra" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "Destinazione se nessuna risposta" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "Numero Gruppo non valido" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "Prego immettere la lista degli interni." + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "Prefisso non valido. Caratteri validi: a-z A-Z 0-9 : _ -" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "Tempo specificato non valido" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "Il tempo deve essere compreso tra 1 e 60 secondi" + +#: page.findmefollow.php:431 +msgid "Only ringall, ringallv2, hunt and the respective -prim versions are supported when confirmation is checked" +msgstr "Solo ringall, ringallv2, hunt e le respettive versioni -prim sono supportate quando la conferma Ú attivata" + +msgid "(Add)" +msgstr "(Aggiungi)" + +msgid "(Edit)" +msgstr "(Modifica)" + Index: /modules/branches/2.7/findmefollow/i18n/ru_RU/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/ru_RU/LC_MESSAGES/findmefollow.po (revision 6877) +++ /modules/branches/2.7/findmefollow/i18n/ru_RU/LC_MESSAGES/findmefollow.po (revision 6877) @@ -0,0 +1,417 @@ +# 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: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-19 21:45+0100\n" +"PO-Revision-Date: 2008-01-31 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:388 functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "ŽÞÑÐÒØâì ÝÐáâàÞÙÚØ äãÝ򾯯 ÁÛÕÔãÙâÕ áîÔÐ" + +#: install.php:44 +msgid "Findme Follow Toggle" +msgstr "¿ÕàÕÚÛîçÕÝØÕ œÐÙâØ ÜÕÝï âãâ" + +#: install.php:66 uninstall.php:30 +msgid "Cannot connect to Asterisk Manager with " +msgstr "œÕÒÞ×ÜÞÖÝÞ áÞÕÔØÝØâáï á Asterisk Manager ÚÐÚ " + +#: page.findmefollow.php:68 +msgid "Warning! Extension" +msgstr "²ÝØÜÐÝØÕ! ²ÝãâàÕÝÝØÙ ÝÞÜÕà" + +#: page.findmefollow.php:68 +msgid "is not allowed for your account" +msgstr "ÝÕ àÐ×àÕèÕÝ Ú ØáßÞÛì×ÞÒÐÝØî Ò ÒÐèÕÜ ÐÚÚÐãÝâÕ" + +#: page.findmefollow.php:107 +msgid "$gresult[1]" +msgstr "" + +#: page.findmefollow.php:118 page.findmefollow.php:121 +#: page.findmefollow.php:150 +msgid "Follow Me" +msgstr "ÁÛÕÔãÙâÕ áîÔÐ" + +#: page.findmefollow.php:121 +msgid "deleted" +msgstr "ãÔÐÛÕÝÞ" + +#: page.findmefollow.php:147 +msgid "Delete Entries" +msgstr "ÃÔÐÛØâì ×Ðߨáì" + +#: page.findmefollow.php:172 +msgid "Edit Follow Me" +msgstr "ž×ÜÕÝØâì ãÚÐ×ÐÝØÕ ÁÛÕÔãÙâÕ áîÔÐ" + +#: page.findmefollow.php:172 +msgid "Add Follow Me" +msgstr "ŽÞÑÐÒØâì ãÚÐ×ÐÝØÕ ÁÛÕÔãÙâÕ áîÔÐ" + +#: page.findmefollow.php:180 +msgid "group number" +msgstr "ÓàãßßÞÒÞÙ ÝÞÜÕà" + +#: page.findmefollow.php:180 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "œÞÜÕà, ÝÐ ÚÞâÞàëÙ ÜÞÖÝÞ ßÞ×ÒÞÝØâì áàÐ×ã ÒÞ Òáî Óàãßßã Òë×ÞÒÐ" + +#: page.findmefollow.php:186 +msgid "Initial Ring Time:" +msgstr "œÐçÐÛìÝÞÕ ÒàÕÜï ×ÒÞÝÚÐ:" + +#: page.findmefollow.php:187 +msgid "" +"This is the number of seconds to ring the primary extension prior to " +"proceeding to the follow-me list. The extension can also be included in the " +"follow-me list. A 0 setting will bypass this." +msgstr "" +"²àÕÜï Ò áÕÚãÝÔÐå, Ò âÕçÕÝØÕ ÚÞâÞàÞÓÞ ×ÒÞÝÞÚ ÞâàÐÑÐâëÒÐÕâ ÝÐ ßÕàÒÞÜ ÝÐ×ÝÐçÕÝØØ " +"(ÒÝãâàÕÝÝÕÜ ÝÞÜÕàÕ), ßÞáÛÕ çÕÓÞ áÛÕÔãÕâ ßÞ ÝÐßàÐÒÛÕÝØî, ×ÐÔÐÝÝÞÜã ãÚÐ×ÐÝØÕÜ " +"ÁÛÕÔãÙâÕ áîÔÐ. ·ÝÐçÕÝØÕ 0 ÑãÔÕâ ßàÞßãáÚÐâì ßÕàÒëÙ èÐÓ." + +#: page.findmefollow.php:205 +msgid "ring strategy:" +msgstr "áâàÐâÕÓØï ×ÒÞÝÚÞÒ:" + +msgid "rinallv2" +msgstr "1-×ÒÞÝïâ-ÒáÕ" + +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "" +"×ÒÕÝØâ ßÕàÒëÙ ÒÝãâàÕÝÝØÙ ÝÞÜÕà ÒâÕçÕÝØÕ ãÚÐ×ÐÝÝÞÓÞ ÒàÕÜÕÝØ (ÒëèÕ), ×ÐâÕÜ ÒáÕ ÒÝãâàÕÝÝØÕ " +"ÝÞÜÕàÐ Ø× áߨáÚÐ, ßÞÚÐ ÚâÞ ÛØÑÞ ÞÔØÝ ÝÕ ÞâÒÕâØâ" + +#: page.findmefollow.php:207 +msgid "ringall" +msgstr "×ÒÞÝïâ-ÒáÕ" + +#: page.findmefollow.php:207 +msgid "ring all available channels until one answers (default)" +msgstr "×ÒÞÝïâ ÒáÕ ÔÞáâãßÝëÕ ÝÞÜÕàÐ Ø× áߨáÚÐ, ßÞÚÐ ÚâÞ ÛØÑÞ ÞÔØÝ ÝÕ ÞâÒÕâØâ." + +#: page.findmefollow.php:208 +msgid "hunt" +msgstr "áÕàØÙÝÞÕ-ØáÚÐÝØÕ" + +#: page.findmefollow.php:208 +msgid "take turns ringing each available extension" +msgstr "×ÒÞÝÞÚ ßÞáâãßÐÕâ ÝÐ ÛîÑÞÙ ÔÞáâãßÝëÙ Ø× ÝÞÜÕàÞÒ ßÞ áߨáÚã" + +#: page.findmefollow.php:209 +msgid "memoryhunt" +msgstr "ßàÞÓàÕáá-áÕàØÙÝÞÕ-ØáÚÐÝØÕ" + +#: page.findmefollow.php:209 +msgid "" +"ring first extension in the list, then ring the 1st and 2nd extension, then " +"ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "" +"·ÒÞÝØâ ßÕàÒëÙ ÒÝãâàÕÝÝØÙ ÝÞÜÕà Ò áߨáÚÕ, ×ÐâÕÜ ßÕàÒëÙ Ø ÒâÞàÞÙ, ×ÐâÕÜ ßÕàÒëÙ, ÒâÞàÞÙ " +"Ø âàÕâØÙ Ò áߨáÚÕ, Ø âÐÚ ÔÐÛÕÕ." + +#: page.ringgroups.php:186 +msgid "*-prim" +msgstr "*-ßàØÜ" + +#: page.ringgroups.php:186 +msgid "" +"These modes act as described above. However, if the primary extension (first " +"in list) is occupied, the other extensions will not be rung. If the primary " +"is FreePBX DND, it won't be rung. If the primary is FreePBX CF " +"unconditional, then all will be rung" +msgstr "" +"ÍâÞâ àÕÖØÜ àÐÑÞâÐÕâ âÐÚ ÖÕ, ÚÐÚ ÒëèÕÞߨáÐÝÝëÕ, ×Ð ØáÚÛîçÕÝØÕÜ âÞÓÞ, çâÞ ÕáÛØ ßÕàÒëÙ " +"ÒÝãâàÕÝÝØÙ ÝÞÜÕà Ø× áߨáÚÐ ×ÐÝïâ, áÛÕÔãîéØÕ ßÞ áߨáÚã ÝÕ ÑãÔãâ ×ÒÞÝØâì. ÂÐÚÖÕ ×ÐÒØáØâ Þâ " +"ãáâÐÝÞÒÞÚ 'œÕ ÑÕáßÞÚÞØâì' Ø '¿ÕàÕÝÐßàÐÒÛÕÝØÕ' ÝÐ ßÕàÒÞÜ ÒÝãâàÕÝÝÕÜ ÝÞÜÕàÕ áߨáÚÐ. µáÛØ " +"DND, âÞ ßÞØáÚ Ò ÓàãßßÕ ÝÐ íâÞÜ ×ÐÚÐÝçØÒÐÕâáï. µáÛØ CF (ßÕàÕÝÐßàÐÒÛÕÝØÕ) ÝÕ ßÕàÕÝÐßàÐÒØâ, " +"âÞ ßÞØáÚ Ò ÓàãßßÕ ßàÞÔÞÛÖØâáï." + +#: page.ringgroups.php:187 +msgid "firstavailable" +msgstr "ßÕàÒëÙ-ÔÞáâãßÝëÙ" + +#: page.ringgroups.php:187 +msgid "ring only the first available channel" +msgstr "×ÒÞÝØâ ßÕàÒëÙ ÔÞáâãßÝëÙ ÚÐÝÐÛ" + +#: page.ringgroups.php:188 +msgid "firstnotonphone" +msgstr "ßÕàÒëÙ-ÝÐ-âÕÛÕäÞÝÕ" + +#: page.ringgroups.php:188 +msgid "ring only the first channel which is not offhook - ignore CW" +msgstr "×ÒÞÝØâ ßÕàÒëÙ âÕÛÕäÞÝ, ã ÚÞâÞàÞÓÞ ÝÕ áÝïâÐ âàãÑÚÐ - äÞàÒÐàÔØÝÓ ØÓÝÞàØàãÕâáï" + + +#: page.findmefollow.php:226 +msgid "Alert Info" +msgstr "ŽÞßÞÛÝØâÕÛìÝÐï ØÝäÞàÜÐæØï" + +#: page.findmefollow.php:230 +msgid "Confirm Calls" +msgstr "¿ÞÔâÒÕàÖÔÐâì Òë×ÞÒë" + +#: page.findmefollow.php:231 +msgid "System Recordings not installed. Option Disabled" +msgstr "·Ðߨáì áÞÞÑéÕÝØÙ ÝÕ ßàÞØÝáâÐÛÛØàÞÒÐÝÐ. ŸßæØï ÝÕÔÞáâãßÝÐ" + +#: page.findmefollow.php:237 +msgid "Remote Announce:" +msgstr "ÃÔÐÛñÝÝÞÕ ßàØÒÕâáâÒØÕ:" + +#: page.findmefollow.php:237 +msgid "" +"Message to be played to the person RECEIVING the call, if 'Confirm Calls' is " +"enabled.

To add additional recordings use the \"System Recordings\" " +"MENU to the left" +msgstr "" +"ÁÞÞÑéÕÝØÕ, ÚÞâÞàÞÕ ÑãÔÕâ ÒÞáßàÞØ×ÒÕÔÕÝÞ ÔÛï ÐÔàÕáÐâÐ ×ÒÞÝÚÐ, ÕáÛØ ×ÐÔÕÙáâÒÞÒÐÝÐ ÞßæØï " +"¿ÞÔâÒÕàÖÔÕÝØÕ Òë×ÞÒÐ.

ŽÞÑÐÒØâì ×Ðߨáì ÜÞÖÝÞ Ò áÕ򾯯 ·Ðߨáì áÞÞÑéÕÝØÙ Ò ÜÕÝî áÛÕÒÐ." + +#: page.findmefollow.php:243 page.findmefollow.php:260 +msgid "Default" +msgstr "¿Þ ãÜÞÛçÐÝØî" + +#: page.findmefollow.php:254 +msgid "Too-Late Announce:" +msgstr "ÁÞÞÑéÕÝØÕ ÃÖÕ-ßÞ×ÔÝÞ" + +#: page.findmefollow.php:254 +msgid "" +"Message to be played to the person RECEIVING the call, if the call has " +"already been accepted before they push 1.

To add additional " +"recordings use the \"System Recordings\" MENU to the left" +msgstr "" +"ÁÞÞÑéÕÝØÕ ÒÞáßàÞØ×ÒÞÔØâáï ÔÛï ßàØÝïÒèÕÓÞ íâÞâ ×ÒÞÝÞÚ, ÕáÛØ ×ÒÞÝÞÚ ãÖÕ ßàØÝïâ ßàÕÖÔÕ çÕÜ ÞÝ ãáßÕÛ " +"ÝÐÖÐâì 1.

ŽÛï áÞ×ÔÐÝØï âÐÚÞÓÞ áÞÞÑéÕÝØï ØáßÞÛì×ãÙâÕ àÐ×ÔÕÛ ÜÕÝî ·Ðߨáì áÞÞÑéÕÝØÙ." + +#: page.findmefollow.php:272 +msgid "extension list" +msgstr "áߨáÞÚ ÝÞÜÕàÞÒ" + +#: page.findmefollow.php:249 +msgid "" +"List extensions to ring, one per line, or use the Extension Quick Pick below." +"

You can include an extension on a remote system, or an external " +"number by suffixing a number with a pound (#). ex: 2448089# would dial " +"2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "" +"»Øáâ ÝÞÜÕàÞÒ, ßÞ ÞÔÝÞÜã Ò áâàÞÚÕ, ØÛØ ÒÞáßÞÛì×ãÙâÕáì ²ëÑÞàÞÜ Ø× ÜÕÝî ÝØÖÕ çâÞÑë ÔÞÑÐÒØâì Ò " +"áߨáÞÚ

ŒÞÖÝÞ ÒÚÛîçÐâì ÝÞÜÕàÐ Ø× ÔàãÓØå ãÔÐÛñÝÝëå áØáâÕÜ, ØÛØ ÒÝÕèÝØÕ ÝÞÜÕàÐ, á " +"ØáßÞÛì×ÞÒÐÝØÕÜ ×ÝÐÚÐ # Ò ÚÐçÕáâÒÕ áãääØÚáÐ. œÐßàØÜÕà: 2448089# ÝÐÑÕàñâ ÝÞÜÕà 2448089 ÝÐ " +"ÛîÑÞÜ ÒÝÕèÝÕÜ âàÐÝÚÕ, ßÞßÐÔÐîéÕÜ Ò ßàÐÒØÛÐ žáåÞÔïéÕÙ ÜÐàèàãâØ×ÐæØØ.

·ÐÔÕÙáâÒãîâáï " +"âÞÛìÚÞ äÐÚâØçÕáÚØÕ ÒÝãâàÕÝÝØÕ ÝÞÜÕàÐ. µáÛØ åÞâØâÕ ØáßÞÛì×ÞÒÐâì ßàØ íâÞÜ ßÞáâÞàÞÝÝØÕ ÚÐÝÐÛë " +"(çâÞÑë ×ÒÞÝØâì ÝÐ follow-me ØÛØ Ò ÔàãÓØÕ Óàãßßë Òë×ÞÒÐ, ØÛØ ÞçÕàÕÔØ, ßàÞáâÞ áâÐÒìâÕ ×ÝÐÚ # " +"Ò ÚÞÝæÕ ÝÞÜÕàÐ. œÞ ÑãÔâÕ ÞáâÞàÞÖÝë! ÍâÞ àÕÚãàáØï, Ø áØáâÕÜÐ ÜÞÖÕâ ×ÐÔãèØâìáï." + +#: page.findmefollow.php:287 +msgid "CID name prefix" +msgstr "¿àÕäØÚá žŽ ØÜÕÝØ" + +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. " +"ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" " +"on the extensions that ring." +msgstr "" +"ŸßæØÞÝÐÛìÝÞ, ÜÞÖÝÞ ØáßÞÛì×ÞÒÐâì ÚÐÚÞÙ-âÞ ßàÕäØÚá ÔÛï ×ÒÞÝÚÐ Ò íâã Óàãßßã. œÐßàØÜÕà, ÕáÛØ íâÞ ÓàãßßÐ " +"\"Sales:\", âÞ, ãáâÐÝÞÒØÒ âÐÚÞÙ ßàÕäØÚá ÔÛï íâÞÙ Óàãßßë, ÜÞÖÝÞ ÒØÔÕâì, ÕáÛØ ×ÒÞÝØâ John Doe, âÞ " +"Üë ãÒØÔØÜ ÝÐ ÔØáßÛÕÕ Sales:John Doe." + +#: page.findmefollow.php:293 +msgid "ring time (max 60 sec)" +msgstr "ÒàÕÜï Òë×ÞÒÐ (ÜÐÚá. 60 áÕÚ.)" + +#: page.findmefollow.php:241 +msgid "" +"Time in seconds that the phones will ring. For all hunt style ring " +"strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "" +"²àÕÜï Ò áÕÚãÝÔÐå, Ò âÕçÕÝØÕ ÚÞâÞàÞÓÞ âÕÛÕäÞÝë ÑãÔãâ ×ÒÞÝØâì. ŽÛï ÒáÕå ÒØÔÞÒ " +"áâàÐâÕÓØÙ áÕàØÙÝÞÓÞ ØáÚÐÝØï íâÞ ÒàÕÜï ×ÒÞÝÚÐ ßÞÒâÞàïÕâáï ÔÛï ÒáÕå âÕÛÕäÞÝÞÒ, " +"ÚÞâÞàëÕ ÒÚÛîçÕÝë Ò áÕàØî." + +#: page.findmefollow.php:298 page.findmefollow.php:316 +msgid "announcement:" +msgstr "ßàØÒÕâáâÒØÕ:" + +#: page.findmefollow.php:298 +msgid "" +"Message to be played to the caller before dialing this group.

To add " +"additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "" +"ÁÞÞÑéÕÝØÕ, ÚÞâÞàÞÕ ÒÞáßàÞØ×ÒÞÔØâáï ßÞ×ÒÞÝØÒèÕÜã ßàÕÖÔÕ, çÕÜ ×ÒÞÝÞÚ ßÕàÙÔñâ Ò " +"Óàãßßã.

ŽÛï áÞ×ÔÐÝØï âÐÚÞÓÞ áÞÞÑéÕÝØï ØáßÞÛì×ãÙâÕ àÐ×ÔÕÛ ÜÕÝî ·Ðߨáì áÞÞÑéÕÝØÙ." + +#: page.findmefollow.php:304 +msgid "None" +msgstr "œÕâ" + +#: page.findmefollow.php:316 +msgid "" +"Message to be played to the caller before dialing this group.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" +"ÁÞÞÑéÕÝØÕ, ÚÞâÞàÞÕ ÒÞáßàÞØ×ÒÞÔØâáï ßÞ×ÒÞÝØÒèÕÜã ßàÕÖÔÕ, çÕÜ ×ÒÞÝÞÚ ßÕàÙÔñâ Ò " +"Óàãßßã.

œÕÞÑåÞÔØÜÞ ØÝáâÐÛÛØàÞÒÐâì ÜÞÔãÛì ·Ðߨáì áÞÞÑéÕÝØÙ çâÞÑë ÜÕÝïâì " +"çâÞ-ÛØÑÞ Ò íâÞÙ ÞßæØØ." + +#: page.findmefollow.php:326 +msgid "Play Music On Hold?" +msgstr "Œã×ëÚã Ò ÞÖØÔÐÝØØ?" + +#: page.findmefollow.php:326 +msgid "" +"If you select a Music on Hold class to play, instead of 'Ring', they will " +"hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "" +"µáÛØ ÒëÑàÐÝ ÚÛÐáá Œã×ëÚØ Ò ÞÖØÔÐÝØØ ÒÜÕáâÞ ßàÞáâÞÓÞ áØÓÝÐÛÐ Òë×ÞÒÐ, âÞ ßÞ×ÒÞÝØÒèØÙ " +"ÑãÔÕâ áÛãèÐâì Üã×ëÚã, ßÞÚÐ ÚâÞ-âÞ ÝÕ ßÞÔÝØÜÕâ âàãÑÚã." + +#: page.findmefollow.php:332 +msgid "Ring" +msgstr "·ÒÞÝÞÚ" + +#: page.findmefollow.php:344 +msgid "Destination if no answer" +msgstr "œÐ×ÝÐçÕÝØÕ ÕáÛØ ÝÕâ ÞâÒÕâÐ" + +msgid "Misc Destinations" +msgstr "ÀÐ×ÛØçÝëÕ ÝÐßàÐÒÛÕÝØï" + +msgid "IVR" +msgstr "žÝâÕàÐÚâØÒÝÞÕ ÜÕÝî" + +msgid "Languages" +msgstr "Ï×ëÚØ" + +msgid "Conferences" +msgstr "ºÞÝäÕàÕÝæØØ" + +msgid "Phonebook Directory" +msgstr "ÂÕÛÕäÞÝÝÐï ÚÝØÓÐ" + +msgid "Queues" +msgstr "ŸçÕàÕÔØ" + +msgid "Ring Groups" +msgstr "³àãßßë Òë×ÞÒÐ" + +msgid "Speed dial functions" +msgstr "ÄãÝ򾯯 ÑëáâàÞÓÞ ÝÐÑÞàÐ" + +msgid "Time Conditions" +msgstr "¿àÐÒØÛÐ ßÞ ÒàÕÜÕÝØ" + +msgid "Custom Application" +msgstr "ÁßÕæØÐÛìÝÞÕ ßàØÛÞÖÕÝØÕ" + +msgid "Extended Routing" +msgstr "ÀÐáèØàÕÝÝÐï ÜÐàèàãâØ×ÐæØï" + +msgid "Custom App
ADVANCED USERS ONLY

Uses Goto() to send caller to " +"a custom context.

The context name should start with \"custom-\", and be in " +"the format custom-context,extension,priority. Example " +"entry:

custom-myapp,s,1

The [custom-myapp] context would " +"need to be created and included in extensions_custom.conf
" +msgstr "" +"ŸáÞÑëÕ ßàØÛÞÖÕÝØï
Ÿ»ÌºŸ Ÿ¿Ëœˌ ¿Ÿ»Ì·Ÿ²°Âµ»ÏŒ
žáßÞÛì×ãÙâÕ ÞßÕàÐÝÔ " +"Goto() ÔÛï ßÕàÕÝÐßàÐÒÛÕÝØï Ò custom ÚÞÝâÕÚáâ.

œÐ×ÒÐÝØÕ ÚÞÝâÕÚáâÐ ÔÞÛÖÝÞ " +"ÝÐçØÝÐâìáï á \"custom-\" Ø Ñëâì Ò äÞàÜÐâÕ custom-context,extension,ßàØÞàØâÕâ. " +"œÐßàØÜÕà:
custom-app,s,1
ºÞÝâÕÚáâ [custom-app] ÔÞÛÖÕÝ Ñëâì áÞ×ÔÐÝ " +"Ò extensions_custom.conf" +"However, destinations that specify FollowMe will come here.
" +"Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "" +"¿Þ ãÜÞÛçÐÝØî (ÝÕ ÞâÜÕçÕÝÞ) ÒáÕ ×ÒÞÝÚØ ßÞáâãßÐîâ Ò ÜÞÔãÛì 'ÁÛÕÔãÙâÕ áîÔÐ', " +"ÒÚÛîçÐï ×ÒÞÝÚØ á ßÞØáÚÞÜ ßÞ ØÜÕÝØ Ò žÝâÕàÐÚâØÒÝëå ÜÕÝî. œÞ ÕáÛØ ÞâÜÕçÕÝÞ, " +"×ÒÞÝÞÚ ßÞáâãßÐÕâ ßàïÜÞ ÝÐ ãÚÐ×ÐÝëÙ ÝÞÜÕà.
² ÛîÑÞÜ áÛãçÐÕ, ÝÐ×ÝÐçÕÝØÕ, ãÚÐ×ÐÝÝÞÕ Ò " +"'ÁÛÕÔãÙâÕ áîÔÐ' ÑãÔÕâ ØáßÞÛÝïâìáï. žáßÞÛì×ÞÒÐÝØÕ íâÞÙ ÞßæØØ çÐáâÞ ÞßàÐÒÔÐÝÞ ÒÜÕáâÕ á " +"VmX »ÞÚÐâÞàÞÜ, ÓÔÕ ÜÞÖÝÞ ßàÞáâÞ ÝÐßàÐÒØâì ×ÒÞÝÞÚ ÝÐ ÒÝãâàÕÝÝØÙ ÝÞÜÕà, ßÞÛì×ÞÒÐâÕÛì " +"ÚÞâÞàÞÓÞ ÜÞÖÕâ ÝÕßÞáàÕÔáâÒÕÝÝÞ áÐÜ ãÚÐ×Ðâì, åÞçÕâ ÛØ ÞÝ, èâÞÑë ßÞáâãßÐîéØÕ ×ÒÞÝÚØ " +"ÝÐåÞÔØÛØ ÕÓÞ ÒÕ×ÔÕ, ØÛØ ÝÕâ." + +msgid "Ring Strategy:" +msgstr "ÁâàÐâÕÓØï ÔÞ×ÒÞÝÐ:" + +msgid "(edit)" +msgstr "(Ø×ÜÕÝØâì)" + +msgid "Edit Extension %s" +msgstr "ž×ÜÕÝØâì ÝÞÜÕà %s" + +msgid "Edit Follow Me Settings" +msgstr "ž×ÜÕÝØâì ãáâÐÝÞÒÚØ 'ÁÛÕÔãÙâÕ áîÔÐ'" + Index: /modules/branches/2.7/findmefollow/i18n/es_ES/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/es_ES/LC_MESSAGES/findmefollow.po (revision 7479) +++ /modules/branches/2.7/findmefollow/i18n/es_ES/LC_MESSAGES/findmefollow.po (revision 7479) @@ -0,0 +1,401 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo findmefollow module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-11-08 18:34+0100\n" +"PO-Revision-Date: 2009-01-22 15:45+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:385 +msgid "Edit Follow Me Settings" +msgstr "" + +#: functions.inc.php:388 +#: functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "" + +#: install.php:141 +#: uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "" + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "" + +#: install.php:165 +msgid "migrating" +msgstr "" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "" + +#: install.php:170 +#: install.php:179 +#: install.php:188 +#: install.php:200 +#: install.php:216 +#: install.php:226 +#: install.php:242 +#: install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "" + +#: install.php:173 +#: install.php:182 +#: install.php:191 +#: install.php:282 +#: install.php:290 +#: install.php:298 +msgid "ok" +msgstr "" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "" + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "" + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "" + +#: install.php:220 +#: install.php:246 +#: install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "" + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "" + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "" + +#: install.php:280 +msgid "no annmsg field???" +msgstr "" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "" + +#: install.php:288 +msgid "no remotealert field???" +msgstr "" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "" + +#: install.php:296 +msgid "no toolate field???" +msgstr "" + +#: install.php:302 +msgid "already migrated" +msgstr "" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "" + +#: page.findmefollow.php:121 +#: page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "" + +#: page.findmefollow.php:194 +msgid "By default (not checked) any call to this extension will go to this Follow-Me instead, including directory calls by name from IVRs. If checked, calls will go only to the extension.
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here." +msgstr "" + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "" + +#: page.findmefollow.php:200 +msgid "This is the number of seconds to ring the primary extension prior to proceeding to the follow-me list. The extension can also be included in the follow-me list. A 0 setting will bypass this." +msgstr "" + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "" + +#: page.findmefollow.php:219 +msgid "ring primary extension for initial ring time followed by all additional extensions until one answers" +msgstr "" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "" + +#: page.findmefollow.php:222 +msgid "ring first extension in the list, then ring the 1st and 2nd extension, then ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "" + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "" + +#: page.findmefollow.php:223 +msgid "these modes act as described above. However, if the primary extension (first in list) is occupied, the other extensions will not be rung. If the primary is FreePBX DND, it won't be rung. If the primary is FreePBX CF unconditional, then all will be rung" +msgstr "" + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "" + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "" + +#: page.findmefollow.php:246 +msgid "Time in seconds that the phones will ring. For all hunt style ring strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "" + +#: page.findmefollow.php:254 +msgid "List extensions to ring, one per line, or use the Extension Quick Pick below.

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "" + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "" + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "" + +#: page.findmefollow.php:290 +#: page.findmefollow.php:308 +msgid "Announcement:" +msgstr "" + +#: page.findmefollow.php:290 +msgid "Message to be played to the caller before dialing this group.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "" + +#: page.findmefollow.php:308 +msgid "Message to be played to the caller before dialing this group.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "" + +#: page.findmefollow.php:319 +msgid "If you select a Music on Hold class to play, instead of 'Ring', they will hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "" + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "" + +#: page.findmefollow.php:338 +msgid "You can optionally prefix the Caller ID name when ringing extensions in this group. ie: If you prefix with \"Sales:\", a call from John Doe would display as \"Sales:John Doe\" on the extensions that ring." +msgstr "" + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "" + +#: page.findmefollow.php:343 +msgid "You can optionally include an Alert Info which can create distinctive rings on SIP phones." +msgstr "" + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "" + +#: page.findmefollow.php:348 +msgid "Enable this if you're calling external numbers that need confirmation - eg, a mobile phone may go to voicemail which will pick up the call. Enabling this requires the remote side push 1 on their phone before the call is put through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "" + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "" + +#: page.findmefollow.php:356 +msgid "Message to be played to the person RECEIVING the call, if 'Confirm Calls' is enabled.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "" + +#: page.findmefollow.php:362 +#: page.findmefollow.php:379 +msgid "Default" +msgstr "" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "" + +#: page.findmefollow.php:373 +msgid "Message to be played to the person RECEIVING the call, if the call has already been accepted before they push 1.

To add additional recordings use the \"System Recordings\" MENU to the left" +msgstr "" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "" + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "" + +#: page.findmefollow.php:431 +msgid "Only ringall, ringallv2, hunt and the respective -prim versions are supported when confirmation is checked" +msgstr "" + Index: /modules/branches/2.7/findmefollow/i18n/fr_FR/LC_MESSAGES/findmefollow.po =================================================================== --- /modules/branches/2.7/findmefollow/i18n/fr_FR/LC_MESSAGES/findmefollow.po (revision 8139) +++ /modules/branches/2.7/findmefollow/i18n/fr_FR/LC_MESSAGES/findmefollow.po (revision 8139) @@ -0,0 +1,493 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-11-08 18:34+0100\n" +"PO-Revision-Date: 2009-04-20 14:07+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:385 +msgid "Edit Follow Me Settings" +msgstr "Modifier les ParamÚtres Suivez-Moi" + +#: functions.inc.php:388 functions.inc.php:392 +msgid "Add Follow Me Settings" +msgstr "Ajouter des ParamÚtres Suivez-Moi" + +#: functions.inc.php:420 +#, php-format +msgid "Follow-Me: %s (%s)" +msgstr "Suivez-Moi : %s (%s)" + +#: functions.inc.php:438 +#, php-format +msgid "Follow-Me User: %s" +msgstr "Utilisateur Suivez-Moi : %s" + +#: install.php:4 +msgid "Findme Follow Toggle" +msgstr "Activer/Désactiver Suivez-Moi" + +#: install.php:141 uninstall.php:31 +msgid "Cannot connect to Asterisk Manager with " +msgstr "Impossible de se connecter à Asterisk Manager avec " + +#: install.php:159 +msgid "Checking if recordings need migration.." +msgstr "ContrÎle si les enregistrements ont besoin d'être migrés..." + +#: install.php:165 +msgid "migrating" +msgstr "migration en cours" + +#: install.php:166 +msgid "adding annmsg_id field.." +msgstr "ajout du champ annmsg_id" + +#: install.php:170 install.php:179 install.php:188 install.php:200 +#: install.php:216 install.php:226 install.php:242 install.php:252 +#: install.php:268 +msgid "fatal error" +msgstr "erreur fatale" + +#: install.php:173 install.php:182 install.php:191 install.php:282 +#: install.php:290 install.php:298 +msgid "ok" +msgstr "ok" + +#: install.php:175 +msgid "adding remotealert_id field.." +msgstr "ajout du champ remotealert_id" + +#: install.php:184 +msgid "adding toolate_id field.." +msgstr "ajout du champ toolate_id" + +#: install.php:196 +msgid "migrate annmsg to ids.." +msgstr "migration d'annmsg vers ids..." + +#: install.php:220 install.php:246 install.php:272 +#, php-format +msgid "migrated %s entries" +msgstr "%s entrées migrées" + +#: install.php:222 +msgid "migrate remotealert to ids.." +msgstr "migration de remotealert vers ids..." + +#: install.php:248 +msgid "migrate toolate to ids.." +msgstr "migration de toolate vers ids..." + +#: install.php:276 +msgid "dropping annmsg field.." +msgstr "suppression du champ annmsg..." + +#: install.php:280 +msgid "no annmsg field???" +msgstr "pas de champ annmsg ???" + +#: install.php:284 +msgid "dropping remotealert field.." +msgstr "supression du champ remotealert..." + +#: install.php:288 +msgid "no remotealert field???" +msgstr "pas de champ remotealert ???" + +#: install.php:292 +msgid "dropping toolate field.." +msgstr "suppression du champ toolate..." + +#: install.php:296 +msgid "no toolate field???" +msgstr "pas de champ toolate ???" + +#: install.php:302 +msgid "already migrated" +msgstr "déjà migré" + +#: page.findmefollow.php:71 +msgid "Warning! Extension" +msgstr "Attention ! L'Extension" + +#: page.findmefollow.php:71 +msgid "is not allowed for your account" +msgstr "n'est pas autorisée pour votre compte" + +#: page.findmefollow.php:121 page.findmefollow.php:124 +#: page.findmefollow.php:157 +msgid "Follow Me" +msgstr "Suivez-Moi" + +#: page.findmefollow.php:121 +msgid "Choose a user/extension:" +msgstr "Choisissez un utilisateur/une extension :" + +#: page.findmefollow.php:124 +msgid "deleted" +msgstr "supprimé" + +#: page.findmefollow.php:154 +msgid "Delete Entries" +msgstr "Supprimer Entrées" + +#: page.findmefollow.php:164 +msgid "User" +msgstr "Utilisateur" + +#: page.findmefollow.php:168 +msgid "Extension" +msgstr "Extension" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s" +msgstr "Editer %s" + +#: page.findmefollow.php:171 +#, php-format +msgid "Edit %s %s" +msgstr "Editer %s %s" + +#: page.findmefollow.php:180 +msgid "Edit Follow Me" +msgstr "Editer Suivez-Moi" + +#: page.findmefollow.php:180 +msgid "Add Follow Me" +msgstr "Ajouter Suivez-Moi" + +#: page.findmefollow.php:188 +msgid "group number" +msgstr "numéro de groupe" + +#: page.findmefollow.php:188 +msgid "The number users will dial to ring extensions in this ring group" +msgstr "Le numéro que les utilisateurs composeront pour faire sonner les extensions de ce groupe" + +#: page.findmefollow.php:194 +msgid "Disable" +msgstr "Désactiver" + +#: page.findmefollow.php:194 +msgid "" +"By default (not checked) any call to this extension will go to this Follow-" +"Me instead, including directory calls by name from IVRs. If checked, calls " +"will go only to the extension.
However, destinations that specify " +"FollowMe will come here.
Checking this box is often used in conjunction " +"with VmX Locater, where you want a call to ring the extension, and then only " +"if the caller chooses to find you do you want it to come here." +msgstr "" +"Par défaut (non coché) tous les appels pour cette extension iront vers ce " +"Suivez-Moi, incluant les appels d'IVRs. Si coché, les appels iront seulement " +"à l'extension.
Cependant, les destinations qui spécifient Suivez-Moi arriveront " +"ici.
Cocher cette case est souvent utilisé conjointement avec VmX Locater, où vous " +"voulez qu'un appel fasse sonner l'extension, et ensuite seulement si l'appelant choisit " +"de vous trouver, vous voulez que l'appel arrive ici." + +#: page.findmefollow.php:199 +msgid "Initial Ring Time:" +msgstr "Temps de Sonnerie Initial :" + +#: page.findmefollow.php:200 +msgid "" +"This is the number of seconds to ring the primary extension prior to " +"proceeding to the follow-me list. The extension can also be included in the " +"follow-me list. A 0 setting will bypass this." +msgstr "" +"Il s'agit du nombre de secondes à faire sonner l'extension primaire " +"avant de passer à la liste Suivez-Moi. L'extension peut aussi être incluse " +"dans la liste Suivez-Moi. Un paramÚtre 0 ignorera ceci." + +#: page.findmefollow.php:217 +msgid "Ring Strategy:" +msgstr "Stratégie de Sonnerie :" + +#: page.findmefollow.php:219 +msgid "ringallv2" +msgstr "Sonner Partout v2" + +#: page.findmefollow.php:219 +msgid "" +"ring primary extension for initial ring time followed by all additional " +"extensions until one answers" +msgstr "fait sonner l'extension primaire pendant le temps de sonnerie " +"initial suivi de toutes les extensions additionnelles jusqu'à qu'une réponde" + +#: page.findmefollow.php:220 +msgid "ringall" +msgstr "Sonner Partout" + +#: page.findmefollow.php:220 +msgid "ring all available channels until one answers (default)" +msgstr "fait sonner tous les canaux disponibles jusqu'à qu'un réponde (par défaut)" + +#: page.findmefollow.php:221 +msgid "hunt" +msgstr "Chasse" + +#: page.findmefollow.php:221 +msgid "take turns ringing each available extension" +msgstr "Fait sonner tour à tour chaque extension disponible" + +#: page.findmefollow.php:222 +msgid "memoryhunt" +msgstr "Chasse avec mémoire" + +#: page.findmefollow.php:222 +msgid "" +"ring first extension in the list, then ring the 1st and 2nd extension, then " +"ring 1st 2nd and 3rd extension in the list.... etc." +msgstr "" +"fait sonner la premiÚre extension dans la liste, puis fait sonner la " +"1e et la 2e extension, puis 1e, 2e et 3e extension de la liste, etc..." + +#: page.findmefollow.php:223 +msgid "*-prim" +msgstr "" + +#: page.findmefollow.php:223 +msgid "" +"these modes act as described above. However, if the primary extension (first " +"in list) is occupied, the other extensions will not be rung. If the primary " +"is FreePBX DND, it won't be rung. If the primary is FreePBX CF " +"unconditional, then all will be rung" +msgstr "" +"ces modes se agissent tel que décrit ci-dessus. Cependant, si l'extension " +"primaire (1e dans la liste) est occupée, les autres extensions ne sonneront pas. " +"Si la primaire est FreePBX Ne pas Déranger, elle ne sonnera pas. Si la primaire " +"est FreePBX Transfert d'Appel inconditionnel, alors toutes sonneront" + +#: page.findmefollow.php:224 +msgid "firstavailable" +msgstr "Premier Disponible" + +#: page.findmefollow.php:224 +msgid "ring only the first available channel" +msgstr "fait sonner uniquement le premier canal disponible" + +#: page.findmefollow.php:225 +msgid "firstnotonphone" +msgstr "Premier pas au téléphone" + +#: page.findmefollow.php:225 +msgid "ring only the first channel which is not off hook - ignore CW" +msgstr "fait sonner uniquement le premier canal qui n'est pas au téléphone - ignore les alertes d'appel " + +#: page.findmefollow.php:244 +msgid "Ring Time (max 60 sec)" +msgstr "Temps de Sonnerie (max 60 secondes)" + +#: page.findmefollow.php:246 +msgid "" +"Time in seconds that the phones will ring. For all hunt style ring " +"strategies, this is the time for each iteration of phone(s) that are rung" +msgstr "" +"Temps en secondes pendant lequel les téléphones sonneront. Pour toutes les " +"stratégies de styles de sonnerie \"Chasse\", c'est le temps pour chaque itération de téléphone qui sonne" + +#: page.findmefollow.php:254 +msgid "Follow-Me List" +msgstr "Liste Suivez-Moi" + +#: page.findmefollow.php:254 +msgid "" +"List extensions to ring, one per line, or use the Extension Quick Pick below." +"

You can include an extension on a remote system, or an external " +"number by suffixing a number with a pound (#). ex: 2448089# would dial " +"2448089 on the appropriate trunk (see Outbound Routing)." +msgstr "" +"Listez les extensions à faire sonner, une par ligne, ou utilisez l'Extension " +"Sélection Rapide ci-dessous.

Vous pouvez inclure une extension sur un " +"systÚme distant, ou un numéro externe en suffixant un numéro avec un diÚse (#). " +"exemple : 2448089# composera 2448089 sur le trunk approprié (voir Routes Sortantes)." + +#: page.findmefollow.php:269 +msgid "Extension Quick Pick" +msgstr "Extension de Sélection Rapide" + +#: page.findmefollow.php:271 +msgid "Choose an extension to append to the end of the extension list above." +msgstr "Choisissez une extension à placer à la fin de la liste d'extensions ci-dessous." + +#: page.findmefollow.php:277 +msgid "(pick extension)" +msgstr "(choisir extension)" + +#: page.findmefollow.php:290 page.findmefollow.php:308 +msgid "Announcement:" +msgstr "Annonce :" + +#: page.findmefollow.php:290 +msgid "" +"Message to be played to the caller before dialing this group.

To add " +"additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "" +"Message qui sera joué à l'appelant avant de composer le numéro de ce groupe.

" +"Pour ajouter des enregistrements additionnels, veuillez utiliser le MENU \"Enregistrements " +"SystÚme\" sur la gauche" + +#: page.findmefollow.php:296 +msgid "None" +msgstr "Aucun" + +#: page.findmefollow.php:308 +msgid "" +"Message to be played to the caller before dialing this group.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" +"Message qui sera joué à l'appelant avant de composer le numéro de ce groupe.

" +"Vous devez installer et activer le Module \"Enregistrements SystÚme\" pour éditer cette option" + +#: page.findmefollow.php:319 +msgid "Play Music On Hold?" +msgstr "Jouer la Musique d'Attente ?" + +#: page.findmefollow.php:319 +msgid "" +"If you select a Music on Hold class to play, instead of 'Ring', they will " +"hear that instead of Ringing while they are waiting for someone to pick up." +msgstr "" +"Si vous sélectionnez une classe de Musique d'Attente à jouer, à la place de 'Sonner', " +"ils entendront cela à la place de la Sonnerie pendant qu'ils attendent que quelqu'un " +"ne leur réponde." + +#: page.findmefollow.php:325 +msgid "Ring" +msgstr "Sonner" + +#: page.findmefollow.php:338 +msgid "CID Name Prefix" +msgstr "Préfixe de Nom CID" + +#: page.findmefollow.php:338 +msgid "" +"You can optionally prefix the Caller ID name when ringing extensions in this " +"group. ie: If you prefix with \"Sales:\", a call from John Doe would display " +"as \"Sales:John Doe\" on the extensions that ring." +msgstr "" +"Vous pouvez optionnellement préfixer le nom de l'identifiant de l'appelant " +"quand les extensions de ce groupe sonnent. Par exemple : Si vous préfixez " +"avec \"Ventes :\", un appel de John Doe affichera \"Ventes : John Doe\" sur " +"les extensions qui sonnent." + +#: page.findmefollow.php:343 +msgid "Alert Info" +msgstr "Info d'Alerte" + +#: page.findmefollow.php:343 +msgid "" +"You can optionally include an Alert Info which can create distinctive rings " +"on SIP phones." +msgstr "" +"Vous pouvez optionnellement inclure une Info d'Alerte qui peut créer des " +"sonneries différentes sur les téléphones SIP" + +#: page.findmefollow.php:348 +msgid "Confirm Calls" +msgstr "Confirmer les Appels" + +#: page.findmefollow.php:348 +msgid "" +"Enable this if you're calling external numbers that need confirmation - eg, " +"a mobile phone may go to voicemail which will pick up the call. Enabling " +"this requires the remote side push 1 on their phone before the call is put " +"through. This feature only works with the ringall/ringall-prim ring strategy" +msgstr "" +"Activez cette fonctionnalité si vous appelez des numéros extérieurs qui demandent " +"confirmation - ex : un téléphone portable ira peut-être vers la messagerie vocale " +"qui prendra l'appel. Activer ceci requiert qu'on appuye sur 1 de l'autre cÎté sur " +"les téléphones avant que l'appel ne soit transmis. Cette fonctionnalité ne fonctionne " +"qu'avec les stratégies de sonnerie Sonner Partout/Sonner Partout-prim" + +#: page.findmefollow.php:356 +msgid "Remote Announce:" +msgstr "Annonce Distante :" + +#: page.findmefollow.php:356 +msgid "" +"Message to be played to the person RECEIVING the call, if 'Confirm Calls' is " +"enabled.

To add additional recordings use the \"System Recordings\" " +"MENU to the left" +msgstr "" +"Message qui sera joué à la personne RECEVANT l'appel, si 'Confirmer les Appels' " +"est activé.

Pour ajouter des enregistrements additionnels, utilisez le " +"MENU \"Enregistrements SystÚme\" sur la gauche" + +#: page.findmefollow.php:362 page.findmefollow.php:379 +msgid "Default" +msgstr "Par Défaut" + +#: page.findmefollow.php:373 +msgid "Too-Late Announce:" +msgstr "Annonce Trop Tard :" + +#: page.findmefollow.php:373 +msgid "" +"Message to be played to the person RECEIVING the call, if the call has " +"already been accepted before they push 1.

To add additional " +"recordings use the \"System Recordings\" MENU to the left" +msgstr "" +"Message qui sera joué à la personnne RECEVANT l'appel, si l'appel a déjà " +"été accepté avant qu'ils n'appuyent sur 1.

Pour ajouter des " +"enregistrements additionnels, utilisez le MENU \"Enregistrements SystÚme\" sur la gauche" + +#: page.findmefollow.php:391 +msgid "Destination if no answer" +msgstr "Destination si pas de réponse" + +#: page.findmefollow.php:399 +msgid "Submit Changes" +msgstr "Appliquer les Modifications" + +#: page.findmefollow.php:426 +msgid "Invalid Group Number specified" +msgstr "Numéro de Groupe spécifié invalide" + +#: page.findmefollow.php:427 +msgid "Please enter an extension list." +msgstr "Veuillez entrer une liste d'extension" + +#: page.findmefollow.php:428 +msgid "Invalid prefix. Valid characters: a-z A-Z 0-9 : _ -" +msgstr "Préfixe Invalide. CaractÚres valides : a-z A-Z 0-9 : _ -" + +#: page.findmefollow.php:429 +msgid "Invalid time specified" +msgstr "Temps spécifié invalide" + +#: page.findmefollow.php:430 +msgid "Time must be between 1 and 60 seconds" +msgstr "Le temps doit être compris entre 1 et 60 secondes" + +#: page.findmefollow.php:431 +msgid "" +"Only ringall, ringallv2, hunt and the respective -prim versions are " +"supported when confirmation is checked" +msgstr "" +"Sonner Partout, Sonner Partout v2, Chasse et les versions -prim respectives " +"uniquement sont supportés lorsque confirmation est coché" Index: /modules/branches/2.7/findmefollow/uninstall.php =================================================================== --- /modules/branches/2.7/findmefollow/uninstall.php (revision 6158) +++ /modules/branches/2.7/findmefollow/uninstall.php (revision 6158) @@ -0,0 +1,36 @@ +delete(); +unset($fcc); + +$sql = "SELECT * FROM users"; +$userresults = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + +//add details to astdb +if ($astman) { + foreach($userresults as $usr) { + extract($usr); + $astman->database_deltree("AMPUSER/".$grpnum."/followme"); + } +} else { + echo _("Cannot connect to Asterisk Manager with ").$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]; +} + +sql('DROP TABLE IF EXISTS findmefollow'); + +?> Index: /modules/branches/2.7/findmefollow/module.xml =================================================================== --- /modules/branches/2.7/findmefollow/module.xml (revision 8183) +++ /modules/branches/2.7/findmefollow/module.xml (revision 8183) @@ -0,0 +1,45 @@ + + findmefollow + Follow Me + 2.6.0.1 + FreePBX + GPLv2+ + + *2.6.0.1* #3780 + *2.6.0.0* localizations, misc + *2.5.1.7* #3274, localization string enclosures + *2.5.1.6* #3246, #3215, localization fixes + *2.5.1.5* #3222 sqlite3 + *2.5.1.4* localization, Swedish + *2.5.1.3* #3177 don't auto-add vmbox dest to users with novm + *2.5.1.2* #3152, #3165, set voicemail as default dest on new followme + *2.5.1.1* #2987, #3006, #3029 sqlite3 install, spelling, cidprefix missing fix + *2.5.1* #2065 Migrate recordings to recording ids + *2.5.0.1* #2391, #2908, #2845, #1791, added delete and add icons + *2.5.0* Add enable/disable featurecode with blf support, new confirmation sound file announces cid availability + *2.4.14.2* #2604, #2843 fix mal-formed html tags, Russian Translation + *2.4.14.1* added depends on 2.4.0 + *2.4.14* Extension/dest registry, extension quickpick, added hunt strategy with confirmation, it trans, formatting changes + *2.4.13.2* #2193 moh path hardcoded + *2.4.13.1* bump for rc1 + *2.4.13* added xml attribute needsenginedb, #1961 enabled to work with extension numbers leading with 0s + *2.4.12.3* #2057 don't strip CID prefix if no prefix is being added + *2.4.12.2* merge findmefollow/core extension destinations if any, and remove findmefollow destinations as a destination since they are handled by core + *2.4.12.1* #2002 IF() statement can't handle : in the string and can't escape them anyhow + *2.4.12* CHANGELOG TRUNCATED See SVN Repository + + + 2.5.0alpha1 + recordings ge 3.3.8 + + setup + Inbound Call Control + + Much like a ring group, but works on individual extensions. When someone calls the extension, it can be setup to ring for a number of seconds before trying to ring other extensions and/or external numbers, or to ring all at once, or in other various 'hunt' configurations. Most commonly used to ring someone's cell phone if they don't answer their extension. + + + Follow Me + + release/2.6/findmefollow-2.6.0.1.tgz + a6837d8aa0e6e1e9369b7bbea2dcfe71 + Index: /modules/branches/2.7/findmefollow/functions.inc.php =================================================================== --- /modules/branches/2.7/findmefollow/functions.inc.php (revision 8100) +++ /modules/branches/2.7/findmefollow/functions.inc.php (revision 8100) @@ -0,0 +1,513 @@ +addGlobal('FMDEVSTATE','TRUE'); + } + + $fcc = new featurecode('findmefollow', 'fmf_toggle'); + $fmf_code = $fcc->getCodeActive(); + unset($fcc); + + if ($fmf_code != '') { + findmefollow_fmf_toggle($fmf_code); + } + + $ext->addInclude('from-internal-additional','ext-findmefollow'); + $ext->addInclude('from-internal-additional','fmgrps'); + $contextname = 'ext-findmefollow'; + + // Before creating all the contexts, let's make a list of hints if needed + // + if ($amp_conf['USEDEVSTATE'] && $fmf_code != '') { + $device_list = core_devices_list("all", false, true); + foreach ($device_list as $device) { + $ext->add($contextname, $fmf_code.$device['id'], '', new ext_goto("1",$fmf_code,"app-fmf-toggle")); + $ext->addHint($contextname, $fmf_code.$device['id'], "Custom:FOLLOWME".$device['id']); + } + } + + $ringlist = findmefollow_full_list(); + if (is_array($ringlist)) { + foreach($ringlist as $item) { + $grpnum = ltrim($item['0']); + $grp = findmefollow_get($grpnum); + + $strategy = $grp['strategy']; + $grptime = $grp['grptime']; + $grplist = $grp['grplist']; + $postdest = $grp['postdest']; + $grppre = (isset($grp['grppre'])?$grp['grppre']:''); + $annmsg_id = $grp['annmsg_id']; + $dring = $grp['dring']; + + $needsconf = $grp['needsconf']; + $remotealert_id = $grp['remotealert_id']; + $toolate_id = $grp['toolate_id']; + $ringing = $grp['ringing']; + $pre_ring = $grp['pre_ring']; + + if($ringing == 'Ring' || empty($ringing) ) { + $dialopts = '${DIAL_OPTIONS}'; + } else { + // We need the DIAL_OPTIONS variable + $sops = sql("SELECT value from globals where variable='DIAL_OPTIONS'", "getRow"); + $dialopts = "m(${ringing})".str_replace('r', '', $sops[0]); + } + + // Direct target to Follow-Me come here bypassing the followme/ddial conditional check + // + $ext->add($contextname, 'FM'.$grpnum, '', new ext_goto("FM$grpnum","$grpnum")); + + // + // If the followme is configured for extension dialing to go to the the extension and not followme then + // go there. This is often used in VmX Locater functionality when the user does not want the followme + // to automatically be called but only if chosen by the caller as an alternative to going to voicemail + // + $ext->add($contextname, $grpnum, '', new ext_gotoif('$[ "${DB(AMPUSER/'.$grpnum.'/followme/ddial)}" = "EXTENSION" ]', 'ext-local,'.$grpnum.',1')); + $ext->add($contextname, $grpnum, 'FM'.$grpnum, new ext_macro('user-callerid')); + + // block voicemail until phone is answered at which point a macro should be called on the answering + // line to clear this flag so that subsequent transfers can occur, if already set by a the caller + // then don't change. + // + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${BLKVM_OVERRIDE}" = "foo"]', 'skipdb')); + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]', 'skipov')); + + $ext->add($contextname, $grpnum, 'skipdb', new ext_setvar('__NODEST', '')); + $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_OVERRIDE', 'BLKVM/${EXTEN}/${CHANNEL}')); + $ext->add($contextname, $grpnum, '', new ext_setvar('__BLKVM_BASE', '${EXTEN}')); + $ext->add($contextname, $grpnum, '', new ext_setvar('DB(${BLKVM_OVERRIDE})', 'TRUE')); + + // Remember if NODEST was set later, but clear it in case the call is answered so that subsequent + // transfers work. + // + $ext->add($contextname, $grpnum, 'skipov', new ext_setvar('RRNODEST', '${NODEST}')); + $ext->add($contextname, $grpnum, 'skipvmblk', new ext_setvar('__NODEST', '${EXTEN}')); + + // deal with group CID prefix + // but strip only if you plan on setting a new one + if ($grppre != '') { + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RGPREFIX}" = "foo"]', 'REPCID')); + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["${RGPREFIX}" != "${CALLERID(name):0:${LEN(${RGPREFIX})}}"]', 'REPCID')); + $ext->add($contextname, $grpnum, '', new ext_noop('Current RGPREFIX is ${RGPREFIX}....stripping from Caller ID')); + $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)', '${CALLERID(name):${LEN(${RGPREFIX})}}')); + $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', '')); + $ext->add($contextname, $grpnum, 'REPCID', new ext_noop('CALLERID(name) is ${CALLERID(name)}')); + $ext->add($contextname, $grpnum, '', new ext_setvar('_RGPREFIX', $grppre)); + $ext->add($contextname, $grpnum, '', new ext_setvar('CALLERID(name)','${RGPREFIX}${CALLERID(name)}')); + } + // recording stuff + $ext->add($contextname, $grpnum, '', new ext_setvar('RecordMethod','Group')); + $ext->add($contextname, $grpnum, '', new ext_macro('record-enable','${DB(AMPUSER/'."$grpnum/followme/grplist)}".',${RecordMethod}')); + + // MODIFIED (PL) + // Add Alert Info if set but don't override and already set value (could be from ringgroup, directdid, etc.) + // + if ((isset($dring) ? $dring : '') != '') { + // If ALERTINFO is set, then skip to the next set command. This was modified to two lines because the previous + // IF() couldn't handle ':' as part of the string. The jump to PRIORITY+2 allows for now destination label + // which is needed in the 2.3 version. + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["x${ALERT_INFO}"!="x"]','$[${PRIORITY}+2])}')); + $ext->add($contextname, $grpnum, '', new ext_setvar("__ALERT_INFO", str_replace(';', '\;', $dring) )); + } + // If pre_ring is set, then ring this number of seconds prior to moving on + if ((isset($strategy) ? substr($strategy,0,strlen('ringallv2')) : '') != 'ringallv2') { + $ext->add($contextname, $grpnum, '', new ext_gotoif('$[$[ "${DB(AMPUSER/'.$grpnum.'/followme/prering)}" = "0" ] | $[ "${DB(AMPUSER/'.$grpnum.'/followme/prering)}" = "" ]] ', 'skipsimple')); + $ext->add($contextname, $grpnum, '', new ext_macro('simple-dial',$grpnum.',${DB(AMPUSER/'."$grpnum/followme/prering)}")); + } + + // group dial + $ext->add($contextname, $grpnum, 'skipsimple', new ext_setvar('RingGroupMethod',$strategy)); + $ext->add($contextname, $grpnum, '', new ext_setvar('_FMGRP',$grpnum)); + if ((isset($annmsg_id) ? $annmsg_id : '')) { + $annmsg = recordings_get_file($annmsg_id); + // should always answer before playing anything, shouldn't we ? + $ext->add($contextname, $grpnum, '', new ext_gotoif('$[$["${DIALSTATUS}" = "ANSWER"] | $["foo${RRNODEST}" != "foo"]]','DIALGRP')); + $ext->add($contextname, $grpnum, '', new ext_answer('')); + $ext->add($contextname, $grpnum, '', new ext_wait(1)); + $ext->add($contextname, $grpnum, '', new ext_playback($annmsg)); + } + + // Create the confirm target + $len=strlen($grpnum)+4; + $remotealert = recordings_get_file($remotealert_id); + $toolate = recordings_get_file($toolate_id); + $ext->add("fmgrps", "_RG-${grpnum}-.", '', new ext_macro('dial','${DB(AMPUSER/'."$grpnum/followme/grptime)},". + "M(confirm^${remotealert}^${toolate}^${grpnum})$dialopts".',${EXTEN:'.$len.'}')); + + // If grpconf == ENABLED call with confirmation ELSE call normal + $ext->add($contextname, $grpnum, 'DIALGRP', new + ext_gotoif('$[ "${DB(AMPUSER/'.$grpnum.'/followme/grpconf)}" = "ENABLED" ]', 'doconfirm')); + + // Normal call + if ((isset($strategy) ? substr($strategy,0,strlen('ringallv2')) : '') != 'ringallv2') { + $ext->add($contextname, $grpnum, '', new ext_macro('dial','${DB(AMPUSER/'."$grpnum/followme/grptime)},$dialopts,".'${DB(AMPUSER/'."$grpnum/followme/grplist)}")); + } else { + $ext->add($contextname, $grpnum, '', new ext_macro('dial','$[ ${DB(AMPUSER/'.$grpnum.'/followme/grptime)} + ${DB(AMPUSER/'.$grpnum.'/followme/prering)} ],'.$dialopts.',${DB(AMPUSER/'.$grpnum.'/followme/grplist)}')); + } + $ext->add($contextname, $grpnum, '', new ext_goto('nextstep')); + + // Call Confirm call + if ((isset($strategy) ? substr($strategy,0,strlen('ringallv2')) : '') != 'ringallv2') { + $ext->add($contextname, $grpnum, 'doconfirm', new ext_macro('dial-confirm','${DB(AMPUSER/'."$grpnum/followme/grptime)},$dialopts,".'${DB(AMPUSER/'."$grpnum/followme/grplist)},".$grpnum)); + } else { + $ext->add($contextname, $grpnum, 'doconfirm', new ext_macro('dial-confirm','$[ ${DB(AMPUSER/'.$grpnum.'/followme/grptime)} + ${DB(AMPUSER/'.$grpnum.'/followme/prering)} ],'.$dialopts.',${DB(AMPUSER/'.$grpnum.'/followme/grplist)},'.$grpnum)); + } + + $ext->add($contextname, $grpnum, 'nextstep', new ext_setvar('RingGroupMethod','')); + + // Did the call come from a queue or ringgroup, if so, don't go to the destination, just end and let + // the queue or ringgroup decide what to do next + // + $ext->add($contextname, $grpnum, '', new ext_gotoif('$["foo${RRNODEST}" != "foo"]', 'nodest')); + $ext->add($contextname, $grpnum, '', new ext_setvar('__NODEST', '')); + + $ext->add($contextname, $grpnum, '', new ext_dbdel('${BLKVM_OVERRIDE}')); + + // where next? + if ((isset($postdest) ? $postdest : '') != '') { + $ext->add($contextname, $grpnum, '', new ext_goto($postdest)); + } else { + $ext->add($contextname, $grpnum, '', new ext_hangup('')); + } + $ext->add($contextname, $grpnum, 'nodest', new ext_noop('SKIPPING DEST, CALL CAME FROM Q/RG: ${RRNODEST}')); + } + } + break; + } +} + +function findmefollow_add($grpnum,$strategy,$grptime,$grplist,$postdest,$grppre='',$annmsg_id='',$dring,$needsconf,$remotealert_id,$toolate_id,$ringing,$pre_ring,$ddial) { + global $amp_conf; + global $astman; + global $db; + + $sql = "INSERT INTO findmefollow (grpnum, strategy, grptime, grppre, grplist, annmsg_id, postdest, dring, needsconf, remotealert_id, toolate_id, ringing, pre_ring) VALUES ('".$db->escapeSimple($grpnum)."', '".$db->escapeSimple($strategy)."', ".$db->escapeSimple($grptime).", '".$db->escapeSimple($grppre)."', '".$db->escapeSimple($grplist)."', '".$db->escapeSimple($annmsg_id)."', '".$db->escapeSimple($postdest)."', '".$db->escapeSimple($dring)."', '$needsconf', '$remotealert_id', '$toolate_id', '$ringing', '$pre_ring')"; + $results = sql($sql); + + if ($astman) { + $astman->database_put("AMPUSER",$grpnum."/followme/prering",isset($pre_ring)?$pre_ring:''); + $astman->database_put("AMPUSER",$grpnum."/followme/grptime",isset($grptime)?$grptime:''); + $astman->database_put("AMPUSER",$grpnum."/followme/grplist",isset($grplist)?$grplist:''); + + $needsconf = isset($needsconf)?$needsconf:''; + $confvalue = ($needsconf == 'CHECKED')?'ENABLED':'DISABLED'; + $astman->database_put("AMPUSER",$grpnum."/followme/grpconf",$confvalue); + + $ddial = isset($ddial)?$ddial:''; + $ddialvalue = ($ddial == 'CHECKED')?'EXTENSION':'DIRECT'; + $astman->database_put("AMPUSER",$grpnum."/followme/ddial",$ddialvalue); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } +} + +function findmefollow_del($grpnum) { + global $amp_conf; + global $astman; + global $db; + + $results = sql("DELETE FROM findmefollow WHERE grpnum = '".$db->escapeSimple($grpnum)."'","query"); + + if ($astman) { + $astman->database_deltree("AMPUSER/".$grpnum."/followme"); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } +} + +function findmefollow_full_list() { + $results = sql("SELECT grpnum FROM findmefollow ORDER BY CAST(grpnum as UNSIGNED)","getAll",DB_FETCHMODE_ASSOC); + foreach ($results as $result) { + if (isset($result['grpnum']) && checkRange($result['grpnum'])) { + $grps[] = array($result['grpnum']); + } + } + if (isset($grps)) + return $grps; + else + return null; +} + +function findmefollow_list($get_all=false) { + + global $db; + $sql = "SELECT grpnum FROM findmefollow ORDER BY CAST(grpnum as UNSIGNED)"; + $results = $db->getCol($sql); + if(DB::IsError($results)) { + $results = null; + } + if (isset($results)) { + foreach($results as $result) { + if ($get_all || checkRange($result)){ + $grps[] = $result; + } + } + } + if (isset($grps)) { + return $grps; + } + else { + return null; + } +} + +// This gets the list of all active users so that the Find Me Follow display can limit the options to only created users. +// the returned arrays contain [0]:extension [1]:name +// +// This was pulled straight out of previous 1.x version, might need cleanup laster +// +function findmefollow_allusers() { + global $db; + $sql = "SELECT extension,name FROM users ORDER BY extension"; + $results = $db->getAll($sql); + if(DB::IsError($results)) { + $results = null; + } + foreach($results as $result){ + if (checkRange($result[0])){ + $users[] = array($result[0],$result[1]); + } + } + if (isset($users)) sort($users); + return $users; +} + +// Only check astdb if check_astdb is not 0. For some reason, this fails if the asterisk manager code +// is included (executed) by all calls to this function. This results in silently not generating the +// extensions_additional.conf file. page.findmefollow.php does set it to 1 which means that when running +// the GUI, any changes not reflected in SQL will be detected and written back to SQL so that they are +// in sync. Ideally, anything that changes the astdb should change SQL. (in some ways, these should both +// not be here but ... +// +// Need to go back and confirm at some point that the $check_astdb error is still there and deal with it. +// as variables like $ddial get introduced to only be in astdb, the result array will not include them +// if not able to get to astdb. (I suspect in 2.2 and beyond this may all be fixed). +// +function findmefollow_get($grpnum, $check_astdb=0) { + global $amp_conf; + global $astman; + global $db; + + $results = sql("SELECT grpnum, strategy, grptime, grppre, grplist, annmsg_id, postdest, dring, needsconf, remotealert_id, toolate_id, ringing, pre_ring, voicemail FROM findmefollow INNER JOIN `users` ON `extension` = `grpnum` WHERE grpnum = '".$db->escapeSimple($grpnum)."'","getRow",DB_FETCHMODE_ASSOC); + if (!isset($results['voicemail'])) { + $results['voicemail'] = sql("SELECT `voicemail` FROM `users` WHERE `extension` = '".$db->escapeSimple($grpnum)."'","getOne"); + } + + if ($check_astdb) { + if ($astman) { + $astdb_prering = $astman->database_get("AMPUSER",$grpnum."/followme/prering"); + $astdb_grptime = $astman->database_get("AMPUSER",$grpnum."/followme/grptime"); + $astdb_grplist = $astman->database_get("AMPUSER",$grpnum."/followme/grplist"); + $astdb_grpconf = $astman->database_get("AMPUSER",$grpnum."/followme/grpconf"); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } + $astdb_ddial = $astman->database_get("AMPUSER",$grpnum."/followme/ddial"); + // If the values are different then use what is in astdb as it may have been changed. + // + $changed=0; + if (!isset($results['pre_ring'])) { + $results['pre_ring'] = ''; + } + if (!isset($results['grptime'])) { + $results['grptime'] = ''; + } + if (!isset($results['grplist'])) { + $results['grplist'] = ''; + } + if (!isset($results['needsconf'])) { + $results['needsconf'] = ''; + } + if (($astdb_prering != $results['pre_ring']) && ($astdb_prering >= 0)) { + $results['pre_ring'] = $astdb_prering; + $changed=1; + } + if (($astdb_grptime != $results['grptime']) && ($astdb_grptime > 0)) { + $results['grptime'] = $astdb_grptime; + $changed=1; + } + if ((trim($astdb_grplist) != trim($results['grplist'])) && (trim($astdb_grplist) != '')) { + $results['grplist'] = $astdb_grplist; + $changed=1; + } + + if (trim($astdb_grpconf) == 'ENABLED') { + $confvalue = 'CHECKED'; + } elseif (trim($astdb_grpconf) == 'DISABLED') { + $confvalue = ''; + } else { + //Bogus value, should not get here but treat as disabled + $confvalue = ''; + } + if ($confvalue != trim($results['needsconf'])) { + $results['needsconf'] = $confvalue; + $changed=1; + } + + // Not in sql so no sanity check needed + // + if (trim($astdb_ddial) == 'EXTENSION') { + $ddial = 'CHECKED'; + } elseif (trim($astdb_ddial) == 'DIRECT') { + $ddial = ''; + } else { + //Bogus value, should not get here but treat as disabled + $ddial = ''; + } + $results['ddial'] = $ddial; + + if ($changed) { + $sql = "UPDATE findmefollow SET grptime = '".$results['grptime']."', grplist = '". + $db->escapeSimple(trim($results['grplist']))."', pre_ring = '".$results['pre_ring']. + "', needsconf = '".$results['needsconf']."' WHERE grpnum = '".$db->escapeSimple($grpnum)."' LIMIT 1"; + $sql_results = sql($sql); + } + } // if check_astdb + + return $results; +} + +function findmefollow_configpageinit($dispnum) { + global $currentcomponent; + + if ( ($dispnum == 'users' || $dispnum == 'extensions') ) { + $currentcomponent->addguifunc('findmefollow_configpageload'); + } +} + +function findmefollow_configpageload() { + global $currentcomponent; + + $viewing_itemid = isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:null; + $action = isset($_REQUEST['action'])?$_REQUEST['action']:null; + if ( $viewing_itemid != '' && $action != 'del') { + $set_findmefollow = findmefollow_list(); + $grpURL = $_SERVER['PHP_SELF'].'?'.'display=findmefollow&extdisplay=GRP-'.$viewing_itemid; + if (is_array($set_findmefollow)) { + if (in_array($viewing_itemid,$set_findmefollow)) { + $grpTEXT = _("Edit Follow Me Settings"); + $icon = "images/user_go.png"; + } else { + $grpTEXT = _("Add Follow Me Settings"); + $icon = "images/user_add.png"; + } + } else { + $grpTEXT = _("Add Follow Me Settings"); + $icon = "images/user_add.png"; + } + $label = ' '.$grpTEXT.''; + $currentcomponent->addguielem('_top', new gui_link('findmefollowlink', $label, $grpURL)); + } +} + +function findmefollow_check_destinations($dest=true) { + global $active_modules; + + $destlist = array(); + if (is_array($dest) && empty($dest)) { + return $destlist; + } + $sql = "SELECT grpnum, postdest, name FROM findmefollow INNER JOIN users ON grpnum = extension "; + if ($dest !== true) { + $sql .= "WHERE postdest in ('".implode("','",$dest)."')"; + } + $results = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + + //$type = isset($active_modules['announcement']['type'])?$active_modules['announcement']['type']:'setup'; + + foreach ($results as $result) { + $thisdest = $result['postdest']; + $thisid = $result['grpnum']; + $destlist[] = array( + 'dest' => $thisdest, + 'description' => sprintf(_("Follow-Me: %s (%s)"),$thisid,$result['name']), + 'edit_url' => 'config.php?display=findmefollow&extdisplay=GRP-'.urlencode($thisid), + ); + } + return $destlist; +} + +function findmefollow_recordings_usage($recording_id) { + global $active_modules; + + $results = sql("SELECT `grpnum` FROM `findmefollow` WHERE `annmsg_id` = '$recording_id' OR `remotealert_id` = '$recording_id' OR `toolate_id` = '$recording_id'","getAll",DB_FETCHMODE_ASSOC); + if (empty($results)) { + return array(); + } else { + //$type = isset($active_modules['ivr']['type'])?$active_modules['ivr']['type']:'setup'; + foreach ($results as $result) { + $usage_arr[] = array( + 'url_query' => 'config.php?display=findmefollow&extdisplay=GRP-'.urlencode($result['grpnum']), + 'description' => sprintf(_("Follow-Me User: %s"),$result['grpnum']), + ); + } + return $usage_arr; + } +} + +function findmefollow_fmf_toggle($c) { + global $ext; + global $amp_conf; + global $version; + + $DEVSTATE = version_compare($version, "1.6", "ge") ? "DEVICE_STATE" : "DEVSTATE"; + + $id = "app-fmf-toggle"; // The context to be included + $ext->addInclude('from-internal-additional', $id); // Add the include from from-internal + + $ext->add($id, $c, '', new ext_goto('start','s',$id)); + $c = 's'; + + $ext->add($id, $c, 'start', new ext_answer('')); + $ext->add($id, $c, '', new ext_wait('1')); + $ext->add($id, $c, '', new ext_macro('user-callerid')); + + $ext->add($id, $c, '', new ext_gotoif('$["${DB(AMPUSER/${AMPUSER}/followme/ddial)}" = "EXTENSION"]', 'activate')); + $ext->add($id, $c, '', new ext_gotoif('$["${DB(AMPUSER/${AMPUSER}/followme/ddial)}" = "DIRECT"]', 'deactivate','end')); + + $ext->add($id, $c, 'deactivate', new ext_setvar('DB(AMPUSER/${AMPUSER}/followme/ddial)', 'EXTENSION')); + if ($amp_conf['USEDEVSTATE']) { + $ext->add($id, $c, '', new ext_setvar('STATE', 'NOT_INUSE')); + $ext->add($id, $c, '', new ext_gosub('1', 'sstate', $id)); + } + if ($amp_conf['FCBEEPONLY']) { + $ext->add($id, $c, 'hook_off', new ext_playback('beep')); // $cmd,n,Playback(...) + } else { + $ext->add($id, $c, 'hook_off', new ext_playback('followme&de-activated')); + } + $ext->add($id, $c, 'end', new ext_macro('hangupcall')); + + $ext->add($id, $c, 'activate', new ext_setvar('DB(AMPUSER/${AMPUSER}/followme/ddial)', 'DIRECT')); + if ($amp_conf['USEDEVSTATE']) { + $ext->add($id, $c, '', new ext_setvar('STATE', 'INUSE')); + $ext->add($id, $c, '', new ext_gosub('1', 'sstate', $id)); + } + if ($amp_conf['FCBEEPONLY']) { + $ext->add($id, $c, 'hook_on', new ext_playback('beep')); // $cmd,n,Playback(...) + } else { + $ext->add($id, $c, 'hook_on', new ext_playback('followme&activated')); + } + $ext->add($id, $c, '', new ext_macro('hangupcall')); + + if ($amp_conf['USEDEVSTATE']) { + $c = 'sstate'; + $ext->add($id, $c, '', new ext_dbget('DEVICES','AMPUSER/${AMPUSER}/device')); + $ext->add($id, $c, '', new ext_gotoif('$["${DEVICES}" = "" ]', 'return')); + $ext->add($id, $c, '', new ext_setvar('LOOPCNT', '${FIELDQTY(DEVICES,&)}')); + $ext->add($id, $c, '', new ext_setvar('ITER', '1')); + $ext->add($id, $c, 'begin', new ext_setvar($DEVSTATE.'(Custom:FOLLOWME${CUT(DEVICES,&,${ITER})})','${STATE}')); + $ext->add($id, $c, '', new ext_setvar('ITER', '$[${ITER} + 1]')); + $ext->add($id, $c, '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin')); + $ext->add($id, $c, 'return', new ext_return()); + } +} +?> Index: /modules/branches/2.7/findmefollow/page.findmefollow.php =================================================================== --- /modules/branches/2.7/findmefollow/page.findmefollow.php (revision 6678) +++ /modules/branches/2.7/findmefollow/page.findmefollow.php (revision 6678) @@ -0,0 +1,467 @@ +javascript:alert('". _("Warning! Extension")." ".$account." "._("is not allowed for your account").".');"; + } else { + //add group + if ($action == 'addGRP') { + findmefollow_add($account,$strategy,$grptime,implode("-",$grplist),$goto,$grppre,$annmsg_id,$dring,$needsconf,$remotealert_id,$toolate_id,$ringing,$pre_ring,$ddial); + + needreload(); + redirect_standard(); + } + + //del group + if ($action == 'delGRP') { + findmefollow_del($account); + needreload(); + redirect_standard(); + } + + //edit group - just delete and then re-add the extension + if ($action == 'edtGRP') { + findmefollow_del($account); + findmefollow_add($account,$strategy,$grptime,implode("-",$grplist),$goto,$grppre,$annmsg_id,$dring,$needsconf,$remotealert_id,$toolate_id,$ringing,$pre_ring,$ddial); + + needreload(); + redirect_standard('extdisplay'); + } + } +} +?> + + + + +
+

'._("Follow Me").'


'._('Choose a user/extension:').'








'; + } +elseif ($action == 'delGRP') { + echo '

'._("Follow Me").' '.$account.' '._("deleted").'!









'; +} else { + if ($extdisplay != "") { + // We need to populate grplist with the existing extension list. + $extdisplay = ltrim($extdisplay,'GRP-'); + + $thisgrp = findmefollow_get($extdisplay, 1); + $grpliststr = isset($thisgrp['grplist']) ? $thisgrp['grplist'] : ''; + $grplist = explode("-", $grpliststr); + + $strategy = isset($thisgrp['strategy']) ? $thisgrp['strategy'] : ''; + $grppre = isset($thisgrp['grppre']) ? $thisgrp['grppre'] : ''; + $grptime = isset($thisgrp['grptime']) ? $thisgrp['grptime'] : ''; + $annmsg_id = isset($thisgrp['annmsg_id']) ? $thisgrp['annmsg_id'] : ''; + $dring = isset($thisgrp['dring']) ? $thisgrp['dring'] : ''; + $remotealert_id = isset($thisgrp['remotealert_id']) ? $thisgrp['remotealert_id'] : ''; + $needsconf = isset($thisgrp['needsconf']) ? $thisgrp['needsconf'] : ''; + $toolate_id = isset($thisgrp['toolate_id']) ? $thisgrp['toolate_id'] : ''; + $ringing = isset($thisgrp['ringing']) ? $thisgrp['ringing'] : ''; + $pre_ring = isset($thisgrp['pre_ring']) ? $thisgrp['pre_ring'] : ''; + $ddial = isset($thisgrp['ddial']) ? $thisgrp['ddial'] : ''; + $goto = isset($thisgrp['postdest'])?$thisgrp['postdest']:((isset($thisgrp['voicemail']) && $thisgrp['voicemail'] != 'novm')?"ext-local,vmu$extdisplay,1":''); + unset($grpliststr); + unset($thisgrp); + + $delButton = " +
+ + + + +
"; + + echo "

"._("Follow Me").": ".$extdisplay."

"; + + + // Copied straight out of old code,let's see if it works? + // + if (isset($amp_conf["AMPEXTENSIONS"]) && ($amp_conf["AMPEXTENSIONS"] == "deviceanduser")) { + $editURL = $_SERVER['PHP_SELF'].'?display=users&extdisplay='.$extdisplay; + $EXTorUSER = _("User"); + } + else { + $editURL = $_SERVER['PHP_SELF'].'?display=extensions&extdisplay='.$extdisplay; + $EXTorUSER = _("Extension"); + } + + $label = ' '.sprintf(_("Edit %s %s"),$EXTorUSER, $extdisplay).''; + echo "

".$label."

"; + echo "

".$delButton."

"; + } + ?> +
+ + "> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

:
However, destinations that specify FollowMe will come here.
Checking this box is often used in conjunction with VmX Locater, where you want a call to ring the extension, and then only if the caller chooses to find you do you want it to come here.')?>
:
tabindex=""/>
+ + + + +
+ + + :
+ :
+ :
+ :
+ :
+ :
+ :
+
+
+
+ +
+ + + + + +
:

You can include an extension on a remote system, or an external number by suffixing a number with a pound (#). ex: 2448089# would dial 2448089 on the appropriate trunk (see Outbound Routing).")?>

+ 20) ? 20 : $rows); +?> + +
+ + + + + + + +

To add additional recordings please use the \"System Recordings\" MENU to the left")?>
+ +

You must install and enable the \"Systems Recordings\" Module to edit this option")?>
+ + +
+ +
:
:
: + tabindex=""/> +

To add additional recordings use the \"System Recordings\" MENU to the left")?>
+ +

To add additional recordings use the \"System Recordings\" MENU to the left")?>
+ +

:

" tabindex="">
+
+ + + Index: /modules/branches/2.7/findmefollow/install.php =================================================================== --- /modules/branches/2.7/findmefollow/install.php (revision 6892) +++ /modules/branches/2.7/findmefollow/install.php (revision 6892) @@ -0,0 +1,306 @@ +"; + } +} + +if (! function_exists("outn")) { + function outn($text) { + echo $text; + } +} + +$sql = " +CREATE TABLE IF NOT EXISTS `findmefollow` +( + `grpnum` VARCHAR( 20 ) NOT NULL , + `strategy` VARCHAR( 50 ) NOT NULL , + `grptime` SMALLINT NOT NULL , + `grppre` VARCHAR( 100 ) NULL , + `grplist` VARCHAR( 255 ) NOT NULL , + `annmsg_id` INTEGER, + `postdest` VARCHAR( 255 ) NULL , + `dring` VARCHAR ( 255 ) NULL , + `remotealert_id` INTEGER, + `needsconf` VARCHAR ( 10 ), + `toolate_id` INTEGER, + `pre_ring` SMALLINT NOT NULL DEFAULT 0, + PRIMARY KEY (`grpnum`) +) +"; +$check = $db->query($sql); +if(DB::IsError($check)) { + die_freepbx("Can not create annoucment table"); +} + +//TODO: Also need to create all the states if enabled + +$fcc = new featurecode('findmefollow', 'fmf_toggle'); +$fcc->setDescription('Findme Follow Toggle'); +$fcc->setDefault('*21'); +$fcc->update(); +unset($fcc); + +// Adding support for a pre_ring before follow-me group +$sql = "SELECT pre_ring FROM findmefollow"; +$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if(DB::IsError($check)) { + // add new field + $sql = "ALTER TABLE findmefollow ADD pre_ring SMALLINT( 6 ) NOT NULL DEFAULT 0 ;"; + $result = $db->query($sql); + if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); } +} +// If there is no needsconf then this is a really old upgrade. We create the 2 old fields +// here and then the migration code below will change them as needed but will work properly +// since it now has the fields it is expecting +// +$sql = "SELECT needsconf FROM findmefollow"; +$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if(DB::IsError($check)) { + // add new field + $sql = "ALTER TABLE findmefollow ADD remotealert VARCHAR( 80 ) NULL ;"; + $result = $db->query($sql); + if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); } + + $sql = "ALTER TABLE findmefollow ADD needsconf VARCHAR( 10 ) NULL ;"; + $result = $db->query($sql); + if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); } + + $sql = "ALTER TABLE findmefollow ADD toolate VARCHAR( 80 ) NULL ;"; + $result = $db->query($sql); + if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); } +} +// Version 2.1 upgrade. Add support for ${DIALOPTS} override, playing MOH +$sql = "SELECT ringing FROM findmefollow"; +$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if(DB::IsError($check)) { + // add new field + $sql = "ALTER TABLE findmefollow ADD ringing VARCHAR( 80 ) NULL ;"; + $result = $db->query($sql); + if(DB::IsError($result)) { die_freepbx($result->getDebugInfo()); } +} +// increase size for older installs, ignore sqlite3, doesn't support ALTER...CHANGE syntax, table created properly above +if($amp_conf["AMPDBENGINE"] != "sqlite3") { + $db->query("ALTER TABLE findmefollow CHANGE dring dring VARCHAR( 255 ) NULL"); +} +$results = array(); +$sql = "SELECT grpnum, postdest FROM findmefollow"; +$results = $db->getAll($sql, DB_FETCHMODE_ASSOC); +if (!DB::IsError($results)) { // error - table must not be there + foreach ($results as $result) { + $old_dest = $result['postdest']; + $grpnum = $result['grpnum']; + + $new_dest = merge_ext_followme(trim($old_dest)); + if ($new_dest != $old_dest) { + $sql = "UPDATE findmefollow SET postdest = '$new_dest' WHERE grpnum = '$grpnum' AND postdest = '$old_dest'"; + $results = $db->query($sql); + if(DB::IsError($results)) { + die_freepbx($results->getMessage()); + } + } + } +} + +// this function builds the AMPUSER//followme tree for each user who has a group number +// it's purpose is to convert after an upgrade + + +// TODO, is this needed...? +// is this global...? what if we include this files +// from a function...? + +$sql = "SELECT * FROM findmefollow"; +$userresults = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + +//add details to astdb +if ($astman) { + foreach($userresults as $usr) { + extract($usr); + + $astman->database_put("AMPUSER",$grpnum."/followme/prering",isset($pre_ring)?$pre_ring:''); + $astman->database_put("AMPUSER",$grpnum."/followme/grptime",isset($grptime)?$grptime:''); + $astman->database_put("AMPUSER",$grpnum."/followme/grplist",isset($grplist)?$grplist:''); + $confvalue = ($needsconf == 'CHECKED')?'ENABLED':'DISABLED'; + $astman->database_put("AMPUSER",$grpnum."/followme/grpconf",isset($needsconf)?$confvalue:''); + $ddial = $astman->database_get("AMPUSER",$grpnum."/followme/ddial"); + $ddial = ($ddial == 'EXTENSION' || $ddial == 'DIRECT')?$ddial:'DIRECT'; + $astman->database_put("AMPUSER",$grpnum."/followme/ddial",$ddial); + } +} else { + echo _("Cannot connect to Asterisk Manager with ").$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]; +} + +// Version 2.4.13 change (#1961) +// Ignore sqlite3, doesn't support ALTER...CHANGE syntax, table created properly above +if($amp_conf["AMPDBENGINE"] != "sqlite3") { + $sql = "ALTER TABLE `findmefollow` CHANGE `grpnum` `grpnum` VARCHAR( 20 ) NOT NULL"; + $results = $db->query($sql); + if(DB::IsError($results)) { + echo $results->getMessage(); + return false; + } +} + +// Version 2.5 migrate to recording ids +// +// Do not do upgrades for sqlite3. Assume full support begins in 2.5 and our CREATE syntax is correct +if($amp_conf["AMPDBENGINE"] != "sqlite3") { + outn(_("Checking if recordings need migration..")); + $sql = "SELECT annmsg_id FROM findmefollow"; + $check = $db->getRow($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($check)) { + // Add recording_id field + // + out(_("migrating")); + outn(_("adding annmsg_id field..")); + $sql = "ALTER TABLE findmefollow ADD annmsg_id INTEGER"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } else { + out(_("ok")); + } + outn(_("adding remotealert_id field..")); + $sql = "ALTER TABLE findmefollow ADD remotealert_id INTEGER"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } else { + out(_("ok")); + } + outn(_("adding toolate_id field..")); + $sql = "ALTER TABLE findmefollow ADD toolate_id INTEGER"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } else { + out(_("ok")); + } + + // Get all the valudes and replace them with recording_id + // + outn(_("migrate annmsg to ids..")); + $sql = "SELECT `grpnum`, `annmsg` FROM `findmefollow`"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + out(_("fatal error")); + die_freepbx($results->getDebugInfo()); + } + $migrate_arr = array(); + $count = 0; + foreach ($results as $row) { + if (trim($row['annmsg']) != '') { + $rec_id = recordings_get_or_create_id($row['annmsg'], 'findmefollow'); + $migrate_arr[] = array($rec_id, $row['grpnum']); + $count++; + } + } + if ($count) { + $compiled = $db->prepare('UPDATE `findmefollow` SET `annmsg_id` = ? WHERE `grpnum` = ?'); + $result = $db->executeMultiple($compiled,$migrate_arr); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } + } + out(sprintf(_("migrated %s entries"),$count)); + + outn(_("migrate remotealert to ids..")); + $sql = "SELECT `grpnum`, `remotealert` FROM `findmefollow`"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + out(_("fatal error")); + die_freepbx($results->getDebugInfo()); + } + $migrate_arr = array(); + $count = 0; + foreach ($results as $row) { + if (trim($row['remotealert']) != '') { + $rec_id = recordings_get_or_create_id($row['remotealert'], 'findmefollow'); + $migrate_arr[] = array($rec_id, $row['grpnum']); + $count++; + } + } + if ($count) { + $compiled = $db->prepare('UPDATE `findmefollow` SET `remotealert_id` = ? WHERE `grpnum` = ?'); + $result = $db->executeMultiple($compiled,$migrate_arr); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } + } + out(sprintf(_("migrated %s entries"),$count)); + + outn(_("migrate toolate to ids..")); + $sql = "SELECT `grpnum`, `toolate` FROM `findmefollow`"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + out(_("fatal error")); + die_freepbx($results->getDebugInfo()); + } + $migrate_arr = array(); + $count = 0; + foreach ($results as $row) { + if (trim($row['toolate']) != '') { + $rec_id = recordings_get_or_create_id($row['toolate'], 'findmefollow'); + $migrate_arr[] = array($rec_id, $row['grpnum']); + $count++; + } + } + if ($count) { + $compiled = $db->prepare('UPDATE `findmefollow` SET `toolate_id` = ? WHERE `grpnum` = ?'); + $result = $db->executeMultiple($compiled,$migrate_arr); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } + } + out(sprintf(_("migrated %s entries"),$count)); + + // Now remove the old recording field replaced by new id field + // + outn(_("dropping annmsg field..")); + $sql = "ALTER TABLE `findmefollow` DROP `annmsg`"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("no annmsg field???")); + } else { + out(_("ok")); + } + outn(_("dropping remotealert field..")); + $sql = "ALTER TABLE `findmefollow` DROP `remotealert`"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("no remotealert field???")); + } else { + out(_("ok")); + } + outn(_("dropping toolate field..")); + $sql = "ALTER TABLE `findmefollow` DROP `toolate`"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("no toolate field???")); + } else { + out(_("ok")); + } + + } else { + out(_("already migrated")); + } +} + +?> Index: /modules/branches/2.7/pinsets/i18n/sv_SE/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/sv_SE/LC_MESSAGES/pinsets.po (revision 6761) +++ /modules/branches/2.7/pinsets/i18n/sv_SE/LC_MESSAGES/pinsets.po (revision 6761) @@ -0,0 +1,100 @@ +# 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: Freeà +BX pinsets\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:39+0200\n" +"PO-Revision-Date: 2008-09-17 14:08+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:291 +msgid "PIN Set" +msgstr "PIN-kod" + +#: functions.inc.php:291 +msgid "Optional: Select a PIN set to use. If using this option, leave the Route Password field blank." +msgstr "Valfritt: VÀlj en PIN-kod. Om du vÀljer en PIN-kod, lÀmna dÃ¥ fÀltet Lösenord för vÀg tomt" + +#: functions.inc.php:294 +msgid "None" +msgstr "Ingen" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "LÀgg till PIN-kod(er)" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "PIN-kod" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "borttagen" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "Ta bort PIN-kod" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "PIN-kod:" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "LÀgg till PIN-kod" + +#: page.pinsets.php:83 +msgid "PIN Sets are used to manage lists of PINs that can be used to access restricted features such as Outbound Routes. The PIN can also be added to the CDR record's 'accountcode' field." +msgstr "PIN-koder hanterad de listor med koder som kan anvÀndas pÃ¥ diverse stÀlle i FreePBX sÃ¥som UtgÃ¥ende vÀgar. PIN-koderna kan ocksÃ¥ visas i samtalsregistret i fÀltet 'accountcode' om detta vÀljs." + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "Redigera PIN-koder" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "Ny PIN-kod" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "Beskrivning för PIN-kod:" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "LÀgga till i CDR?:" + +#: page.pinsets.php:104 +msgid "Select this box if you would like to record the PIN in the call detail records when used" +msgstr "Markera detta val om du vill lÀgga till i samtalsregistret vilken PIN.kod som anvÀndes" + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "PIN-kodlista:" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "Skriv in en eller flera PIN-koder. En PIN-kod per rad." + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "Skriv in en giltig beskrivining" + +#: module.xml +msgid "PIN Sets" +msgstr "PIN-koder" + Index: /modules/branches/2.7/pinsets/i18n/bg_BG/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/bg_BG/LC_MESSAGES/pinsets.po (revision 7250) +++ /modules/branches/2.7/pinsets/i18n/bg_BG/LC_MESSAGES/pinsets.po (revision 7250) @@ -0,0 +1,101 @@ +# 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-09-17 11:39+0200\n" +"PO-Revision-Date: 2008-11-03 11:12+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:291 +msgid "PIN Set" +msgstr "PIN ВъвежЎаМе" + +#: functions.inc.php:291 +msgid "Optional: Select a PIN set to use. If using this option, leave the Route Password field blank." +msgstr "НезаЎължОтелМП: Изберете PIN ВъвежЎаМе за ОзпПлзваМе. АкП ОзпПлзвате тазО ПпцОя, Пставете пПлетП ПарПла Ма Маршрут празМП." + +#: functions.inc.php:294 +msgid "None" +msgstr "НяЌа" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "ДПбавО ВъвежЎаМе Ма ПарПла" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "PIN ВъвежЎаМе" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "ОзтрОт" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "ИзтрОй PIN ВъвежЎаМе" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "PIN ВъвежЎаМе:" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "ДПбавО PIN ВъвежЎаМе" + +#: page.pinsets.php:83 +msgid "PIN Sets are used to manage lists of PINs that can be used to access restricted features such as Outbound Routes. The PIN can also be added to the CDR record's 'accountcode' field." +msgstr "PIN ВъвежЎаМОята се ОзпПлзват Ўа управлявате спОсъка с PIN-Пве, кПОтП ЌПгат Ўа се ОзпПлзват за ПграМОчаваМе Ма фуМкцОО катП Ð˜Ð·Ñ +ПЎящО МаршрутО. СъщП така PIN ЌПже Ўа се ЎПбавО в CDR запОсОте в пПлетП 'акауМт кПЎ'." + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "РеЎактОрай PIN ВъвежЎаМе" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "НПвП PIN ВъвежЎаМе" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "ОпОсаМОе Ма PIN ВъвежЎаМе" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "ЗапОс в CDR?:" + +#: page.pinsets.php:104 +msgid "Select this box if you would like to record the PIN in the call detail records when used" +msgstr "МаркОрайте акП Оскате Ўа запОсвате PIN-а в ЎетайлМО ПтчетО Ма разгПвПрОте акП се ОзпПлзва." + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "PIN ЛОст:" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "ВъвеЎете спОсък Пт еЎОМ ОлО пПвече PIN кПЎа. ЕЎОМ PIN Ма реЎ." + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "МПля въвеЎете правОлМП ОпОсаМОе" + +#: module.xml +msgid "PIN Sets" +msgstr "PIN ВъвежЎаМОя" + Index: /modules/branches/2.7/pinsets/i18n/he_IL/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/he_IL/LC_MESSAGES/pinsets.po (revision 3441) +++ /modules/branches/2.7/pinsets/i18n/he_IL/LC_MESSAGES/pinsets.po (revision 3441) @@ -0,0 +1,77 @@ +# Hebrew version for PIN Sets FreePBX Module. +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-10-17 17:20+0300\n" +"PO-Revision-Date: 2006-10-17 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.pinsets.php:47 +msgid "Add Password Set" +msgstr "הוסף סט סיסמאות" + +#: page.pinsets.php:60 +msgid "PIN Set " +msgstr "סט סיסמא " + +#: page.pinsets.php:60 +msgid "deleted" +msgstr "נמחק" + +#: page.pinsets.php:73 +msgid "Delete PIN Set" +msgstr "מחק סט סיסמא" + +#: page.pinsets.php:78 +msgid "PIN Set:" +msgstr "סט סיסמא:" + +#: page.pinsets.php:78 +msgid "Add PIN Set" +msgstr "הוסף סט סיסמא" + +#: page.pinsets.php:80 +msgid "" +"PIN Sets are used to manage lists of PINs that can be used to access " +"restricted features such as Outbound Routes. The PIN can also be added to " +"the CDR record's 'accountcode' field." +msgstr "בסטי סיסמאות משתמשים כדי לנהל ךשימות של סיסמאות שבהן ניתן להשתמש בתכונות מוגבלות, כמו למשל ניתוב שיחות יו׊אות. כמו כן, ניתן להוסיף את הסיסמא לשדה 'accountcode' בךישומי השיחות של המעךכת." + +#: page.pinsets.php:90 +msgid "Edit PIN Set" +msgstr "עךוך סט סיסמאות" + +#: page.pinsets.php:90 +msgid "New PIN Set" +msgstr "סט סיסמאות חדש" + +#: page.pinsets.php:97 +msgid "PIN Set Description:" +msgstr "תיאוך סט סיסמאות:" + +#: page.pinsets.php:101 +msgid "Record In CDR?:" +msgstr "ךשום בךישום שיחות?:" + +#: page.pinsets.php:101 +msgid "" +"Select this box if you would like to record the PIN in the call detail " +"records when used" +msgstr "סמן תיבה זו אם ב׹שונך לךשום את הסיסמא ב׀יךוט ךישומי השיחות כאשך יש בה שימוש" + +#: page.pinsets.php:105 +msgid "PIN List:" +msgstr "ךשימת סיסמאות:" + +#: page.pinsets.php:105 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "הכנס ךשימה של סיסמא אחת או יותך. סיסמא אחת בכל שוךה." Index: /modules/branches/2.7/pinsets/i18n/zh_CN/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/zh_CN/LC_MESSAGES/pinsets.po (revision 7440) +++ /modules/branches/2.7/pinsets/i18n/zh_CN/LC_MESSAGES/pinsets.po (revision 7440) @@ -0,0 +1,103 @@ +# 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-09-17 11:39+0200\n" +"PO-Revision-Date: 2009-02-01 12:04+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:291 +msgid "PIN Set" +msgstr "PIN码集合" + +#: functions.inc.php:291 +msgid "Optional: Select a PIN set to use. If using this option, leave the Route Password field blank." +msgstr "可选讟眮选择䞀䞪芁䜿甚的PINç é›†åˆã€‚åŠ‚æžœäœ¿ç”šäº†è¿™äžªé€‰é¡¹ïŒŒå°±è¯·æž +空线路密码字段。" + +#: functions.inc.php:294 +msgid "None" +msgstr "无" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "添加密码集合" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "PIN码集合" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "已删陀" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "删陀PIN码集合" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "PIN码集合" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "添加PIN码集合" + +#: page.pinsets.php:83 +msgid "PIN Sets are used to manage lists of PINs that can be used to access restricted features such as Outbound Routes. The PIN can also be added to the CDR record's 'accountcode' field." +msgstr "PIN码集合是甚来管理PIN码列衚的这些PIN码可以甚来访问受限制的功胜比劂出局线路。PIN码也可以添加到CDR记圕的“accountcode”字段。" + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "猖蟑PIN码集合" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "新建PIN码集合" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "PIN码集合的描述" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "记圕到CDR䞭" + +#: page.pinsets.php:104 +msgid "Select this box if you would like to record the PIN in the call detail records when used" +msgstr "劂果䜠垌望将PIN记圕到呌叫诊细记圕䞭去就钩选歀项" + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "PIN码列衚" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "请蟓å +¥äž€äžªæˆ–倚䞪PIN码䞀行蟓䞀䞪PIN码。" + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "请蟓å +¥æœ‰æ•ˆçš„æè¿°" + +#: module.xml +msgid "PIN Sets" +msgstr "PIN码管理" + Index: /modules/branches/2.7/pinsets/i18n/pinsets.pot =================================================================== --- /modules/branches/2.7/pinsets/i18n/pinsets.pot (revision 6761) +++ /modules/branches/2.7/pinsets/i18n/pinsets.pot (revision 6761) @@ -0,0 +1,104 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:39+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:291 +msgid "PIN Set" +msgstr "" + +#: functions.inc.php:291 +msgid "" +"Optional: Select a PIN set to use. If using this option, leave the Route " +"Password field blank." +msgstr "" + +#: functions.inc.php:294 +msgid "None" +msgstr "" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "" + +#: page.pinsets.php:83 +msgid "" +"PIN Sets are used to manage lists of PINs that can be used to access " +"restricted features such as Outbound Routes. The PIN can also be added to " +"the CDR record's 'accountcode' field." +msgstr "" + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "" + +#: page.pinsets.php:104 +msgid "" +"Select this box if you would like to record the PIN in the call detail " +"records when used" +msgstr "" + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "" + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "" + +#: module.xml +msgid "PIN Sets" +msgstr "" Index: /modules/branches/2.7/pinsets/i18n/it_IT/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/it_IT/LC_MESSAGES/pinsets.po (revision 7250) +++ /modules/branches/2.7/pinsets/i18n/it_IT/LC_MESSAGES/pinsets.po (revision 7250) @@ -0,0 +1,99 @@ +# 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: 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:39+0200\n" +"PO-Revision-Date: 2008-11-06 14:53+0100\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:291 +msgid "PIN Set" +msgstr "Gruppo PIN" + +#: functions.inc.php:291 +msgid "Optional: Select a PIN set to use. If using this option, leave the Route Password field blank." +msgstr "Opzionale: Selezionare un Gruppo PIN da utilizzare. Se si utilizza questa opzione, lasciare la Password della Rotta vuota." + +#: functions.inc.php:294 +msgid "None" +msgstr "Nessuno" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "Aggiungi Gruppo PIN" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "Gruppo PIN" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "eliminato" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "Elimina Gruppo PIN" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "Gruppo PIN:" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "Aggiungi Gruppo PIN" + +#: page.pinsets.php:83 +msgid "PIN Sets are used to manage lists of PINs that can be used to access restricted features such as Outbound Routes. The PIN can also be added to the CDR record's 'accountcode' field." +msgstr "In questa pagina Ú possibile gestire i Gruppi PIN, utilizzati per restringere l'accesso a particolari servizi come per esempio le Rotte in Uscita. Il PIN può essere anche inserito nel campo CDR 'accountcode' dell'utente." + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "Modifica Gruppo PIN" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "Nuovo Gruppo PIN" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "Descrizione Gruppo PIN" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "Registra nel CDR?:" + +#: page.pinsets.php:104 +msgid "Select this box if you would like to record the PIN in the call detail records when used" +msgstr "Spuntare questa casella se si vogliono registrare i PIN nel dettaglio delle chiamate" + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "Lista PIN:" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "Immettere in lista uno o più PIN. Uno per riga." + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "Prego immettere una Descrizione valida" + +#: module.xml +msgid "PIN Sets" +msgstr "Gruppi PIN" + Index: /modules/branches/2.7/pinsets/i18n/ru_RU/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/ru_RU/LC_MESSAGES/pinsets.po (revision 7343) +++ /modules/branches/2.7/pinsets/i18n/ru_RU/LC_MESSAGES/pinsets.po (revision 7343) @@ -0,0 +1,110 @@ +# Copyright (C) 2008 PostMet GmbH +# This file is distributed under the same license as the PACKAGE package. +# Alexander Kozyrev , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-01-29 15:07+0100\n" +"PO-Revision-Date: 2008-10-13 15:07+0100\n" +"Last-Translator: Alexander Kozyrev\n" +"Language-Team: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:291 +msgid "PIN Set" +msgstr "»Øáâ PIN-ÚÞÔÞÒ" + +#: functions.inc.php:291 +msgid "" +"Optional: Select a PIN set to use. If using this option, leave the Route " +"Password field blank." +msgstr "" +"ŸßæØÞÝÐÛìÝÞ: ÒëÑàÐâì ÛØáâ PIN-ÚÞÔÞÒ. µáÛØ " +"ØáßÞÛì×ãÕâáï íâÐ ÞßæØï - ÝÕÞÑåÞÔØÜÞ ÞáâÐÒÛïâì ßÞÛÕ ¿ÐàÞÛì ÝÐ ÜÐàèàãâÕ ßãáâëÜ." + +#: functions.inc.php:294 +msgid "None" +msgstr "œÕâ" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "ŽÞÑÐÒØâì ÛØáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "»Øáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "ãÔÐÛÕÝÞ" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "ÃÔÐÛØâì ÛØáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "œÐÑÞà PIN:" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "ŽÞÑÐÒØâì ÛØáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:83 +msgid "" +"PIN Sets are used to manage lists of PINs that can be used to access " +"restricted features such as Outbound Routes. The PIN can also be added to " +"the CDR record's 'accountcode' field." +msgstr "" +"ŒÞÔãÛì áߨáÚÞÒ PIN-ÚÞÔÞÒ ØáßÞÛì×ãÕâáï ÔÛï " +"ÞàÓÐÝØ×ÐæØØ ÔÞáâãßÐ Ú áßÕæØÐÛìÝëÜ ØáåÞÔïéØÜ ÜÐàèàãâÐÜ á ÞÓàÐÝØçÕÝÝëÜØ ßàÐÒÐÜØ. ÁÐÜ " +"ÝÐÑØàÐÕÜëÙ PIN-ÚÞÔ ÜÞÖÝÞ ÔÞÑÐÒÛïâì âÐÚÖÕ Ò Þâçñâ " +"Þ ×ÒÞÝÚÐå Ò áßÕæØÐÛìÝÞÕ ßÞÛÕ 'accountcode'." + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "ž×ÜÕÝØâì ÛØáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "œÞÒëÙ ÛØáâ PIN-ÚÞÔÞÒ" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "ŸßØáÐÝØÕ:" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "·ÐߨáëÒÐâì Ò CDR?" + +#: page.pinsets.php:104 +msgid "" +"Select this box if you would like to record the PIN in the call detail " +"records when used" +msgstr "" +"²ëÑÕàØâÕ íâã ÞßæØî, ÕáÛØ ÝãÖÝÞ ×ÐߨáëÒÐâì PIN Ò " +"ÖãàÝÐÛ ×ÒÞÝÚÞÒ ÔÛï ÔÕâÐÛØ×ÐæØØ." + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "ÁߨáÞÚ PIN:" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "²ÒÕÔØâÕ PIN-ÚÞÔë Ò áߨáÞÚ, ßÞ ÞÔÝÞÜã Ò áâàÞÚÕ." + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "¿àØÜÕÝØâì Ø×ÜÕÝÕÝØï" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "ÃÚÐÖØâÕ àÐ×àÕèÕÝÝÞÕ ÞߨáÐÝØÕ" + +#: module.xml +msgid "PIN Sets" +msgstr "»Øáâë PIN-ÚÞÔÞÒ" Index: /modules/branches/2.7/pinsets/i18n/es_ES/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/es_ES/LC_MESSAGES/pinsets.po (revision 7479) +++ /modules/branches/2.7/pinsets/i18n/es_ES/LC_MESSAGES/pinsets.po (revision 7479) @@ -0,0 +1,101 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo pinsets module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:39+0200\n" +"PO-Revision-Date: 2009-01-21 16:10+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:291 +msgid "PIN Set" +msgstr "" + +#: functions.inc.php:291 +msgid "" +"Optional: Select a PIN set to use. If using this option, leave the Route " +"Password field blank." +msgstr "" + +#: functions.inc.php:294 +msgid "None" +msgstr "" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "" + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "" + +#: page.pinsets.php:83 +msgid "" +"PIN Sets are used to manage lists of PINs that can be used to access " +"restricted features such as Outbound Routes. The PIN can also be added to " +"the CDR record's 'accountcode' field." +msgstr "" + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "" + +#: page.pinsets.php:104 +msgid "" +"Select this box if you would like to record the PIN in the call detail " +"records when used" +msgstr "" + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "" + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "" + +#: module.xml +msgid "PIN Sets" +msgstr "" Index: /modules/branches/2.7/pinsets/i18n/fr_FR/LC_MESSAGES/pinsets.po =================================================================== --- /modules/branches/2.7/pinsets/i18n/fr_FR/LC_MESSAGES/pinsets.po (revision 8154) +++ /modules/branches/2.7/pinsets/i18n/fr_FR/LC_MESSAGES/pinsets.po (revision 8154) @@ -0,0 +1,111 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:09+0200\n" +"PO-Revision-Date: 2009-04-15 22:43+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:291 +msgid "PIN Set" +msgstr "Jeu de PIN" + +#: functions.inc.php:291 +msgid "" +"Optional: Select a PIN set to use. If using this option, leave the Route " +"Password field blank." +msgstr "" +"Optionnel : Sélectionnez un jeu de PIN à utiliser. " +"Si vous utilisez cette option, laissez le champ Mot de Passe de Route (Route Password) vide." + +#: functions.inc.php:294 +msgid "None" +msgstr "Aucun" + +#: page.pinsets.php:50 +msgid "Add Password Set" +msgstr "Ajouter un jeu de mots de passe" + +#: page.pinsets.php:63 +msgid "PIN Set " +msgstr "Jeu de PIN " + +#: page.pinsets.php:63 +msgid "deleted" +msgstr "supprimé" + +#: page.pinsets.php:76 +msgid "Delete PIN Set" +msgstr "Supprimer le jeu de PIN" + +#: page.pinsets.php:81 +msgid "PIN Set:" +msgstr "Jeu de PIN :" + +#: page.pinsets.php:81 +msgid "Add PIN Set" +msgstr "Ajouter un jeu de PIN" + +#: page.pinsets.php:83 +msgid "" +"PIN Sets are used to manage lists of PINs that can be used to access " +"restricted features such as Outbound Routes. The PIN can also be added to " +"the CDR record's 'accountcode' field." +msgstr "" +"Les jeux de PIN sont utilisés pour gérer des listes de PINs qui peuvent " +"être utilisés pour accéder à des fonctionnalités restreintes comme les Routes " +"Sortantes. Le PIN peut également être ajouté au champ 'accountcode' de l'enregistrement CDR." + +#: page.pinsets.php:93 +msgid "Edit PIN Set" +msgstr "Editer le jeu de PIN" + +#: page.pinsets.php:93 +msgid "New PIN Set" +msgstr "Nouveau jeu de PIN" + +#: page.pinsets.php:100 +msgid "PIN Set Description:" +msgstr "Description du jeu de PIN" + +#: page.pinsets.php:104 +msgid "Record In CDR?:" +msgstr "Enregistrer dans CDR ?" + +#: page.pinsets.php:104 +msgid "" +"Select this box if you would like to record the PIN in the call detail " +"records when used" +msgstr "" +"Cochez cette case si vous voulez enregistrer le PIN dans les enregistrements " +"détaillés de l'appel lorsqu'ils sont utilisés." + +#: page.pinsets.php:108 +msgid "PIN List:" +msgstr "Liste PIN :" + +#: page.pinsets.php:108 +msgid "Enter a list of one or more PINs. One PIN per line." +msgstr "Entrez une liste d'un ou plusieurs PINs. Un PIN par ligne." + +#: page.pinsets.php:115 +msgid "Submit Changes" +msgstr "Appliquer les modifications" + +#: page.pinsets.php:128 +msgid "Please enter a valid Description" +msgstr "Entrez une description valide" + +#: module.xml +msgid "PIN Sets" +msgstr "Jeux de PIN" Index: /modules/branches/2.7/pinsets/uninstall.php =================================================================== --- /modules/branches/2.7/pinsets/uninstall.php (revision 4587) +++ /modules/branches/2.7/pinsets/uninstall.php (revision 4587) @@ -0,0 +1,18 @@ +\n"; +} + +echo "dropping table pinsets.."; +sql('DROP TABLE IF EXISTS `pinsets`'); +echo "done
\n"; + + +?> Index: /modules/branches/2.7/pinsets/install.sql =================================================================== --- /modules/branches/2.7/pinsets/install.sql (revision 4241) +++ /modules/branches/2.7/pinsets/install.sql (revision 4241) @@ -0,0 +1,1 @@ +-- empty file, because of http://freepbx.org/trac/ticket/1277 Index: /modules/branches/2.7/pinsets/module.xml =================================================================== --- /modules/branches/2.7/pinsets/module.xml (revision 7947) +++ /modules/branches/2.7/pinsets/module.xml (revision 7947) @@ -0,0 +1,30 @@ + + pinsets + PIN Sets + 2.6.0.0 + FreePBX + GPLv2+ + setup + Internal Options & Configuration + Allow creation of lists of PINs (numbers for passwords) that can be used by other modules (eg, trunks). + + *2.6.0.0* misc + *2.5.0.1* #3240, #3258 + *2.5.0* #2845, #2764 tabindex + *2.4.0.1* #2843 Russian Translation + *2.4.0* bump for 2.4 + *1.2.3* #2393 add support for pinless dialing + *1.2.2.2* #2172 deprecated use of | + *1.2.2.1* bump for rc1 + *1.2.2* Put None label in menu hook + *1.2.1* #1770 added proper uninstall + *1.2* Add SQLite3 support, fixes http://freepbx.org/trac/ticket/1778 + *1.1* Add he_IL translation, add naftali5's fixes where pinsets were being lost when moved around. + *1.0.11* Stop potential error where a random pinset is appearing when creating a new trunk + + + PIN Sets + + release/2.6/pinsets-2.6.0.0.tgz + 93ac8f034d5b79b3595aced9ee132583 + Index: /modules/branches/2.7/pinsets/functions.inc.php =================================================================== --- /modules/branches/2.7/pinsets/functions.inc.php (revision 6911) +++ /modules/branches/2.7/pinsets/functions.inc.php (revision 6911) @@ -0,0 +1,353 @@ +_conf classes, +// which can be used in _get_conf below. +class pinsets_conf { + // return an array of filenames to write + // files named like pinset_N + var $_pinsets = array(); + + function get_filename() { + $files = array(); + foreach (array_keys($this->_pinsets) as $pinset) { + $files[] = 'pinset_'.$pinset; + } + return $files; + } + + function addPinsets($setid, $pins) { + $this->_pinsets[$setid] = $pins; + } + + // return the output that goes in each of the files + function generateConf($file) { + $setid = ltrim($file,'pinset_'); + $output = $this->_pinsets[$setid]; + return $output; + } +} + +/* Generates passwd files for pinsets + We call this with retrieve_conf +*/ +function pinsets_get_config($engine) { + global $ext; // is this the best way to pass this? + global $asterisk_conf; + global $pinsets_conf; // our pinsets object (created in retrieve_conf) + switch($engine) { + case "asterisk": + $allpinsets = pinsets_list(true); + if(is_array($allpinsets)) { + foreach($allpinsets as $item) { + // write our own pin list files + $pinsets_conf->addPinsets($item['pinsets_id'],$item['passwords']); + } + + // write out a macro that handles the authenticate + $ext->add('macro-pinsets', 's', '', new ext_gotoif('${ARG2} = 1','cdr,1')); + $ext->add('macro-pinsets', 's', '', new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'Authenticate',$asterisk_conf['astetcdir'].'/pinset_${ARG1}')); + $ext->add('macro-pinsets', 's', '', new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'ResetCDR')); + // authenticate with the CDR option (a) + $ext->add('macro-pinsets', 'cdr', '', new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'Authenticate',$asterisk_conf['astetcdir'].'/pinset_${ARG1},a')); + $ext->add('macro-pinsets', 'cdr', '', new ext_execif('$["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]', 'ResetCDR')); + } + break; + } +} + +function pinsets_hookGet_config($engine) { + global $ext; + switch($engine) { + case "asterisk": + $hooklist = pinsets_list(true); + if(is_array($hooklist)) { + foreach($hooklist as $thisitem) { + + // get the used_by field + if(empty($thisitem['used_by'])) { + $usedby = ""; + } else { + $usedby = $thisitem['used_by']; + } + + // create an array from usedby + $arrUsedby = explode(',',$usedby); + + if(is_array($arrUsedby)){ + foreach($arrUsedby as $strUsedby){ + // if it's an outbound route + if(strpos($strUsedby,'routing_') !== false) { + $route = substr($strUsedby,8); + $context = 'outrt-'.$route; + + // get all the routes that are in this context + $routes = core_routing_getroutepatterns($route); + + // we need to manipulate each route/extension + foreach($routes as $rt) { + //strip the pipe out as that's what we use for the dialplan extension + $extension = str_replace('|','',$rt); + // If there are any wildcards in there, add a _ to the start + if (preg_match("/\.|z|x|\[|\]/i", $extension)) { $extension = "_".$extension; } + $ext->splice($context, $extension, 1, new ext_macro('pinsets', $thisitem['pinsets_id'].','.$thisitem['addtocdr'])); + } + + } + } + } + + } + } + break; + } +} + + +//get the existing meetme extensions +function pinsets_list($getAll=false) { + $results = sql("SELECT * FROM pinsets","getAll",DB_FETCHMODE_ASSOC); + if(is_array($results)){ + foreach($results as $result){ + // check to see if we have a dept match for the current AMP User. + if ($getAll || checkDept($result['deptname'])){ + // return this item's dialplan destination, and the description + $allowed[] = $result; + } + } + } + if (isset($allowed)) { + return $allowed; + } else { + return null; + } +} + +function pinsets_get($id){ + $results = sql("SELECT * FROM pinsets WHERE pinsets_id = '$id'","getRow",DB_FETCHMODE_ASSOC); + return $results; +} + +function pinsets_del($id){ + global $asterisk_conf; + + $filename = $asterisk_conf['astetcdir'].'/pinset_'.$id; + if (file_exists($filename)) { + unlink($filename); + } + + $results = sql("DELETE FROM pinsets WHERE pinsets_id = '$id'","query"); +} + +function pinsets_add($post){ + if(!pinsets_chk($post)) + return false; + extract($post); + $passwords = pinsets_clean($passwords); + if(empty($description)) $description = 'Unnamed'; + $results = sql("INSERT INTO pinsets (description,passwords,addtocdr,deptname) values (\"$description\",\"$passwords\",\"$addtocdr\",\"$deptname\")"); +} + +function pinsets_edit($id,$post){ + if(!pinsets_chk($post)) + return false; + extract($post); + $passwords = pinsets_clean($passwords); + if(empty($description)) $description = 'Unnamed'; + $results = sql("UPDATE pinsets SET description = \"$description\", passwords = \"$passwords\", addtocdr = \"$addtocdr\", deptname = \"$deptname\" WHERE pinsets_id = \"$id\""); +} + +// clean and remove duplicates +function pinsets_clean($passwords) { + + $passwords = explode("\n",$passwords); + + if (!$passwords) { + $passwords = null; + } + + foreach (array_keys($passwords) as $key) { + //trim it + $passwords[$key] = trim($passwords[$key]); + + // remove invalid chars + $passwords[$key] = preg_replace("/[^0-9#*]/", "", $passwords[$key]); + + // remove blanks + if ($passwords[$key] == "") unset($passwords[$key]); + } + + // check for duplicates, and re-sequence + $passwords = array_values(array_unique($passwords)); + + if (is_array($passwords)) + return implode($passwords,"\n"); + else + return ""; +} + +// ensures post vars is valid +function pinsets_chk($post){ + return true; +} + +//removes a pinset from a route and shifts priority for all outbound routing pinsets +function pinsets_adjustroute($route,$action,$routepinset='',$direction='',$newname='') { + $priority = (int)substr($route,0,3); + //create a selection of available pinsets + $pinsets = pinsets_list(); + // loop through all the pinsets + if(is_array($pinsets)){ + foreach($pinsets as $pinset) { + + // get the used_by field + if(empty($pinset['used_by'])) { + $usedby = ""; + } else { + $usedby = $pinset['used_by']; + } + + // remove the target if it's already in this row's used_by field + //$usedby = str_replace("routing_{$route}","",$usedby); + + // create an array from usedby + $arrUsedby = explode(',',$usedby); + + for($i=0;$i $priority) { + $newpriority = str_pad($usedbypriority - 1, 3, "0", STR_PAD_LEFT); + $arrUsedby[$i] = 'routing_'.$newpriority.'-'.$usedbyroute; + } + break; + case 'prioritizeroute'; + $addpriority = ($direction=='up')?-1:1; + $usedbypriority = (int)substr($arrUsedby[$i],8,3); + $usedbyroute = substr($arrUsedby[$i],12); + if ($priority + $addpriority == $usedbypriority) { + $newpriority = str_pad($priority, 3, "0", STR_PAD_LEFT); + $arrUsedby[$i] = 'routing_'.$newpriority.'-'.$usedbyroute; + } + if ($arrUsedby[$i] == "routing_{$route}") { + $newpriority = str_pad($priority + $addpriority, 3, "0", STR_PAD_LEFT); + $arrUsedby[$i] = 'routing_'.$newpriority.'-'.$usedbyroute; + } + + break; + case 'renameroute'; + if ($arrUsedby[$i] == "routing_{$route}") { + $newpriority = str_pad($priority, 3, "0", STR_PAD_LEFT); + $arrUsedby[$i] = 'routing_'.$newpriority.'-'.$newname; + } + break; + case 'editroute'; + $usedbyroute = (int)substr($arrUsedby[$i],12); + if ($arrUsedby[$i] == "routing_{$route}") { + unset($arrUsedby[$i]); + } + break; + } + } + } + + // save the route in the selected pin + if ($routepinset == $pinset['pinsets_id'] && $action == 'editroute') { + $arrUsedby[] = 'routing_'.$route; + } + + // remove any duplicates + $arrUsedby = array_values(array_unique($arrUsedby)); + + // create a new string + $strUsedby = implode($arrUsedby,','); + + // Insure there's no leading or trailing commas + $strUsedby = trim ($strUsedby, ','); + + + // store the used_by column in the DB + sql("UPDATE pinsets SET used_by = \"{$strUsedby}\" WHERE pinsets_id = \"{$pinset['pinsets_id']}\""); + } + } +} + +// provide hook for routing +function pinsets_hook_core($viewing_itemid, $target_menuid) { + switch ($target_menuid) { + // only provide display for outbound routing + case 'routing': + //create a selection of available pinsets + $pinsets = pinsets_list(); + $hookhtml = ' + + '._("PIN Set").''._('Optional: Select a PIN set to use. If using this option, leave the Route Password field blank.').': + + + + + '; + return $hookhtml; + break; + default: + return false; + break; + } +} + +function pinsets_hookProcess_core($viewing_itemid, $request) { + + // Record any hook selections made by target modules + // We'll add these to the pinset's "used_by" column in the format _ + // multiple targets could select a single pinset, so we'll comma delimiter them + + // this is really a crappy way to store things. + // Any module that is hooked by pinsets when submitted will result in all the "used_by" fields being re-written + switch ($request['display']) { + case 'routing': + // if routing was using post for the form (incl delete), i wouldn't need all these conditions + // if(isset($request['Submit']) || (isset($request['action']) && ($request['action'] == "delroute" || $request['action'] == "prioritizeroute" || $request['action'] == "renameroute"))) { + + $action = (isset($request['action']))?$request['action']:null; + $route = $viewing_itemid; + if (isset($request['reporoutekey']) && $action == 'prioritizeroute') { + $outbound_routes = core_routing_getroutenames(); + $route = $outbound_routes[(int)$request['reporoutekey']][0]; + } + if (isset($request['Submit']) ) { + $action = (isset($action))?$action:'editroute'; + } + if (isset($action)) { + $direction = (isset($request['reporoutedirection']))?$request['reporoutedirection']:null; + $newname = (isset($request['newroutename']))?$request['newroutename']:null; + pinsets_adjustroute($route,$action,$request['pinsets'],$direction,$newname); + } + + break; + } +} + + +?> Index: /modules/branches/2.7/pinsets/page.pinsets.php =================================================================== --- /modules/branches/2.7/pinsets/page.pinsets.php (revision 5919) +++ /modules/branches/2.7/pinsets/page.pinsets.php (revision 5919) @@ -0,0 +1,141 @@ + + +
+ + +
+ +
+

'._("PIN Set ").' '.$itemid.' '._("deleted").'!

'; +} else { + if ($itemid){ + //get details for this time condition + $thisItem = pinsets_get($itemid); + } + + $delURL = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&action=delete'; + $delButton = " +
+ + + + +
"; + +?> + +

+ +

+ + + +
+ + + _deptname ?>"> + + + + + + + + + + + + + + + + + + + + + + + + +

tabindex="">
+ +

" tabindex="">
+ + + +
+ Index: /modules/branches/2.7/pinsets/install.php =================================================================== --- /modules/branches/2.7/pinsets/install.php (revision 4767) +++ /modules/branches/2.7/pinsets/install.php (revision 4767) @@ -0,0 +1,22 @@ +query($sql); +if(DB::IsError($check)) { + die_freepbx("Can not create `pinsets` table\n"); +} + +?> Index: /modules/branches/2.7/conferences/i18n/sv_SE/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/sv_SE/LC_MESSAGES/conferences.po (revision 6939) +++ /modules/branches/2.7/conferences/i18n/sv_SE/LC_MESSAGES/conferences.po (revision 6939) @@ -0,0 +1,265 @@ +# 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 conferences\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\n" +"PO-Revision-Date: 2008-10-10 20:50+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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Konferensrum %s : %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "Konferens: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Konferens:" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "Kontrollerar om inspelningar behöver migreras.." + +#: install.php:41 +msgid "migrating" +msgstr "migrerar" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "lÀgger till fÀltet joinmsg_id.." + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "allvarligt fel" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "ok" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "migrerar till recording ids.." + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "migrerade %s poster" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "kastar fÀltet joinmsg.." + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "inget fÀlt som heter joinmsg???" + +#: install.php:92 +msgid "already migrated" +msgstr "redan migrerad" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "Varning! Anknytning" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "Àr inte tillåtet för ditt konto." + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "LÀgg till konferens" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Konferens" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "borttagen" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Konferens:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Ta bort konferens %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Anknytningarna Àr i konflikt" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Redigera konferens" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Konferensnummer:" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "AnvÀnd detta nummer för att ringa till konferensen." + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Konferensnamn:" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Ge konferensen ett kortfattat namn." + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "AnvÀndarlösenord:" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "Du kan krÀva att uppringare anger ett lösenord innan de når konferensen.

Denna instÀllning Àr valfri.

Om ett lösenord (endast siffror) skrivs in får uppringaren en fråga om att mata in ett lösenord." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "Administratörslösenord:" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "Skriv in ett lösenord (endast siffror) för administratören.
Denna instÀllning Àr valfri om inte 'InvÀnta ledare' Àr valt, då kommer detta lösenord att identifiera ledaren." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Konferensval" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "Anslutningsmeddelande:" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Meddelande som ska spelas upp för uppringaren innan anslutning sker till konferensen.

För att lÀgga till fler inspelningar vÀljer du \"Systeminspelningar\" i menyn till vÀnster" + +#: page.conferences.php:158 +msgid "None" +msgstr "Inget" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Meddelande som ska spelas upp för uppringaren innan anslutning sker till konferensen.

Du mÃ¥ste installera och aktivera modulen \"Systeminspelningar\" för att kunna redigera detta val" + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "VÀnta pÃ¥ ledaren:" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "VÀnta till konferensledaren (administratören) ansluter innan konferensen startas" + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "Nej" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Ja" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Tyst lÀge:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Tyst lÀge (spela inte upp ljud för anslut/lÀmna)" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "RÀkna anvÀndare:" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "BerÀtta antalet anvÀndare nÀr anslutning till konferensen sker" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "AnvÀndare ansluter/lÀmnar:" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Annonsera nÀr anvÀndare ansluter/lÀmnar" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Pausmusik:" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Aktivera pausmusik nÀr det endast Àr en anvÀndare i konferensen" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "TillÃ¥t meny:" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "Ge tillgÃ¥ng till en meny (anvÀndar eller administratörs) nÀr '*' trycks pÃ¥ telefonen" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Spela in konferens:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "VÀlj om konferensen ska spelas in" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "Skriv in ett giltig konferensnummer" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "Skriv in ett giltigt konferensnamn" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Du mÃ¥ste sÀtta en administratörs-PIN för konferensledaren nÀr du vÀljer VÀnta pÃ¥ ledare" + +#: module.xml +msgid "Conferences" +msgstr "Konferenser" + Index: /modules/branches/2.7/conferences/i18n/bg_BG/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/bg_BG/LC_MESSAGES/conferences.po (revision 7250) +++ /modules/branches/2.7/conferences/i18n/bg_BG/LC_MESSAGES/conferences.po (revision 7250) @@ -0,0 +1,269 @@ +# 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-05 10:59+0200\n" +"PO-Revision-Date: 2008-11-05 11:33+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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Стая за КПМфереМцОО %s : %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "КПМфереМцОя: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "КПМфереМцОя: " + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "ПрПверка ЎалО запОсОте ОЌат МужЎа Пт преЌестваМе.." + +#: install.php:41 +msgid "migrating" +msgstr "преЌестваМе" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "ЎПбаваМе Ма joinmsg_id пПле.." + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "фаталМа грешка" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "ok" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "преЌестваМе къЌ recording ids.." + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "преЌестеМО %s въвежЎаМОя" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "Ð¿Ñ€ÐµÐŒÐ°Ñ +ваМе Ма пПле joinmsg.." + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "МяЌа joinmsg пПле???" + +#: install.php:92 +msgid "already migrated" +msgstr "вече са преЌестеМО" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "ВМОЌаМОе! ВътрешМа ЛОМОя" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "Ме е разрешеМа за вашОя акауМт." + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "ДПбавО КПМфереМцОя" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "КПМфереМцОя" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "ОзтрОта" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "КПМфереМцОя:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "ИзтрОй КПМфереМцОя %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "ВътрешМО ЛОМОО в КПМфлОкт" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "РеЎактОрай КПМфереМцОя" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "КПМфереМцОя НПЌер:" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "ИзпПлзва тПзО МПЌер за МабОраМе Ма кПМфереМцОята." + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "ИЌе Ма КПМфереМцОя:" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Дайте Ма тазО кПМфереМцОя ПпОсващП ОЌе за Ўа вО пПЌПгМе прО ОЎеМтОфОцОраМетП." + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "ППтребОтелскО PIN:" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "МПжете Ўа ОзОсквате Пт ПбажЎащОте се Ўа въвеЎат парПла преЎО Ўа се прОсъеЎОМят къЌ кПМфереМцОята.

ТазО МастрПйка Ме е заЎължОтелМа.

АкП е въвеЎеМ PIN, пПтребОтелОте ще бъЎат пПЌПлеМО Ўа въвеЎат PIN." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "АЎЌОМОстратПрскО PIN:" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "ВъвеЎете PIN МПЌер за пПтребОтел аЎЌОМ.

ТазО МастрПйка Ме е заЎължОтелМа ПсвеМ акП 'ОзчакваМе Ма вПЎещОя' ПпцОята се ОзпПлзва, тПгава тПзО PIN ще ОЎеМтОфОцОра вПЎещОя." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "ОпцОО Ма КПМфереМцОя" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "СъПбщеМОе прО ВлОзаМе:" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПбажЎащОя се преЎО Ўа се прОсъеЎОМО къЌ кПМфереМцОята.

За Ўа ЎПбавОте ЎПпълМОтелМО запОсО ОзпПлзвайте ЌеМю \"СОстеЌМО ЗапОсО\" ПтлявП." + +#: page.conferences.php:158 +msgid "None" +msgstr "НяЌа" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "СъПбщеМОе кПетП ще се възпрПОзвеЎе Ма ПбажЎащОя се преЎО Ўа се прОсъеЎОМО къЌ кПМфереМцОята.

Трябва Ўа сте ОМсталОралО О разрешОлО МПЎул \"СОстеЌМО ЗапОсО\" за Ўа реЎактОрате тазО ПпцОя." + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "ИзчакваМе Ма ВПЎещОя:" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "Изчаква ЎПкатП вПЎещОя Ма кПМфереМцОята (пПтребОтел аЎЌОМ) се включО преЎО Ўа стартОра кПМфереМцОята." + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "Не" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Да" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Ð¢ÐžÑ + РежОЌ:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Ð¢ÐžÑ + режОЌ (Ме възпрПОзвежЎа влОзаМе/ОзлОзаМе съПбщеМОя)." + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "БреМе Ма ППтребОтелОте:" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Известява за брПя Ма пПтребОтелОте прО влОзаМе в кПМфереМцОята." + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "ППтребОтел влОза/ОзлОза:" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Известява за влОзаМе/ОзлОзаМе Ма пПтребОтел" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "МузОка прО ЗаЎържаМе:" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Разрешава МузОка прО ЗаЎържаМе кПгатП кПМфереМцОята ОЌа саЌП еЎОМ ПбажЎащ се." + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "ППзвПлО МеМю:" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "ПреЎставя МеМю (пПтребОтел ОлО аЎЌОМОстратПр) кПгатП '*' е пПлучеМа ('ОзпратО' къЌ ЌеМю)." + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "ЗапОсвай КПМфереМцОя:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "ЗапОсва кПМфереМцОята." + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "МПля въвеЎете правОлеМ НПЌер Ма КПМфереМцОя." + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "МПля въвеЎете правОлМП ИЌе Ма КПМфереМцОя" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Трбва Ўа въвеЎете аЎЌОМОстратПрскО PIN за ВПЎещОя Ма КПМфереМцОята кПгатП ОзбОрате ПпцОя ОзчакваМе Ма вПЎещОя" + +#: module.xml +msgid "Conferences" +msgstr "КПМфереМцОО" + Index: /modules/branches/2.7/conferences/i18n/he_IL/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/he_IL/LC_MESSAGES/conferences.po (revision 3441) +++ /modules/branches/2.7/conferences/i18n/he_IL/LC_MESSAGES/conferences.po (revision 3441) @@ -0,0 +1,171 @@ +# Hebrew version for Asterisk Conferences FreePBX Module. +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-10-17 17:20+0300\n" +"PO-Revision-Date: 2006-10-17 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.conferences.php:22 +msgid "Warning! Extension" +msgstr "אזה׹ה! שלוחה" + +#: page.conferences.php:22 +msgid "is not allowed for your account." +msgstr "אינה מוךשית עבוך החשבון שלך." + +#: page.conferences.php:53 page.conferences.php:84 page.conferences.php:91 +msgid "Add Conference" +msgstr "הוסף ועידה" + +#: page.conferences.php:67 +msgid "Conference" +msgstr "ועידה" + +#: page.conferences.php:67 +msgid "deleted" +msgstr "נמחקה" + +#: page.conferences.php:81 +msgid "Conference:" +msgstr "ועידה:" + +#: page.conferences.php:82 +msgid "Delete Conference" +msgstr "מחק ועידה" + +#: page.conferences.php:91 +msgid "Edit Conference" +msgstr "עךוך ועידה" + +#: page.conferences.php:96 +msgid "conference number:" +msgstr "מס׀ך ועידה:" + +#: page.conferences.php:96 +msgid "Use this number to dial into the conference." +msgstr "השתמש במס׀ך זה כדי לחייג לתוך הועידה" + +#: page.conferences.php:101 +msgid "conference name:" +msgstr "שם הועידה:" + +#: page.conferences.php:101 +msgid "Give this conference a brief name to help you identify it." +msgstr "תן לועידה זו שם ק׊ך שיעזוך לך לזהות אותה." + +#: page.conferences.php:105 +msgid "user PIN:" +msgstr "סיסמת משתמש:" + +#: page.conferences.php:105 +msgid "" +"You can require callers to enter a password before they can enter this " +"conference.

This setting is optional.

If either PIN is " +"entered, the user will be prompted to enter a PIN." +msgstr "אתה יכול לדךוש שמתקשךים ישט׹כו להכניס סיסמא ל׀ני שהם יכולים להיכנס לועידה זו.

הגד׹ה זו היא ךשות.

אם הוכנסה סיסמת משתמש כלשהיא, המשתמש יתבקש לחייגה בכניסה." + +#: page.conferences.php:109 +msgid "admin PIN:" +msgstr "סיסמת מנהל:" + +#: page.conferences.php:109 +msgid "" +"Enter a PIN number for the admin user.

This setting is optional " +"unless the 'leader wait' option is in use, then this PIN will identify the " +"leader." +msgstr "הכנס סיסמא עבוך המשתמש המנהל.

א׀שךות זו היא ךשות אלא אם כן הא׀שךות 'המתן למנהל' מסומנת, ובמק׹ה זה, סיסמא זו תזהה את המנהל." + +#: page.conferences.php:118 +msgid "Conference Options" +msgstr "א׀שךויות ועידה" + +#: page.conferences.php:121 page.conferences.php:139 +msgid "join message:" +msgstr "הודעת ה׊טך׀ות:" + +#: page.conferences.php:121 +msgid "" +"Message to be played to the caller before joining the conference.

To " +"add additional recordings please use the \"System Recordings\" MENU to the " +"left" +msgstr "הודעה שתושמע למתקשך ל׀ני הכניסה לועידה.

כדי להוסיף הודעות נוס׀ות, אנא השתמש בת׀ךיט \"הקלטות מעךכת\" שב׊ד שמאל." + +#: page.conferences.php:127 +msgid "None" +msgstr "אין" + +#: page.conferences.php:139 +msgid "" +"Message to be played to the caller before joining the conference.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "הודעה שתושמע למתקשך ל׀ני הכניסה לועידה.

אתה חייב להתקין ולה׀עיל את המודול \"הקלטות מעךכת\" כדי לעךוך א׀שךות זאת" + +#: page.conferences.php:149 +msgid "leader wait:" +msgstr "המתנה למנהל:" + +#: page.conferences.php:149 +msgid "" +"wait until the conference leader (admin user) arrives before starting the " +"conference" +msgstr "המתן עד שמנהל הועידה (משתמש עם סיסמא מיוחדת) יגיע ל׀ני שתחבך את כולם לועידה" + +#: page.conferences.php:154 page.conferences.php:166 page.conferences.php:178 +#: page.conferences.php:190 page.conferences.php:202 page.conferences.php:214 +msgid "No" +msgstr "לא" + +#: page.conferences.php:155 page.conferences.php:167 page.conferences.php:179 +#: page.conferences.php:191 page.conferences.php:203 page.conferences.php:215 +msgid "Yes" +msgstr "כן" + +#: page.conferences.php:161 +msgid "quiet mode:" +msgstr "משב שקט:" + +#: page.conferences.php:161 +msgid "quiet mode (do not play enter/leave sounds)" +msgstr "משב שקט (אל תשמיע שלילי כניסה/ישיאה)" + +#: page.conferences.php:173 +msgid "user count:" +msgstr "ס׀יךת משתמשים:" + +#: page.conferences.php:173 +msgid "announce user(s) count on joining conference" +msgstr "הכ׹ז על מס׀ך הנמשאים בועידה בזמן הכניסה לועידה" + +#: page.conferences.php:185 +msgid "user join/leave:" +msgstr "כניסת/י׊יאת משתמש:" + +#: page.conferences.php:185 +msgid "announce user join/leave" +msgstr "הכ׹ז על כניסה/ישיאה של משתמשים" + +#: page.conferences.php:197 +msgid "music on hold:" +msgstr "מוסיקה בהמתנה:" + +#: page.conferences.php:197 +msgid "enable music on hold when the conference has a single caller" +msgstr "ה׀על מוסיקה בהמתנה כאשך בועידה יש ךק מתקשך אחד" + +#: page.conferences.php:209 +msgid "allow menu:" +msgstr "א׀שך ת׀ךיט:" + +#: page.conferences.php:209 +msgid "present menu (user or admin) when '*' is received ('send' to menu)" +msgstr "השג ת׀ךיט (משתמש או מנהל) כאשך לוחשים על כוכבית ('שליחה' אל הת׀ךיט)" Index: /modules/branches/2.7/conferences/i18n/zh_CN/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/zh_CN/LC_MESSAGES/conferences.po (revision 7440) +++ /modules/branches/2.7/conferences/i18n/zh_CN/LC_MESSAGES/conferences.po (revision 7440) @@ -0,0 +1,284 @@ +# 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-05 10:59+0200\n" +"PO-Revision-Date: 2009-02-01 11:17+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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "䌚议宀 %s%s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "䌚议%s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "䌚议" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "检查是吊需芁迁移圕音。。" + +#: install.php:41 +msgid "migrating" +msgstr "正圚迁移" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "正圚添加joinmsg_id字段。。" + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "臎呜错误" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "完成" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "迁移到圕音ID。。" + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "迁移了 %s 䞪项目" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "正圚删陀joinmsg字段" + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "joinmsg字段䞍存圚" + +#: install.php:92 +msgid "already migrated" +msgstr "已经迁移过了" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "譊告圚䜠的垐号䞋无法䜿甚分机" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "。" + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "添加䌚议" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "䌚议" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "已删陀" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "䌚议" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "删陀䌚议 %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "分机号冲突" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "猖蟑䌚议" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "䌚议号码" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "拚打歀号码以参加䌚议。" + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "䌚议名称" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "䞺歀䌚议取䞀䞪简短的名称以垮助䜠标识它。" + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "䜿甚PIN码" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "䜠可以芁求参加䌚议的人蟓å +¥å¯†ç ã€‚

这项讟眮是可选的。

䞍管是甚户PIN码还是管理员PIN码只芁å +¶äž­æœ‰äž€æ é‡Œè®Ÿçœ®äº†PIN码甚户圚参加䌚议前䌚被提瀺需芁蟓å +¥PIN。" + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "管理员PIN码" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "䞺管理员甚户蟓å +¥PIN码。

é™€éžâ€œç­‰åŸ +䞻持人到来”选项被启甚吊则管理员PINçš„è®Ÿçœ®æ˜¯å¯é€‰çš„ã€‚è‹¥â€œç­‰åŸ +䞻持人到来”选项被启甚歀PIN码就甚于鉎别䞻持人。" + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "䌚议选项" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "å +¥äŒšæ¶ˆæ¯ïŒš" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "圚䞻叫加å +¥äŒšè®®ä¹‹å‰èŠæ’­æ”Ÿçš„æ¶ˆæ¯ã€‚

芁添加额倖的消息请䜿甚巊䟧的“系统圕音”菜单。" + +#: page.conferences.php:158 +msgid "None" +msgstr "无" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "圚䞻叫加å +¥äŒšè®®ä¹‹å‰èŠæ’­æ”Ÿçš„æ¶ˆæ¯ã€‚

芁添加额倖的消息请䜿甚巊䟧的“系统圕音”菜单以猖蟑歀选项。" + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "ç­‰åŸ +䞻持人" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "ç­‰åŸ +䞻持人管理员甚户加å +¥åŽæ‰åŒ€å§‹äŒšè®®" + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "吊" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "是" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "安静暡匏" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "安静暡匏䞍播攟å +¥äŒš/犻䌚的提瀺音" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "甚户数量" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "通告加å +¥äŒšè®®çš„甚户数量" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "甚户加å +¥/犻匀" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "通告甚户的加å +¥/犻匀" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "ç­‰åŸ +音乐" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "åœšäŒšè®®åªæœ‰äž€äžªç”šæˆ·å‚åŠ æ—¶ïŒŒå¯ç”šç­‰åŸ +音乐" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "启甚菜单" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "圚收到“*”“发送”菜单后向甚户或管理员展瀺菜单" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "䌚议圕音" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "䞺䌚议圕音" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "请蟓å +¥æœ‰æ•ˆçš„䌚议号码" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "请蟓å +¥æœ‰æ•ˆçš„䌚议名称" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "åŠ‚æžœäœ å¯ç”šçš„ç­‰åŸ +äž»æŒäººçš„é€‰é¡¹ïŒŒå°±å¿ +须䞺䌚议䞻持人讟眮䞀䞪管理员PIN码" + Index: /modules/branches/2.7/conferences/i18n/pt_BR/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/pt_BR/LC_MESSAGES/conferences.po (revision 7647) +++ /modules/branches/2.7/conferences/i18n/pt_BR/LC_MESSAGES/conferences.po (revision 7647) @@ -0,0 +1,262 @@ +# 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 Conference Module\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\n" +"PO-Revision-Date: 2009-05-05 15:28-0300\n" +"Last-Translator: Marcelo Araujo \n" +"Language-Team: MidiVTS team \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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Sala de conferência %s: %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "Conferência: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Conferência:" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "Verificando se as gravações precisam de migração" + +#: install.php:41 +msgid "migrating" +msgstr "Migrando" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "Adicionando o campo joimsg_id." + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "erro fatal" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "ok" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "migrar para gravando os ids.." + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "%s entradas migradas" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "descartando o campo joinmsg" + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "nenhum campo joinmsg???" + +#: install.php:92 +msgid "already migrated" +msgstr "já migrado" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "Cuidado! Extensão" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "não é permitido para a sua conta" + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "Adicionar Conferência" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Conferência" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "apagado" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Conferência" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Apagar a conferência %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Extensões conflitantes" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Editar conferência" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Número da conferência" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "Use este número para discar para a conferência" + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Nome da conferência" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Dê a esta conferência um breve nome para ajudar a identificá-la" + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "PIN do usuário" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "Você pode fazer com que a origem entre com uma senha antes que ela possa entrar nesta conferência.

Esta configuração é opcional.

Se um PIN for inserido, será pedido o PIN do usuário. " + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "PIN do Admin" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "Entre com o número PIN do usuário administrador.

Esta configuração é opcional a menos que a opção 'aguardar o líder\" esteja em uso, então este PIN irá identificar o líder. " + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Opções da conferência" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "Mensagem de chegada:" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Mensagem a ser tocada para a origem antes que ela se junte na conferência.

Para adicionar novas gravações, por favor use o menu \"Gravações do Sistema\" à esquerda. " + +#: page.conferences.php:158 +msgid "None" +msgstr "Nenhum" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Mensagem a ser tocada para a origem antes dela se juntar a conferência.

Você deve instalar e habilitar o módulo \"Gravações do Sistema\" para editar esta opção" + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "Aguarda o líder" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "Espera até o líder(usuário admin) da conferência chegar antes de iniciar a conferência." + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "Não" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Sim" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Modo silencioso:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Modo silencioso (não toca os sons de entrada e saída)" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "Número de usuários" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Anuncia o número de usuários ao se juntar a conferência" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "entrada/saída de usuário" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Anuncia a entrada e saída de usuários" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Música em espera" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Habilita música em espera quando a conferência tem apenas um usuário" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "Menu de permissões" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "Menu presentes(usuário/administrador) quando '*' é recebido (menu 'enviar')" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Gravar conferência" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "Gravar a chamada em conferência" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "Submeter mudanças" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "Por favor, entre com um número válido de conferência" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "Por favor, entre com um nome válido de conferência" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Você deve configurar um PIN de administrador para o líder da conferência quando selecionar a opção aguarda o líder. " + Index: /modules/branches/2.7/conferences/i18n/hu_HU/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/hu_HU/LC_MESSAGES/conferences.po (revision 6986) +++ /modules/branches/2.7/conferences/i18n/hu_HU/LC_MESSAGES/conferences.po (revision 6986) @@ -0,0 +1,273 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\n" +"PO-Revision-Date: 2008-02-12 21:48+0100\n" +"Last-Translator: Lónyai Gergely \n" +"Language-Team: Magyar \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Hungarian\n" +"X-Poedit-Country: HUNGARY\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: functions.inc.php:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Konferencia:" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "" + +#: install.php:41 +msgid "migrating" +msgstr "" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "" + +#: install.php:46 install.php:58 install.php:74 +msgid "fatal error" +msgstr "" + +#: install.php:49 install.php:88 +msgid "ok" +msgstr "" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "" + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "" + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "" + +#: install.php:92 +msgid "already migrated" +msgstr "" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "Figyelem! Mellék" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "nem elfogadható a hozzáférés." + +#: page.conferences.php:64 page.conferences.php:115 page.conferences.php:126 +msgid "Add Conference" +msgstr "Konferencia hozzásadása" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Konferencia" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "törölt" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Konferencia:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Konferencia törlése %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Mellékek ÃŒtközése" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Konferencia szerkesztése" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Konferenciaszám:" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "A szám, amit a conferencia eléréséhez tárcsázni kell." + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Konferencianév" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Adj meg a konferenciának egy jellemző nevet." + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "Felhasználó PIN:" + +#: page.conferences.php:140 +msgid "" +"You can require callers to enter a password before they can enter this " +"conference.

This setting is optional.

If either PIN is " +"entered, the user will be prompted to enter a PIN." +msgstr "" +"A konferenciát hívó személynek ezt a jelszót kell megadnia." +"

Opcionális beállítás

Ha megadsz egy PIN számot, akkor a " +"felhasználónak ugyanezt a PIN-t kell majd a belépéshez megadnia." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "Admin PIN:" + +#: page.conferences.php:144 +msgid "" +"Enter a PIN number for the admin user.

This setting is optional " +"unless the 'leader wait' option is in use, then this PIN will identify the " +"leader." +msgstr "" +"Az admin felhasználó PIN száma.

Ezzel a beállítással a 'Vezetőre " +"várakozás' opcióban megadható PIN számot lehet beállítani. Aki az említett " +"időben megadja a PIN-t, az lesz a konferencia vezetője." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Konferencia opciók" + +#: page.conferences.php:153 page.conferences.php:170 +msgid "Join Message:" +msgstr "Csatlakozó ÃŒzenet:" + +#: page.conferences.php:153 +msgid "" +"Message to be played to the caller before joining the conference.

To " +"add additional recordings please use the \"System Recordings\" MENU to the " +"left" +msgstr "" +"Ez az Ìzenet lesz lejátszva a konferenciába csatlakozó hívóknak.

A " +"saját felvételeidet a \"Rendszerfelvételek\" bal oldali menÌpontban " +"rögzítheted." + +#: page.conferences.php:158 +msgid "None" +msgstr "Nincs" + +#: page.conferences.php:170 +msgid "" +"Message to be played to the caller before joining the conference.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" +"Ez az Ìzenet lesz lejátszva a konferenciába csatlakozó hívóknak." +"

Használatához a \"Rendszerfelvételek\" modult telepítened, és " +"engedélyezed kell." + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "Vezetőre várakozás:" + +#: page.conferences.php:177 +msgid "" +"Wait until the conference leader (admin user) arrives before starting the " +"conference" +msgstr "Wárakozás a konferencia elindítása előtt a konferencia vezetőjére (admin)." + +#: page.conferences.php:182 page.conferences.php:194 page.conferences.php:206 +#: page.conferences.php:218 page.conferences.php:230 page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "Nem" + +#: page.conferences.php:183 page.conferences.php:195 page.conferences.php:207 +#: page.conferences.php:219 page.conferences.php:231 page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Igen" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Néma ÃŒzemmód:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Csendes mód (nem játszik le zenét ki- és belépéskor)" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "Felhasználószámlálás:" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Esemény a felhasználók csatlakozásakor" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "Felhasználók fel/lecsatlakozása" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Esemény felhasználó fel/lecsatlakozásakor" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Háttérzene:" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Háttérzene engedélyezése, ha csak egy tagja van a konferenciának" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "Elfogadva menÃŒ:" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "menÃŒ megmutatása (felhasználónak vagy adminnak) amikor '*' érkezik" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Konferencia rögzítése:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "Rögzíti a teljes konferenciabeszélgetést" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "" + +#: page.conferences.php:284 +msgid "" +"You must set an admin PIN for the Conference Leader when selecting the " +"leader wait option" +msgstr "" + + + + Index: /modules/branches/2.7/conferences/i18n/it_IT/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/it_IT/LC_MESSAGES/conferences.po (revision 7250) +++ /modules/branches/2.7/conferences/i18n/it_IT/LC_MESSAGES/conferences.po (revision 7250) @@ -0,0 +1,264 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\n" +"PO-Revision-Date: 2008-11-06 14:49+0100\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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Stanza di Conferenza %s: %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "Conferenza: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Conferenza:" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "Controllo se le registrazioni hanno bisogno della migrazione.." + +#: install.php:41 +msgid "migrating" +msgstr "migrazione" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "sto aggiungendo il campo joinmsg_id.." + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "errore fatale" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "ok" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "sto migrando nelle id registrazioni.." + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "migrate %s voci" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "sto scartando il campo joinmsg.." + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "nessun campo joinmsg???" + +#: install.php:92 +msgid "already migrated" +msgstr "già migrato" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "Attenzione!" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "Non hai i permessi." + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "Aggiungi Conferenza" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Conferenza" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "eliminata" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Conferenza:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Elimina Conferenza %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Interni in conflitto" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Modifica Conferenza" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Numero Conferenza:" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "Utilizzare questo numero per entrare nella conferenza." + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Nome Conferenza:" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Dare alla conferenza un nome breve per una facile identificazione." + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "PIN utente:" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "Si può richiedere ai chiamanti di digitare una password prima di entrare in conferenza.

Questa impostazione Ú opzionale.

Se nessun PIN Ú stato inserito il sistema richiederà di digitarlo." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "PIN amministratore:" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "Inserire il numero PIN per l'utente amministratore.

Questa impostazione Ú opzionale fino a quando non si seleziona 'Attendere amministratore' che lo indentificherà tramite questo PIN." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Opzioni Conferenza" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "Messaggio di ingresso:" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Selezionare il messaggio da riprodurre ai chiamanti prima di entrate in conferenza.

Bisogna installare e attivare il modulo \"Registrazioni di Sistema\" prima di modificare questa opzione." + +#: page.conferences.php:158 +msgid "None" +msgstr "Nessuno" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Selezionare il messaggio da riprodurre ai chiamanti prima di entrare in conferenza.

Bisogna installare e attivare il modulo \"Registrazioni di Sistema\" prima di modificare questa opzione." + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "Attendere l'amministratore:" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "Attende l'arrivo dell'amministratore (leader) prima di iniziare la conferenza" + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "No" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Sì" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Modalità silenziosa:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Attiva la modalità silenziosa, non riproduce i suoni quando si entra o esce dalla conferenza" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "Conteggio Utente:" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Annuncia il conteggio degli utenti quando entrano in conferenza" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "Ingresso/uscita utenti:" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Annucia l'ingresso/uscita degli utenti" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Musica di Attesa" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Attiva la Musica di Attesa quando c'Ú solo un utente nella conferenza" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "Permetti Menu:" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "Presenta il menu (utente o amministratore) quando si preme '*' ('invia' al menu)" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Registrare Conferenza:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "Registra la conferenza" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "Prego immettere un Numero di Conferenza valido" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "Prego immettere un Nome valdio per la Conferenza" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Devi impostare un PIN per il Leader della Conferenza quando si seleziona l'opzione attesa amministratore" + +msgid "Conferences" +msgstr "Conferenze" + Index: /modules/branches/2.7/conferences/i18n/conferences.pot =================================================================== --- /modules/branches/2.7/conferences/i18n/conferences.pot (revision 7418) +++ /modules/branches/2.7/conferences/i18n/conferences.pot (revision 7418) @@ -0,0 +1,264 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "" + +#: install.php:41 +msgid "migrating" +msgstr "" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "" + +#: install.php:46 install.php:58 install.php:74 +msgid "fatal error" +msgstr "" + +#: install.php:49 install.php:88 +msgid "ok" +msgstr "" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "" + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "" + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "" + +#: install.php:92 +msgid "already migrated" +msgstr "" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "" + +#: page.conferences.php:64 page.conferences.php:115 page.conferences.php:126 +msgid "Add Conference" +msgstr "" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "" + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "" + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "" + +#: page.conferences.php:140 +msgid "" +"You can require callers to enter a password before they can enter this " +"conference.

This setting is optional.

If either PIN is " +"entered, the user will be prompted to enter a PIN." +msgstr "" + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "" + +#: page.conferences.php:144 +msgid "" +"Enter a PIN number for the admin user.

This setting is optional " +"unless the 'leader wait' option is in use, then this PIN will identify the " +"leader." +msgstr "" + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "" + +#: page.conferences.php:153 page.conferences.php:170 +msgid "Join Message:" +msgstr "" + +#: page.conferences.php:153 +msgid "" +"Message to be played to the caller before joining the conference.

To " +"add additional recordings please use the \"System Recordings\" MENU to the " +"left" +msgstr "" + +#: page.conferences.php:158 +msgid "None" +msgstr "" + +#: page.conferences.php:170 +msgid "" +"Message to be played to the caller before joining the conference.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "" + +#: page.conferences.php:177 +msgid "" +"Wait until the conference leader (admin user) arrives before starting the " +"conference" +msgstr "" + +#: page.conferences.php:182 page.conferences.php:194 page.conferences.php:206 +#: page.conferences.php:218 page.conferences.php:230 page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "" + +#: page.conferences.php:183 page.conferences.php:195 page.conferences.php:207 +#: page.conferences.php:219 page.conferences.php:231 page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "" + +#: page.conferences.php:284 +msgid "" +"You must set an admin PIN for the Conference Leader when selecting the " +"leader wait option" +msgstr "" + +#: module.xml +msgid "Conferences" +msgstr "" Index: /modules/branches/2.7/conferences/i18n/ru_RU/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/ru_RU/LC_MESSAGES/conferences.po (revision 7044) +++ /modules/branches/2.7/conferences/i18n/ru_RU/LC_MESSAGES/conferences.po (revision 7044) @@ -0,0 +1,195 @@ +# 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: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-19 21:45+0100\n" +"PO-Revision-Date: 2008-01-16 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.conferences.php:22 +msgid "Warning! Extension" +msgstr "²ÝØÜÐÝØÕ! ²ÝãâàÕÝÝØÙ ÝÞÜÕà" + +#: page.conferences.php:22 +msgid "is not allowed for your account." +msgstr "ÝÕ àÐ×àÕèñÝ Ú ØáßÞÛì×ÞÒÐÝØî Ò Ò íâÞÜ ÐÚÚÐãÝâÕ." + +#: page.conferences.php:56 page.conferences.php:87 page.conferences.php:94 +msgid "Add Conference" +msgstr "ŽÞÑÐÒØâì ÚÞÝäÕàÕÝæØî" + +#: page.conferences.php:70 +msgid "Conference" +msgstr "ºÞÝäÕàÕÝæØï" + +#: page.conferences.php:70 +msgid "deleted" +msgstr "ãÔÐÛÕÝÞ" + +#: page.conferences.php:84 +msgid "Conference:" +msgstr "ºÞÝäÕàÕÝæØï:" + +#: page.conferences.php:85 +msgid "Delete Conference" +msgstr "ÃÔÐÛØâì ÚÞÝäÕàÕÝæØî" + +#: page.conferences.php:94 +msgid "Edit Conference" +msgstr "ž×ÜÕÝØâì ÚÞÝäÕàÕÝæØî" + +#: page.conferences.php:99 +msgid "Conference Number:" +msgstr "œÞÜÕà ÚÞÝäÕàÕÝæØØ:" + +#: page.conferences.php:99 +msgid "Use this number to dial into the conference." +msgstr "ÇâÞÑë ßÞ×ÒÞÝØâì Ò ÚÞÝäÕàÕÝæØî ØáßÞÛì×ãÙâÕ íâÞâ ÝÞÜÕà." + +#: page.conferences.php:104 +msgid "Conference Name:" +msgstr "œÐ×ÒÐÝØÕ ÚÞÝäÕàÕÝæØØ:" + +#: page.conferences.php:104 +msgid "Give this conference a brief name to help you identify it." +msgstr "¿àØáÒÞÙâÕ ÚÞÝäÕàÕÝæØØ ÚÞàÞâÚÞÕ ØÜï ÔÛï ØÔÕÝâØäØÚÐæØØ." + +#: page.conferences.php:108 +msgid "User PIN:" +msgstr "PIN ßÞÛì×ÞÒÐâÕÛï:" + +#: page.conferences.php:108 +msgid "" +"You can require callers to enter a password before they can enter this " +"conference.

This setting is optional.

If either PIN is " +"entered, the user will be prompted to enter a PIN." +msgstr "" +"ŒÞÖÝÞ âàÕÑÞÒÐâì ÒÒÕáâØ ßÐàÞÛì ÔÛï ÒåÞÔï ßÞÛì×ÞÒÐâÕÛÕÙ Ò ÚÞÝäÕàÕÝæØî.

" +"ÍâÞ ÝÕÞÑï×ÐâÕÛìÝëÙ ßÐàÐÜÕâà.

µáÛØ ãÚÐ×ÐÝ PIN Ò íâÞÜ ßÞÛÕ, ßÞÛì×ÞÒÐâÕÛî " +"ÑãÔÕâ ßàÕÔÛÞÖÕÝÞ ÝÐÑàÐâì ÕÓÞ." + +#: page.conferences.php:112 +msgid "Admin PIN:" +msgstr "PIN ÐÔÜØÝØáâàÐâÞàÐ:" + +#: page.conferences.php:112 +msgid "" +"Enter a PIN number for the admin user.

This setting is optional " +"unless the 'leader wait' option is in use, then this PIN will identify the " +"leader." +msgstr "" +"ÃÚÐÖØâÕ PIN ÔÛï ÐÔÜØÝØáâàÐâÞàÐ.

ÍâÞ ÝÕÞÑï×ÐâÕÛìÝëÙ ßÐàÐÜÕâà, ÕáÛØ ØáßÞÛì×ãÕâáï " +"ÞßæØï 'ÛØÔÕà ÖÔñâ', âÞ íâÞâ PIN ØÔÕÝâØäØæØàãÕâ ÛØÔÕàÐ." + +#: page.conferences.php:121 +msgid "Conference Options" +msgstr "ŸßæØØ ÚÞÝäÕàÕÝæØØ" + +#: page.conferences.php:124 page.conferences.php:142 +msgid "Join Message:" +msgstr "ÁÞÞÑéÕÝØÕ Þ ßÞÔáÞÕÔØÝÕÝØØ?" + +#: page.conferences.php:124 +msgid "" +"Message to be played to the caller before joining the conference.

To " +"add additional recordings please use the \"System Recordings\" MENU to the " +"left" +msgstr "" +"¿àØ ßÞÔáÞÕÔØÝÕÝØØ Ú ÚÞÝäÕàÕÝæØØ ßÞÛì×ÞÒÐâÕÛî ÑãÔÕâ ÒÞáßàÞØ×ÒÕÔÕÝÞ íâÞ áÞÞÑéÕÝØÕ." +"

ÇâÞÑë áÞ×ÔÐâì áÞÞÑéÕÝØÕ ÒÞáßÞì×ãÙâÕáì áÕÚæØÕÙ ·Ðߨáì áÞÞÑéÕÝØÙ Ò ÜÕÝî áÛÕÒÐ." + +#: page.conferences.php:130 +msgid "None" +msgstr "œÕâ" + +#: page.conferences.php:142 +msgid "" +"Message to be played to the caller before joining the conference.

You " +"must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "" +"¿àØ ßÞÔáÞÕÔØÝÕÝØØ Ú ÚÞÝäÕàÕÝæØØ ßÞÛì×ÞÒÐâÕÛî ÑãÔÕâ ÒÞáßàÞØ×ÒÕÔÕÝÞ áÞÞÑéÕÝØÕ." +"

œÕÞÑåÞÔØÜÞ ØÝáâÐÛÛØàÞÒÐâì Ø ÐÚâØÒØàÞÒÐâì ÜÞÔãÛì '·Ðߨáì áÞÞÑéÕÝØÙ' ÔÛï Ø×ÜÕÝÕÝØï " +"íâÞÙ ÞßæØØ." + +#: page.conferences.php:152 +msgid "Leader Wait:" +msgstr "¶ÔÐâì ÞàÓÐÝØ×ÐâÞàÐ?" + +#: page.conferences.php:175 +msgid "" +"Wait until the conference leader (admin user) arrives before starting the " +"conference" +msgstr "" +"¶ÔÐâì ÞàÓÐÝØ×ÐâÞàÐ ÚÞÝäÕàÕÝæØØ (ßÞÛì×ÞÒÐâÕÛì ÐÔÜØÝØáâàÐâÞà) ßÞÚÐ ÞÝ ÝÕ ßÞÔáÞÕÔØÝØâáï, çâÞÑë " +"ÝÐçÐâì ÚÞÝäÕàÕÝæØî." + +#: page.conferences.php:157 page.conferences.php:169 page.conferences.php:181 +#: page.conferences.php:193 page.conferences.php:205 page.conferences.php:217 +msgid "No" +msgstr "œÕâ" + +#: page.conferences.php:158 page.conferences.php:170 page.conferences.php:182 +#: page.conferences.php:194 page.conferences.php:206 page.conferences.php:218 +msgid "Yes" +msgstr "ŽÐ" + +#: page.conferences.php:164 +msgid "Quiet Mode:" +msgstr "ÂØåØÙ àÕÖØÜ?" + +#: page.conferences.php:164 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "" +"ÂØåØÙ àÕÖØÜ (ÝÕ ÒÞáßàÞØ×ÒÞÔïâáï áÞÞÑéÕÝØï Þ âÞÜ ÚâÞ ÒÞèñÛ ØÛØ ÒëèÕÛ Ø× ÚÞÝäÕàÕÝæØØ)" + +#: page.conferences.php:176 +msgid "User Count:" +msgstr "ºÞÛØçÕáâÒÞ ãçÐáâÝØÚÞÒ?" + +#: page.conferences.php:176 +msgid "Announce user(s) count on joining conference" +msgstr "°ÝÞÝáØàÞÒÐâì ÚÞÛØçÕáâÒÞ ãçÐáâÝØÚÞÒ ÚÞÝäÕàÕÝæØØ ßàØ ßÞÔáÞÕÔØÝÕÝØØ?" + +#: page.conferences.php:188 +msgid "User join/leave:" +msgstr "ÃçÐáâÝØÚ ßÞÔáÞÕÔØÝØÛáï/ÞâÚÛîçØÛáï?" + +#: page.conferences.php:188 +msgid "Announce user join/leave" +msgstr "°ÝÞÝáØàÞÒÐâì ßÞÔáÞÕÔØÝÕÝØÕ/ÞâÚÛîçÕÝØÕ ãçÐáâÝØÚÞÒ?" + +#: page.conferences.php:200 +msgid "Music on Hold:" +msgstr "Œã×ëÚÐ Ò ÞÖØÔÐÝØØ?" + +#: page.conferences.php:200 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "žáßÞÛì×ÞÒÐâì Üã×ëÚã Ò ÞÖØÔÐÝØØ, ÕáÛØ Ò ÚÞÝäÕàÕÝæØØ ßÞÚÐ ÞÔØÝ ãçÐáâÝØÚ?" + +#: page.conferences.php:212 +msgid "Allow Menu:" +msgstr "ÀÐ×àÕèØâì ÜÕÝî?" + +#: page.conferences.php:212 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "¿àÕÔÞáâÐÒØâì ÔÞáâãß Ò ÜÕÝî (ãçÐáâÝØÚã ØÛØ ÐÔÜØÝØáâàÐâÞàã) ßàØ ÝÐÖÐâØØ '*'?" + +msgid "Record Conference:" +msgstr "·ÐߨáëÒÐâì ÚÞÝäÕàÕÝæØî?" + +msgid "Record the conference call" +msgstr "·ÐߨáëÒÐâì áÞÔÕàÖÐÝØÕ ÚÞÝäÕàÕÝæØØ?" + +msgid "Submit Changes" +msgstr "¿àØÜÕÝØâì Ø×ÜÕÝÕÝØï" Index: /modules/branches/2.7/conferences/i18n/es_ES/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/es_ES/LC_MESSAGES/conferences.po (revision 7479) +++ /modules/branches/2.7/conferences/i18n/es_ES/LC_MESSAGES/conferences.po (revision 7479) @@ -0,0 +1,257 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo conferences module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+0200\n" +"PO-Revision-Date: 2009-01-23 11:38+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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Sala de conferencia %s: %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "Conferencia: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Conferencia:" + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "Comprobando si las grabaciones necesitan migrarse..." + +#: install.php:41 +msgid "migrating" +msgstr "Migrando" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "Añadiendo campo joinmsgid" + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "Error fatal" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "Correcto" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "Migrando a identificadores de grabación..." + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "Migrados %s elementos" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "Eliminando campo joinmsg..." + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "No existe el campo joinmsg" + +#: install.php:92 +msgid "already migrated" +msgstr "Ya se ha migrado" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "¡Atención! La extensión" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "no está autorizada en su cuenta" + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "Añadir conferencia" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Conferencia" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "Eliminado" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Conferencia:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Eliminar conferencia %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Extensiones en conflicto" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Editar conferencia" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Número de conferencia" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "Use este número para llamar a la conferencia." + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Nombre de la conferencia:" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Asigne a esta conferencia un nombre descriptivo para ayudarle a identificarla." + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "PIN de usuario:" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "Puede solicitar a los usuarios que introduzcan una contraseña antes de que puedan entrar a esta conferencia.

Este parámetro es opcional.
7
Si se indica un valor en este campo, se le solicitará al usuario que introduzca el PIN." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "PIN de administración:" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "Introduzca un PIN para el administrador.

Este parámetro es opcional a menos que se seleccione la opción 'Esperar al administrador'." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Opciones de conferencia" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "Mensaje de bienvenida:" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Mensaje que se reproducirá cuando un usuario se una a la conferencia.

Para añadir más grabaciones, use la opción 'Grabaciones del sistema' del menú de la izquierad." + +#: page.conferences.php:158 +msgid "None" +msgstr "Ninguno" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "ensaje que se reproducirá cuando un usuario se una a la conferencia.

Debe tener instalado y habilitado el módulo 'Grabaciones del sistema' para editar esta opción." + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "Esperar al administrador:" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "Esperar hasta que el administrador se una para iniciar la conferencia." + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "No" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Sí" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Modo silencioso:" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Modo silencioso (no reproducir sonidos cuando alguien entre o salga de la conferencia)" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "Contador de usuarios:" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Dice el número de usuarios de la conferencia al entrar a la misma" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "Entrada/Salida de usuario:" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Anuncia la entrada o salida de un usuario de la conferencia" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Música en espera:" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Habilita la música en espera mientras la conferencia sólo tiene un asistente" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "Permitir menú:" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "Permitir el acceso al menú al usuario o al administrador cuando se se pulsa la tecla '*'." + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Grabar conferencias:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "Graba las llamadas de la conferencia." + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "Enviar cambios" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "Por favor, introduzca un número de conferencia válido" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "Por favor, introduzca un nombre de conferencia válido" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Debe establecer un PIN de administración para el administrador de la conferencia cuando se seleccione la opción 'Esperar al administrador'" + Index: /modules/branches/2.7/conferences/i18n/fr_FR/LC_MESSAGES/conferences.po =================================================================== --- /modules/branches/2.7/conferences/i18n/fr_FR/LC_MESSAGES/conferences.po (revision 7435) +++ /modules/branches/2.7/conferences/i18n/fr_FR/LC_MESSAGES/conferences.po (revision 7435) @@ -0,0 +1,258 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 10:59+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:56 +#, php-format +msgid "Conference Room %s : %s" +msgstr "Chambre de conférence %s : %s" + +#: functions.inc.php:75 +#, php-format +msgid "Conference: %s" +msgstr "Conférence: %s" + +#: functions.inc.php:194 +msgid "Conference: " +msgstr "Conférence: " + +#: install.php:35 +msgid "Checking if recordings need migration.." +msgstr "Vérification si enregistrement a besoin d'une migration" + +#: install.php:41 +msgid "migrating" +msgstr "migration" + +#: install.php:42 +msgid "adding joinmsg_id field.." +msgstr "ajout du champ joinmsg_id..." + +#: install.php:46 +#: install.php:58 +#: install.php:74 +msgid "fatal error" +msgstr "erreur fatale" + +#: install.php:49 +#: install.php:88 +msgid "ok" +msgstr "ok" + +#: install.php:54 +msgid "migrate to recording ids.." +msgstr "migration des indentifiants enregistrements" + +#: install.php:78 +#, php-format +msgid "migrated %s entries" +msgstr "migration %s entrées" + +#: install.php:82 +msgid "dropping joinmsg field.." +msgstr "abandon champ joinmsg..." + +#: install.php:86 +msgid "no joinmsg field???" +msgstr "Pas de champ joinmsg???" + +#: install.php:92 +msgid "already migrated" +msgstr "déjà migré" + +#: page.conferences.php:24 +msgid "Warning! Extension" +msgstr "Attention! Extension" + +#: page.conferences.php:24 +msgid "is not allowed for your account." +msgstr "n'est pas autorisé pour votre compte" + +#: page.conferences.php:64 +#: page.conferences.php:115 +#: page.conferences.php:126 +msgid "Add Conference" +msgstr "Ajout Conférence" + +#: page.conferences.php:78 +msgid "Conference" +msgstr "Conférence" + +#: page.conferences.php:78 +msgid "deleted" +msgstr "supprimé" + +#: page.conferences.php:98 +msgid "Conference:" +msgstr "Conférence:" + +#: page.conferences.php:101 +#, php-format +msgid "Delete Conference %s" +msgstr "Suppression conférence %s" + +#: page.conferences.php:118 +msgid "Conflicting Extensions" +msgstr "Conflit d'extensions" + +#: page.conferences.php:126 +msgid "Edit Conference" +msgstr "Edition Conférence" + +#: page.conferences.php:131 +msgid "Conference Number:" +msgstr "Numéro de conférence" + +#: page.conferences.php:131 +msgid "Use this number to dial into the conference." +msgstr "Numéro pour appeler la conférence" + +#: page.conferences.php:136 +msgid "Conference Name:" +msgstr "Nom de la conférence" + +#: page.conferences.php:136 +msgid "Give this conference a brief name to help you identify it." +msgstr "Donnez un nom à cette conférence pour vous aider à l'identifier" + +#: page.conferences.php:140 +msgid "User PIN:" +msgstr "PIN utilisateur" + +#: page.conferences.php:140 +msgid "You can require callers to enter a password before they can enter this conference.

This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN." +msgstr "Vous pouvez demander un mot de passe aux appelants avant qu'ils entrent dans la conférence.

Ce réglage est optionnel.

Si un code PIN est entré, il sera demandé à l'utilisateur." + +#: page.conferences.php:144 +msgid "Admin PIN:" +msgstr "PIN organisateur" + +#: page.conferences.php:144 +msgid "Enter a PIN number for the admin user.

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader." +msgstr "Entrez un code PIN pour l'organisateur.

Ce réglage est optionnel sauf si l'option \"Attente de l'organisateur' est utilisé, alors ce code PIN identifiera l'organisateur." + +#: page.conferences.php:150 +msgid "Conference Options" +msgstr "Options conférence" + +#: page.conferences.php:153 +#: page.conferences.php:170 +msgid "Join Message:" +msgstr "Message joint" + +#: page.conferences.php:153 +msgid "Message to be played to the caller before joining the conference.

To add additional recordings please use the \"System Recordings\" MENU to the left" +msgstr "Message qui est joué à l'appelant avant de rejoindre la conférence.

Pour ajouter de nouveaux messages, utilisez le MENU \"Enregistrements systÚme\" à gauche" + +#: page.conferences.php:158 +msgid "None" +msgstr "Aucun" + +#: page.conferences.php:170 +msgid "Message to be played to the caller before joining the conference.

You must install and enable the \"Systems Recordings\" Module to edit this option" +msgstr "Message qui est joué à l'appelant avant de rejoindre la conférence.

Vous devez installer le module \"Enregistrements systÚme\" pour utiliser cette option." + +#: page.conferences.php:177 +msgid "Leader Wait:" +msgstr "Attente de l'organisateur" + +#: page.conferences.php:177 +msgid "Wait until the conference leader (admin user) arrives before starting the conference" +msgstr "Attente jusqu'à ce que l'organisateur de la conférence se connecte" + +#: page.conferences.php:182 +#: page.conferences.php:194 +#: page.conferences.php:206 +#: page.conferences.php:218 +#: page.conferences.php:230 +#: page.conferences.php:242 +#: page.conferences.php:255 +msgid "No" +msgstr "Non" + +#: page.conferences.php:183 +#: page.conferences.php:195 +#: page.conferences.php:207 +#: page.conferences.php:219 +#: page.conferences.php:231 +#: page.conferences.php:243 +#: page.conferences.php:256 +msgid "Yes" +msgstr "Oui" + +#: page.conferences.php:189 +msgid "Quiet Mode:" +msgstr "Mode silencieux" + +#: page.conferences.php:189 +msgid "Quiet mode (do not play enter/leave sounds)" +msgstr "Ne joue pas les messages entrée/sortie" + +#: page.conferences.php:201 +msgid "User Count:" +msgstr "Comptage utilisateurs" + +#: page.conferences.php:201 +msgid "Announce user(s) count on joining conference" +msgstr "Annonce le nombre de personnes ayant rejoint la conférence" + +#: page.conferences.php:213 +msgid "User join/leave:" +msgstr "Entrée/sortie utilisateur" + +#: page.conferences.php:213 +msgid "Announce user join/leave" +msgstr "Annonce qu'un utilisateur arrive ou quitte la conférence" + +#: page.conferences.php:225 +msgid "Music on Hold:" +msgstr "Musique d'attente" + +#: page.conferences.php:225 +msgid "Enable Music On Hold when the conference has a single caller" +msgstr "Active la musique d'attente quand il n'y a qu'une seule personne dans la conférence" + +#: page.conferences.php:237 +msgid "Allow Menu:" +msgstr "Autorise menu" + +#: page.conferences.php:237 +msgid "Present Menu (user or admin) when '*' is received ('send' to menu)" +msgstr "Présentation du menu (utilisateur ou organisateur) quand la touche \"*\" est reçue ('envoyé' au menu)" + +#: page.conferences.php:250 +msgid "Record Conference:" +msgstr "Enregistrement conférence:" + +#: page.conferences.php:250 +msgid "Record the conference call" +msgstr "Enregistrement de la conférence" + +#: page.conferences.php:268 +msgid "Submit Changes" +msgstr "Soumettre changements" + +#: page.conferences.php:282 +msgid "Please enter a valid Conference Number" +msgstr "Merci d'entrer un numéro de conférence valide" + +#: page.conferences.php:283 +msgid "Please enter a valid Conference Name" +msgstr "SVP entrez un nom de conférence valide" + +#: page.conferences.php:284 +msgid "You must set an admin PIN for the Conference Leader when selecting the leader wait option" +msgstr "Vous devez créer un code PIN organisateur quand cette option est sélectionnée" + +#: module.xml +msgid "Conferences" +msgstr "Conférences" + Index: /modules/branches/2.7/conferences/install.sql =================================================================== --- /modules/branches/2.7/conferences/install.sql (revision 1081) +++ /modules/branches/2.7/conferences/install.sql (revision 1081) @@ -0,0 +1,4 @@ + +CREATE TABLE IF NOT EXISTS `meetme` ( `exten` VARCHAR( 50 ) NOT NULL , `options` VARCHAR( 15 ) , `userpin` VARCHAR( 50 ) , `adminpin` VARCHAR( 50 ) , `description` VARCHAR( 50 ) , `joinmsg` VARCHAR( 255 ) ); + + Index: /modules/branches/2.7/conferences/module.xml =================================================================== --- /modules/branches/2.7/conferences/module.xml (revision 8180) +++ /modules/branches/2.7/conferences/module.xml (revision 8180) @@ -0,0 +1,44 @@ + + conferences + Conferences + 2.6.0.2 + FreePBX + GPLv2+ + setup + Internal Options & Configuration + Allow creation of conference rooms (meet-me) where multiple people can talk together. + + *2.6.0.2* #3126 + *2.6.0.1* tabindex init + *2.6.0.0* #3392, localizations + *2.5.1.6* #3392 and some localizations + *2.5.1.5* localization strings enclosed + *2.5.1.4* #3237 + *2.5.1.3* #3192 set dir for recordings, localization cleanup and Swedish + *2.5.1.2* #3135 variable initialization + *2.5.1.1* #3087 add hook to module code + *2.5.1* #2064 Migrate recordings to recording ids + *2.5.0* #2845, added blf hints, added delete and add icons + *2.4.0.2* #2604, #2843 fix mal-formed html tags, Russian Translation + *2.4.0.1* added depends on 2.4.0 + *2.4.0* #2158 add recording option, add support for Extension and Destination Registries, it translations + *1.2.2* don't ask for name confirmation when recording names on Asterisk 1.3 (new option I replaces i) + *1.2.1.3* move Macro(user-callerid) to be called with each conf to accomodate future language settings + *1.2.1.2* add call to Macro(user-callerid) to get proper CID in Meetme Conference + *1.2.1.1* bump for rc1 + *1.2.1* changed syntax error in meetme_additional.conf form '|' to ',' separator + *1.2* Fixed raising asterisk error on empty dialstatus #1708 + *1.1.2* Add he_IL translation + *1.1.1* Updated for 2.2.0RC1 + *1.1* First release for FreePBX 2.2 - Fixed compatibility issue with new UI + + + 2.5.0alpha1 + recordings ge 3.3.8 + + + Conferences + + release/2.6/conferences-2.6.0.2.tgz + 492080446bf369300ea310fa03c9aa76 + Index: /modules/branches/2.7/conferences/functions.inc.php =================================================================== --- /modules/branches/2.7/conferences/functions.inc.php (revision 8172) +++ /modules/branches/2.7/conferences/functions.inc.php (revision 8172) @@ -0,0 +1,236 @@ +_meetmes[$room] = $pin; + } + // return the output that goes in the file + function generateConf() { + $output = ""; + if (isset($this->_meetmes) && is_array($this->_meetmes)) { + foreach (array_keys($this->_meetmes) as $meetme) { + $output .= 'conf => '.$meetme.",".$this->_meetmes[$meetme]."\n"; + } + } + return $output; + } +} + +// returns a associative arrays with keys 'destination' and 'description' +function conferences_destinations() { + //get the list of meetmes + $results = conferences_list(); + + // return an associative array with destination and description + if (isset($results)) { + foreach($results as $result){ + $extens[] = array('destination' => 'ext-meetme,'.$result['0'].',1', 'description' => $result['1']." <".$result['0'].">"); + } + return $extens; + } else { + return null; + } +} + +function conferences_getdest($exten) { + return array('ext-meetme,'.$exten.',1'); +} + +function conferences_getdestinfo($dest) { + global $active_modules; + + if (substr(trim($dest),0,11) == 'ext-meetme,') { + $exten = explode(',',$dest); + $exten = $exten[1]; + $thisexten = conferences_get($exten); + if (empty($thisexten)) { + return array(); + } else { + //$type = isset($active_modules['announcement']['type'])?$active_modules['announcement']['type']:'setup'; + return array('description' => sprintf(_("Conference Room %s : %s"),$exten,$thisexten['description']), + 'edit_url' => 'config.php?display=conferences&extdisplay='.urlencode($exten), + ); + } + } else { + return false; + } +} + +function conferences_recordings_usage($recording_id) { + global $active_modules; + + $results = sql("SELECT `exten`, `description` FROM `meetme` WHERE `joinmsg_id` = '$recording_id'","getAll",DB_FETCHMODE_ASSOC); + if (empty($results)) { + return array(); + } else { + foreach ($results as $result) { + $usage_arr[] = array( + 'url_query' => 'config.php?display=conferences&extdisplay='.urlencode($result['exten']), + 'description' => sprintf(_("Conference: %s"),$result['description']), + ); + } + return $usage_arr; + } +} + +/* Generates dialplan for conferences + We call this with retrieve_conf +*/ +function conferences_get_config($engine) { + global $ext; // is this the best way to pass this? + global $conferences_conf; + global $version; + global $amp_conf; + switch($engine) { + case "asterisk": + $ext->addInclude('from-internal-additional','ext-meetme'); + $contextname = 'ext-meetme'; + if(is_array($conflist = conferences_list())) { + + // Start the conference + $ext->add($contextname, 'STARTMEETME', '', new ext_meetme('${MEETME_ROOMNUM}','${MEETME_OPTS}','${PIN}')); + $ext->add($contextname, 'STARTMEETME', '', new ext_hangup('')); + + // hangup for whole context + $ext->add($contextname, 'h', '', new ext_hangup('')); + + foreach($conflist as $item) { + $room = conferences_get(ltrim($item['0'])); + + $roomnum = ltrim($item['0']); + $roomoptions = $room['options']; + if (version_compare($version, "1.4",">=")) { + $roomoptions = str_replace('i','I',$roomoptions); + } + if (version_compare($version, "1.4","lt")) { + $roomoptions = str_replace('o','',$roomoptions); + $roomoptions = str_replace('T','',$roomoptions); + } + $roomuserpin = $room['userpin']; + $roomadminpin = $room['adminpin']; + + if (isset($room['joinmsg_id']) && $room['joinmsg_id'] != '') { + $roomjoinmsg = recordings_get_file($room['joinmsg_id']); + } else { + $roomjoinmsg = ''; + } + + // Add optional hint + if ($amp_conf['USEDEVSTATE']) { + $ext->addHint($contextname, $roomnum, "MeetMe:".$roomnum); + } + // entry point + $ext->add($contextname, $roomnum, '', new ext_macro('user-callerid')); + $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_ROOMNUM',$roomnum)); + if (strstr($room['options'],'r') !== false) { + $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_RECORDINGFILE','${ASTSPOOLDIR}/monitor/meetme-conf-rec-${MEETME_ROOMNUM}-${UNIQUEID}')); + } + $ext->add($contextname, $roomnum, '', new ext_gotoif('$["${DIALSTATUS}" = "ANSWER"]',($roomuserpin == '' && $roomadminpin == '' ? 'USER' : 'READPIN'))); + $ext->add($contextname, $roomnum, '', new ext_answer('')); + $ext->add($contextname, $roomnum, '', new ext_wait(1)); + + // Deal with PINs -- if exist + if ($roomuserpin != '' || $roomadminpin != '') { + $ext->add($contextname, $roomnum, '', new ext_setvar('PINCOUNT','0')); + $ext->add($contextname, $roomnum, 'READPIN', new ext_read('PIN','enter-conf-pin-number')); + + // userpin -- must do always, otherwise if there is just an adminpin + // there would be no way to get to the conference ! + $ext->add($contextname, $roomnum, '', new ext_gotoif('$[x${PIN} = x'.$roomuserpin.']','USER')); + + // admin pin -- exists + if ($roomadminpin != '') { + $ext->add($contextname, $roomnum, '', new ext_gotoif('$[x${PIN} = x'.$roomadminpin.']','ADMIN')); + } + + // pin invalid + $ext->add($contextname, $roomnum, '', new ext_setvar('PINCOUNT','$[${PINCOUNT}+1]')); + $ext->add($contextname, $roomnum, '', new ext_gotoif('$[${PINCOUNT}>3]', "h")); + $ext->add($contextname, $roomnum, '', new ext_playback('conf-invalidpin')); + $ext->add($contextname, $roomnum, '', new ext_goto('READPIN')); + + // admin mode -- only valid if there is an admin pin + if ($roomadminpin != '') { + $ext->add($contextname, $roomnum, 'ADMIN', new ext_setvar('MEETME_OPTS','aA'.$roomoptions)); + if ($roomjoinmsg != '') { // play joining message if one defined + $ext->add($contextname, $roomnum, '', new ext_playback($roomjoinmsg)); + } + $ext->add($contextname, $roomnum, '', new ext_goto('STARTMEETME,1')); + } + } + + // user mode + $ext->add($contextname, $roomnum, 'USER', new ext_setvar('MEETME_OPTS',$roomoptions)); + if ($roomjoinmsg != '') { // play joining message if one defined + $ext->add($contextname, $roomnum, '', new ext_playback($roomjoinmsg)); + } + $ext->add($contextname, $roomnum, '', new ext_goto('STARTMEETME,1')); + + // add meetme config + $conferences_conf->addMeetme($room['exten'],$room['userpin']); + } + } + + break; + } +} + +function conferences_check_extensions($exten=true) { + $extenlist = array(); + if (is_array($exten) && empty($exten)) { + return $extenlist; + } + $sql = "SELECT exten, description FROM meetme "; + if (is_array($exten)) { + $sql .= "WHERE exten in ('".implode("','",$exten)."')"; + } + $sql .= " ORDER BY exten"; + $results = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + + foreach ($results as $result) { + $thisexten = $result['exten']; + $extenlist[$thisexten]['description'] = _("Conference: ").$result['description']; + $extenlist[$thisexten]['status'] = 'INUSE'; + $extenlist[$thisexten]['edit_url'] = 'config.php?display=conferences&extdisplay='.urlencode($thisexten); + } + return $extenlist; +} + +//get the existing meetme extensions +function conferences_list() { + $results = sql("SELECT exten,description FROM meetme ORDER BY exten","getAll",DB_FETCHMODE_ASSOC); + foreach($results as $result){ + // check to see if we are in-range for the current AMP User. + if (isset($result['exten']) && checkRange($result['exten'])){ + // return this item's dialplan destination, and the description + $extens[] = array($result['exten'],$result['description']); + } + } + if (isset($extens)) { + return $extens; + } else { + return null; + } +} + +function conferences_get($account){ + //get all the variables for the meetme + $results = sql("SELECT exten,options,userpin,adminpin,description,joinmsg_id FROM meetme WHERE exten = '$account'","getRow",DB_FETCHMODE_ASSOC); + return $results; +} + +function conferences_del($account){ + $results = sql("DELETE FROM meetme WHERE exten = \"$account\"","query"); +} + +function conferences_add($account,$name,$userpin,$adminpin,$options,$joinmsg_id=null){ + global $active_modules; + $results = sql("INSERT INTO meetme (exten,description,userpin,adminpin,options,joinmsg_id) values (\"$account\",\"$name\",\"$userpin\",\"$adminpin\",\"$options\",\"$joinmsg_id\")"); +} +?> Index: /modules/branches/2.7/conferences/uninstall.sql =================================================================== --- /modules/branches/2.7/conferences/uninstall.sql (revision 842) +++ /modules/branches/2.7/conferences/uninstall.sql (revision 842) @@ -0,0 +1,2 @@ + +DROP TABLE IF EXISTS meetme; Index: /modules/branches/2.7/conferences/page.conferences.php =================================================================== --- /modules/branches/2.7/conferences/page.conferences.php (revision 8172) +++ /modules/branches/2.7/conferences/page.conferences.php (revision 8172) @@ -0,0 +1,361 @@ +javascript:alert('"._("Warning! Extension")." $account "._("is not allowed for your account.")."');"; +} else { + + //if submitting form, update database + switch ($action) { + case "add": + + $conflict_url = array(); + $usage_arr = framework_check_extension_usage($account); + if (!empty($usage_arr)) { + $conflict_url = framework_display_extension_usage_alert($usage_arr); + } elseif (conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id']) !== false) { + needreload(); + redirect_standard(); + } + break; + case "delete": + conferences_del($extdisplay); + needreload(); + redirect_standard(); + break; + case "edit": //just delete and re-add + conferences_del($account); + conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id']); + needreload(); + redirect_standard('extdisplay'); + break; + } +} + +//get meetme rooms +//this function needs to be available to other modules (those that use goto destinations) +//therefore we put it in globalfunctions.php +$meetmes = conferences_list(); +?> + +
+ + +
+ + +
+

'._("Conference").' '.$extdisplay.' '._("deleted").'!









'; +} else { + if ($extdisplay != ""){ + //get details for this meetme + $thisMeetme = conferences_get($extdisplay); + $options = $thisMeetme['options']; + $userpin = $thisMeetme['userpin']; + $adminpin = $thisMeetme['adminpin']; + $description = $thisMeetme['description']; + $joinmsg_id = $thisMeetme['joinmsg_id']; + } else { + $options = ""; + $userpin = ""; + $adminpin = ""; + $description = ""; + $joinmsg_id = ""; + } + +?> + +

+ '.$tlabel.''; +?> +
+ + : + + + +

+"._("Conflicting Extensions").""; + echo implode('
',$conflict_url); + } +?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +


This setting is optional.

If either PIN is entered, the user will be prompted to enter a PIN.")?>

This setting is optional unless the 'leader wait' option is in use, then this PIN will identify the leader.")?>



To add additional recordings please use the \"System Recordings\" MENU to the left")?>
+ +

You must install and enable the \"Systems Recordings\" Module to edit this option")?>
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+hookHtml; +?> +
" tabindex="">
+ +
+ Index: /modules/branches/2.7/conferences/install.php =================================================================== --- /modules/branches/2.7/conferences/install.php (revision 6720) +++ /modules/branches/2.7/conferences/install.php (revision 6720) @@ -0,0 +1,94 @@ +"; + } +} + +if (! function_exists("outn")) { + function outn($text) { + echo $text; + } +} + +global $db; +global $amp_conf; + +$sql = " +CREATE TABLE IF NOT EXISTS `meetme` +( + `exten` VARCHAR( 50 ) NOT NULL , + `options` VARCHAR( 15 ) , + `userpin` VARCHAR( 50 ) , + `adminpin` VARCHAR( 50 ) , + `description` VARCHAR( 50 ) , + `joinmsg_id` INTEGER +) +"; +$check = $db->query($sql); +if(DB::IsError($check)) { + die_freepbx("Can not create meetme table"); +} + +// Version 2.5 migrate to recording ids +// +outn(_("Checking if recordings need migration..")); +$sql = "SELECT joinmsg_id FROM meetme"; +$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if(DB::IsError($check)) { + // Add recording_id field + // + out(_("migrating")); + outn(_("adding joinmsg_id field..")); + $sql = "ALTER TABLE meetme ADD joinmsg_id INTEGER"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } else { + out(_("ok")); + } + + // Get all the valudes and replace them with joinmsg_id + // + outn(_("migrate to recording ids..")); + $sql = "SELECT `exten`, `joinmsg` FROM `meetme`"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + out(_("fatal error")); + die_freepbx($results->getDebugInfo()); + } + $migrate_arr = array(); + $count = 0; + foreach ($results as $row) { + if (trim($row['joinmsg']) != '') { + $rec_id = recordings_get_or_create_id($row['joinmsg'], 'conference'); + $migrate_arr[] = array($rec_id, $row['exten']); + $count++; + } + } + if ($count) { + $compiled = $db->prepare('UPDATE `meetme` SET `joinmsg_id` = ? WHERE `exten` = ?'); + $result = $db->executeMultiple($compiled,$migrate_arr); + if(DB::IsError($result)) { + out(_("fatal error")); + die_freepbx($result->getDebugInfo()); + } + } + out(sprintf(_("migrated %s entries"),$count)); + + // Now remove the old recording field replaced by new id field + // + outn(_("dropping joinmsg field..")); + $sql = "ALTER TABLE `meetme` DROP `joinmsg`"; + $result = $db->query($sql); + if(DB::IsError($result)) { + out(_("no joinmsg field???")); + } else { + out(_("ok")); + } + +} else { + out(_("already migrated")); +} +?> Index: /modules/branches/2.7/customappsreg/i18n/sv_SE/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/sv_SE/LC_MESSAGES/customappsreg.po (revision 6943) +++ /modules/branches/2.7/customappsreg/i18n/sv_SE/LC_MESSAGES/customappsreg.po (revision 6943) @@ -0,0 +1,171 @@ +# 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 customappsreg\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+0200\n" +"PO-Revision-Date: 2008-10-11 16:54+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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Anpassad destination: %s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Anpassad anknytning:" + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "Ogiltig destination, den kan inte vara tom och måste vara formaterad som: context,exten,pri" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "Ogiltig beskrivning, den kan inte vara tom" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "DUBLETT av destination: Denna destination finns redan" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "DUBLETT av destination: Denna destination finns redan eller anvÀnds av annan modul" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "Ogiltig anknytning, den kan inte vara tom" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "DUBLETT av anknytning: Denna anknytning anvÀnds redan" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "LÀgg till anpassad destination" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "Redigera:" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "Anpassade destinationer ger dig möjlighet att registrera dina anpassningar i nummerplanen och 'publicerar' dessa som tillgÀngliga destinationer för andra moduler. Detta Àr en avancerad funktion och bör bara anvÀndas av personer med insikt i Asterisk nummerplan. Om du får varningar eller felmeddelande i \"Meddelanden från FreePBX\" om ANPASSADE destinationer, bör du inkludera dom hÀr." + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "Redigera anpassad anknytning" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Anpassad destination" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "Detta Àr en Anpassad destination som ska publiceras. Formatet ska vara exakt som du anvÀnder i en goto sats, med context, exten, priority. Ett exempel kan se ut som detta:
min-anpassade-app,s,1" + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "VARNING SKRIVSKYDDAD: Denna destination anvÀnds av andra moduler och kan inte redigeras. Du mÃ¥ste ta bort ta bort dessa beroenden för att kunna redigera denna destination, eller skapa en ny destination." + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "Snabbval för destination" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "VÀlj en oidentifierad destination i ditt system för att lÀgga till den i registret för Anpassad destinationer. Detta kommer att lÀgga till vÀrdet i rutan Anpassad destination ovan." + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(vÀlj destination)" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "Beskrivning" + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "Kortfattad beskrivning som kommer att visas nÀr du vÀljer destination i moduler. Exempel: Min Anpassade VÀg" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "Notering" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "Mer detaljerad beskrivning om denna destination, för dokumentation. Detta fÀlt anvÀnds bara hÀr." + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "Ta bort" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "LÀgg till anpassad anknytning" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "Anpassade anknytningar ger dig en möjlighet att registrera anpassade anknytningar eller funktionskoder som du har skapat i en anpassad fil som FreePBX inte kÀnner till. Detta ger en möjlighet för Anknytningsregistret att kÀnna till dina anknytningar sÃ¥ att konflikter kan detekteras eller rapporteras tillbaka till andra moduler som eventuellt anvÀnder informationen. Du ska inte lÀgga till anknytningar hÀr som du skapar i Övriga Applikationer dÃ¥ dom inte Àr att rÀkna som anpassade" + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "Konfliktande anknytningar" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "Redigera anpassad anknytning" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Anpassad anknytning" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "Detta Àr den anpassade anknytning eller funktionskod som du anvÀnder i din nummerplan som FreePBX kommer att kÀnna till." + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "Kortfattad beskrivning som kommer att visas för övriga anknytningar" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "Mer detaljerad beskrivning om denna anknytning för att underlÀtta dokumentation. Detta anvÀnds bara hÀr." + +#: module.xml +msgid "Custom Destinations" +msgstr "Anpassade destinationer" + +#: module.xml +msgid "Custom Extensions" +msgstr "Anpassade anknytningar" + Index: /modules/branches/2.7/customappsreg/i18n/bg_BG/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/bg_BG/LC_MESSAGES/customappsreg.po (revision 7250) +++ /modules/branches/2.7/customappsreg/i18n/bg_BG/LC_MESSAGES/customappsreg.po (revision 7250) @@ -0,0 +1,178 @@ +# 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-05 22:57+0200\n" +"PO-Revision-Date: 2008-11-04 22:50+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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Custom НаправлеМОе: %s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Custom ВътрешМа ЛОМОя: " + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "НеправОлМП НаправлеМОе, Ме ЌПже Ўа е празМП, трябва Ўа е фПрЌатОраМП така: context,exten,pri" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "НеправОлМП ПпОсаМОе, Ме ЌПже Ўа е празМП" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "ДУБЛИРАНО НаправлеМОе: НаправлеМОетП вече се ОзпПлзва" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "ДУБЛИРАНО НаправлеМОе: НаправлеМОетП се ОзпПлзва ОлО пПтеМцОалМП се ОзпПлзва Пт Ўруг ЌПЎул" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "НеправОлМа ВътрешМа ЛОМОя, пПлетП Ме ЌПже Ўа е празМП" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "ДУБЛИРАНА ВътрешМа ЛОМОя: ТазО вътрешМа лОМОя вече се ОзпПлзва" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "ДПбавО Custom НаправлеМОе" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "РеЎактОрай:" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "Custom НаправлеМОя вО Ўават възЌПжМПста Ўа регОстрОрате вашОте custom МаправлеМОя, кПОтП Ўа МасПчват къЌ custom ÑÑ +еЌО Ма ОзбОраМе О Ўа 'преЎПставят' тезО МаправлеМОя катП възЌПжМО МаправлеМОя за ЎругОте ЌПЎулО. ТПва е слПжМа фуМкцОя О трябва Ўа се ОзпПлзва саЌП Пт зМаещО пПтребОтелО. АкП пПлучавате преЎупрежЎеМОя О грешкО в паМела за сОстеЌеМ статус за CUSTOM НаправлеМОя кПОтП са кПректМО, тПгава бО трябвалП Ўа гО включОте тук. 'БързП ИзбОраМе Ма НаправлеМОе' вО преЎлага Ўа Озберете О ЎПбавОте всОчкО МаправлеМОя за кПОтП регОстрОте Ме са ОзвестеМО в Custom НаправлеМОе пПлетП." + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "РеЎактОрай Custom НаправлеМОе" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Custom НаправлеМОе" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "Custom НаправлеМОе за преЎПставяМе. Трябва Ўа е фПрЌатОраМП тПчМП кактП Ð±ÐžÑ +те гП МапОсалО в goto въвежЎаМе, с включеМО context, exten, priority. НапрОЌер:
mycustom-app,s,1" + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "ВНИМАНИЕ: Тъй катП тПва МаправлеМОе се ОзпПлзва Пт Ўруг ЌПЎул Ме ЌПже Ўа бъЎе реЎактОраМП. Трябва Ўа Ð¿Ñ€ÐµÐŒÐ°Ñ +МОте тазО завОЌПст за Ўа ЌПжете Ўа реЎактОрате МаправлеМОетП ОлО съзЎайте МПвП МаправлеМОе кПетП Ўа ОзпПлзвате" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "БързП ИзбОраМе Ма НаправлеМОе" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "ИзбОра МезвестМО МаправлеМОя във вашата сОстеЌа за Ўа гО ЎПбавО къЌ РегОстрОраМО Custom НаправлеМОя. ТПва ще пПставО ОзбраМПтП в Custom НаправлеМОе пПлетП пП-гПре." + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(ОзберО МаправлеМОе)" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "ОпОсаМОе" + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "КраткП ПпОсаМОе кПетП ще се преЎПставО Ма ЌПЎулОте кПгатП пПказват МаправлеМОята. НапрОЌер: My Weather App" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "БележкО" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "ПП ЎетайлМО бележкО за тПва МаправлеМОе. ТПва пПле Ме се ОзпПлзва МОкъЎе." + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "ИзтрОй" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "ДПбавО Custom ВътрешМа ЛОМОя" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "Custom ВътрешМО ЛОМОО вО Ўават възЌПжМПста Ўа регОстрОрате всОчкО custom вътрешМО лОМОО ОлО спецОалМО кПЎПве кПОтП сте съзЎалО в custom файл О FreePBX МяЌа как Ўа рабере за Ñ‚ÑÑ +. ТПва пПзвПлява Ма РегОстрОраМО ВътрешМО ЛОМОО Ўа МаучО за Ñ‚ÑÑ +, така че Ўа ЌПже Ўа ПткрОва кПМфлОктО ОлО Ўа връща ОМфПрЌацОя за вашОте custom вътрешМО лОМОО къЌ ЎругОте ЌПЎулО, кПОтП евеМтуалМП ЌПгат Ўа ОзпПлзват тазО ОМфПрЌацОя. Не трябва Ўа пПставяте вътрешМОте лОМОО кПОтП сте съзЎалО в МПЎул ДругО НаправлеМОя, тъй катП те Ме са custom." + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "ВътрешМО ЛОМОО в КПМфлОкт" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "РеЎактОрай Custom ВътрешМа ЛОМОя" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Custom ВътрешМа ЛОМОя" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "ВътрешМа ЛОМОя ОлО СпецОалеМ КПЎ кПОтП ОзпПлзвате в вашОте ÑÑ +еЌО Ма ОзбОраМе за кПОтП Оскате FreePBX РегОстрОраМО ВътрешМО ЛОМОО Ўа се Озвестява." + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "КраткП ПпОсаМОе кПетП ще се преЎставО в РегОстрОраМО ВътрешМО ЛОМОО за тазО вътрешМа лОМОя" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "ПП ЎетайлМО бележкО за тазО вътрешМа лОМОя. ТПва пПле Ме се ОзпПлзва МОкъЎе." + +#: module.xml +msgid "Custom Destinations" +msgstr "Custom НаправлеМОя" + +#: module.xml +msgid "Custom Extensions" +msgstr "Custom ВътрешМО ЛОМОО" + Index: /modules/branches/2.7/customappsreg/i18n/zh_CN/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/zh_CN/LC_MESSAGES/customappsreg.po (revision 7440) +++ /modules/branches/2.7/customappsreg/i18n/zh_CN/LC_MESSAGES/customappsreg.po (revision 7440) @@ -0,0 +1,240 @@ +# 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-05 22:57+0200\n" +"PO-Revision-Date: 2009-01-30 17:41+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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "自定义目的地%s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "自定义分机" + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "æ— æ•ˆçš„ç›®çš„åœ°ïŒŒäžå¯ä»¥äžºç©ºïŒŒæ ŒåŒå¿ +须䞺context,exten,pri" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "指定了无效的描述䞍胜䞺空" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "重倍的目的地歀目的地已被䜿甚" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "重倍的目的地歀目的地已被䜿甚或可胜圚被å +¶ä»–暡块䜿甚" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "无效的分机号䞍胜䞺空" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "重倍的分机号歀分机已被䜿甚" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "添加自定义目的地" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "猖蟑" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "这向讟眮可以让䜠泚册指向自定义的拚号方案的自定义目的地并䞔䌚向å +¶ä»–暡块“发垃”这䞪目的地。这是䞀项高级功胜只有高端甚户才胜䜿甚。劂果䜠圚通告面版䞭发现了å +³äºŽæ˜Žæ˜Žæ˜¯æ­£ç¡®çš„è‡ªå®šä¹‰ç›®çš„è­Šå‘Šæˆ–é”™è¯¯ïŒŒé‚£ä¹ˆè¯·æŠŠå®ƒä»¬åŒ +含到这里的讟眮䞭去。“未知目的地”选择噚可以让䜠选择并插å +¥ä»»äœ•这样的目的地而泚册衚䞭没有å +³äºŽå®ƒä»¬çš„信息。" + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "猖蟑自定义目的地" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "自定义目的地" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "这是芁发垃的自定义目的地。他应该被栌匏化成圚gotoè¯­å¥äž­çš„é‚£ç§åœ¢åŒïŒŒèŠåŒ +括䞊䞋文、分机、䌘å +ˆçº§åˆ«ã€‚䞀䞪可胜的䟋子劂䞋
mycustom-app,s,1" + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "只读譊告由于歀目的地正圚被å +¶ä»–æš¡å—äœ¿ç”šïŒŒæ‰€ä»¥äžèƒœçŒ–èŸ‘ç›®çš„åœ°ã€‚äœ å¿ +é¡»ç§»é™€å¯¹å®ƒçš„äŸèµ–ïŒŒç„¶åŽæ‰èƒœçŒ–èŸ‘å®ƒã€‚æˆ–è€ +也可以创建新的目的地。" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "快速选取目的地" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "选择䜠的系统䞭的未标识的目的地以添加到自定义目的地的泚册衚䞭去。这将向䞊面的自定义目的地框插å +¥æ‰€é€‰æ‹©çš„项。" + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "选取目的地" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "描述" + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "圓向å +¶ä»–暡块发垃后芁星瀺的简短描述。䟋子我的倩气预报应甚皋序" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "倇泚" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "曎诊细的å +³äºŽç›®çš„地的描述歀域䞍䌚圚å +¶ä»–地方甚到。" + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "删陀" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "添加自定义分机" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "自定义分机䞺䜠提䟛了䞀种可以泚册任䜕自定义分机或功胜代码的机制而这些自定义分机和功胜代码原来是䜠圚自己的é +çœ®æ–‡ä»¶äž­åˆ›å»ºçš„FreePBXå¹¶äžäº†è§£å®ƒä»¬ã€‚è¿™è®©åˆ†æœºæ³šå†Œè¡šæœ‰æœºäŒšçŸ¥é“äœ è‡ªå·±çš„åˆ†æœºå·ïŒŒè¿™æ ·å®ƒå¯ä»¥æŽ¢æµ‹å†²çªæˆ–è€ +向å +¶ä»–需芁分机信息暡块报告䜠自定义的分机号。请䜠䞍芁圚歀倄添加䜠圚Misc Apps暡块䞭创建的分机因䞺那些䞍算自定义的分机。" + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "分机冲突" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "猖蟑自定义分机" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "自定义分机" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "这是䜠圚䜠的拚号方案䞭䜿甚的分机和功胜代码而䜠垌望让FreePBX的分机泚册衚知道它们。" + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "将圚分机泚册衚䞭发垃的å +³äºŽæ­€åˆ†æœºçš„简短描述" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "曎倚的å +³äºŽæ­€åˆ†æœºçš„诊细信息歀域䞍䌚被甚圚别的地方。" + +#: module.xml +msgid "Custom Destinations" +msgstr "自定义目的地" + +#: module.xml +msgid "Custom Extensions" +msgstr "自定义分机" + +#~ msgid "" +#~ "Custom Destinations allows you to register your custom destinations that " +#~ "point to custom dialplans and will also 'publish' these destinations as " +#~ "available destinations to other modules. This is an advanced feature and " +#~ "should only be used by knowledgable users. If you are getting warnings or " +#~ "errors in the noticication panel about CUSTOM destinations that are " +#~ "correct, you should include them here. The 'Unknown Destinations' chooser " +#~ "will allow you to choose and insert any such destinations that the " +#~ "registry is not aware of into the Custom Destination field." +#~ msgstr "" +#~ "这向讟眮可以让䜠泚册指向自定义的拚号方案的自定义目的地并䞔䌚向å +¶ä»–æš¡" +#~ "块“发垃”这䞪目的地。这是䞀项高级功胜只有高端甚户才胜䜿甚。劂果䜠圚通告面" +#~ "版䞭发现了å +³äºŽæ˜Žæ˜Žæ˜¯æ­£ç¡®çš„è‡ªå®šä¹‰ç›®çš„è­Šå‘Šæˆ–é”™è¯¯ïŒŒé‚£ä¹ˆè¯·æŠŠå®ƒä»¬åŒ +含到这里的讟" +#~ "眮䞭去。“未知目的地”选择噚可以让䜠选择并插å +¥ä»»äœ•这样的目的地而泚册衚䞭没" +#~ "有å +³äºŽå®ƒä»¬çš„信息。" +#~ msgid "" +#~ "Choose un-identified destinations on your system to add to the Custom " +#~ "Destinaion Registry. This will insert the chosen entry into the Custom " +#~ "Destination box above." +#~ msgstr "" +#~ "选择䜠的系统䞭的未标识的目的地以添加到自定义目的地的泚册衚䞭去。这将向䞊面" +#~ "的自定义目的地框插å +¥æ‰€é€‰æ‹©çš„项。" +#~ msgid "" +#~ "Custom Extensions provides you with a facility to register any custom " +#~ "extenions or feature codes that you have created in a custom file and " +#~ "FreePBX doesn't otherwise know about them. This allows the Extension " +#~ "Registry to be aware of your own extensions so that it can detect " +#~ "conflicts or report back information about your custom extensions to " +#~ "other modules that may make use of the information. You should not put " +#~ "extensions that you create in the Misc Apps Module as those are not " +#~ "custom." +#~ msgstr "" +#~ "自定义分机䞺䜠提䟛了䞀种可以泚册任䜕自定义分机或功胜代码的机制而这些自定" +#~ "义分机和功胜代码原来是䜠圚自己的é +çœ®æ–‡ä»¶äž­åˆ›å»ºçš„FreePBX并䞍了解它们。这" +#~ "è®©åˆ†æœºæ³šå†Œè¡šæœ‰æœºäŒšçŸ¥é“äœ è‡ªå·±çš„åˆ†æœºå·ïŒŒè¿™æ ·å®ƒå¯ä»¥æŽ¢æµ‹å†²çªæˆ–è€ +向å +¶ä»–需芁分机" +#~ "信息暡块报告䜠自定义的分机号。请䜠䞍芁圚歀倄添加䜠圚Misc Apps暡块䞭创建的" +#~ "分机因䞺那些䞍算自定义的分机。" + Index: /modules/branches/2.7/customappsreg/i18n/pt_BR/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/pt_BR/LC_MESSAGES/customappsreg.po (revision 7759) +++ /modules/branches/2.7/customappsreg/i18n/pt_BR/LC_MESSAGES/customappsreg.po (revision 7759) @@ -0,0 +1,184 @@ +# 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 Araujo +# +msgid "" +msgstr "" +"Project-Id-Version: freePBX 2.5.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+0200\n" +"PO-Revision-Date: 2009-05-11 20:05-0300\n" +"Last-Translator: Marcelo Araujo \n" +"Language-Team: MidiVTS Team \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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Destino personalizado: %s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Extensão personalizada:" + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "Destino inválido, não deve ser branco, deve ser formatado como: context, exten, pri" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "Descrição inválida especificada, não deve estar em branco" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "Destino duplicado: Este destino já está em uso" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "Destino duplicado: Este destino esta em uso ou potencialmente usado por outro módulo" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "Extensão inválida, não deve estar em branco" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "Extensão duplicada: A extensão já está em uso" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "Adicionar um destino personalizado" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "Editar:" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "Permite a você registrar destinos personalizados que apontam para planos de discagem personalizados e também 'publicar' estes destinos como destinos disponíveis para outros módulos. Este é um recurso avançado e deveria ser usado apenas por usuários com bom conhecimento. Se você está recebendo avisos ou erros no painel de notificação sobre os destinos PERSONALIZADOS que estão corretos, você deveria incluí-los lá. A lista 'Destinos desconhecidos' irá permitir que você escolha e insira quaisquer destinos que o registro não está a par no campo Destino Personalizado. " + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "Editar destino personalizado" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Destino personalizado" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "Este é um destino personalizado a ser publicado. Ele deve ser formatado exatamente como você colocaria em uma instrução goto, com contexto, extensão e prioridade incluídas. Algo como:
mycustom-app,s,1" + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "AVISO SOMENTE LEITURA: Este destino está sendo usado por outro módulo e não pode ser editado. Você deve remover estas dependências de forma a editar o destino ou criar um novo destino a ser usado" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "Seleção rápida do Destino" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "Escolha destinos não identificados no seu sistema para adicionar ao registro de destinos personalizados. ISto irá inserir a entrada escolhida dentro da caixa de destino personalizada acima. " + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(selecionar destino)" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "Descrição " + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "Breve descrição que será publicada para os módulos quando mostrando os destinos. Exemplo: Minha Previsão do Tempo" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "Notas" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "Notas mais detalhadas sobre o destino para ajudar a documentá-la. Este campo não é usado em nenhum outro lugar." + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "Submeter Mudanças" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "Remover" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "Adicionar extensão personalizada" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "Extensões personalizadas permitem a você registar quaisquer extensões personalizadas ou códigos de recurso que você tenha criado no arquivo custom e o freePBX não saiba a respeito deles. Isto permite que o registro da extensão esteja a par das suas próprias extensões, de forma que ele possa detectar conflitos e relatar de volta as informações sobre as extensões personalizadas para outros módulos que podem fazer uso da informação. Você não deveria colocar as extensões que você criou no módulo Misc Apps como não customizada. " + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "Extensões conflitantes" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "Editar extensão personalizada" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Extensão personalizada" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "Esta é a extensão ou código de recurso que você está usando no seu plano de discage, e que você quer que o registro de extensões do freePBX esteja a par. " + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "Breve descrição que será publicada no registro de extensões sobre esta extensão" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "Notas mais detalhadas sobre a extensão para ajudar a documentá-la. Este campo não é usado em mais nenhum lugar." + +#: module.xml +msgid "Custom Destinations" +msgstr "Destinos personalizados" + +#: module.xml +msgid "Custom Extensions" +msgstr "Extensões personalizadas" + Index: /modules/branches/2.7/customappsreg/i18n/it_IT/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/it_IT/LC_MESSAGES/customappsreg.po (revision 7250) +++ /modules/branches/2.7/customappsreg/i18n/it_IT/LC_MESSAGES/customappsreg.po (revision 7250) @@ -0,0 +1,166 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Destinazione Personalizzata: %s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Interno Personalizzato:" + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "Destinazione non valida, non può essere lasciata vuota, deve essere formattata come: contesto,exten,pri" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "Descrizione specificata non valida, non può essere lasciata vuota" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "Destinazione DUPLICATA: Questa destinazione Ú già in uso" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "Destinazione DUPLICATA: Questa destinazione Ú già in uso o potenzialmente utilizzata da un altro modulo" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "Interno non valido, non può essere lasciato vuoto" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "Interno DUPLICATO: Questo interno Ú già in uso" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "Aggiungi Destinazione Personalizzata" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "Modifica:" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "Il modulo Destinazioni Personalizzate permette di registrare e aggiungere destinazioni che puntano ad un piano di chiamata personalizzato e pubblica queste destinazioni come disponibili in altri moduli. Questa Ú una funzione avanzata e andrebbe usata solo da utenti che conosco bene i comandi. Se ricevi errori o notifiche a proposito di destinazioni PERSONALIZZATE che invece sono corrette, dovresti includerle qui. Il selettore 'Destinazioni Sconosciute' permetterà di scegliere ed inserire qualsiasi destinazione che il registro non Ú a conoscenza nel campo Destinazioni Personalizzate." + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "Modifica Destinazione Personalizzata" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Destinazione Personalizzata" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "Questa Ú la Destinazione Personalizzata che sarà pubblicata. Deve essere formattata esattamente come se fosse inserita dopo il comando goto, con contesto,exten,priorità tutto incluso. Esempio:
app-prova,s,1" + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "ATTENZIONE, SOLA LETTURA: siccome questa destinazione Ú utilizzata da altri moduli non può essere modificata. Devi prima eliminare queste dipendenze prima di rimuovere questa destinazione, o creare una nuova destinazione da utilizzare" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "Selezione Rapida Destinazione" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "Scegliere una destinazione" + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(seleziona destinazione)" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "Descrizione" + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "Breve Descrizione che sarà pubblicata nei moduli quando si visualizzeranno le destinazioni. Esempio: Mia Applicazione Meteo" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "Note" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "Ulteriori note descrittive a proposito di questa destinazione per aiutare a documentarla. Questo campo non Ú utilizzato da nessun'altra parte." + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "Elimina" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "Aggiungi Interno Personalizzato" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "Il modulo Interni Personalizzati permette facilmente di registrare un interno (extension) personalizzato o codice di servizio precedentemente creato in un file custom. Questo permette a FreePBX di conoscerne l'esistenza. Il Registro Interni mette da parte questa numerazione in modo da rilevare eventuali conflitti e riportarli in caso di errori negli altri moduli. Qui non si dovrebbero inserire interni che sono stati creati con il modulo Applicazioni Varie perchÚ questi non sono interni (extension) personalizzati." + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "Interni in conflitto" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "Modifica Interno Personalizzato" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Interno Personalizzato" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "Questo Ú l'Interno o il Codice Servizio che stai utilizzando nel tuo piano di chiamata e che vuoi che il Registro Interni di FreePBX sia a consoscenza." + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "Breve descrizione che sarà pubblicata nel Registro Interni a proposito di questo interno" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "Ulteriore nota descrittiva a proposito di questo interno per aiutare a documentarlo. Questo campo non Ú utilizzato da nessun'altra parte." + +#: module.xml +msgid "Custom Destinations" +msgstr "Destinazioni Personalizzate" + +#: module.xml +msgid "Custom Extensions" +msgstr "Interni Personalizzati" + Index: /modules/branches/2.7/customappsreg/i18n/ru_RU/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/ru_RU/LC_MESSAGES/customappsreg.po (revision 6975) +++ /modules/branches/2.7/customappsreg/i18n/ru_RU/LC_MESSAGES/customappsreg.po (revision 6975) @@ -0,0 +1,195 @@ +# 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: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-19 21:45+0100\n" +"PO-Revision-Date: 2008-01-16 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "ŸáÞÑëÙ ÝÞÜÕà:" + +#: functions.inc.php:103 page.customdests.php:190 +msgid "" +"Invalid Destination, must not be blank, must be formatted as: context,exten," +"pri" +msgstr "œÕÒÕàÝÞÕ ÝÐ×ÝÐçÕÝØÕ, ÝÕ ÔÞÛÖÝÞ Ñëâì ßãáâëÜ, Ø ÔÞÛÖÝÞ Ñëâì Ò äÞàÜÐâÕ: ÚÞÝâÕÚáâ, íÚáâÕÝÑ ßàØÞàØâÕâ." + +#: functions.inc.php:107 functions.inc.php:140 page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "œÕÒÕàÝÞÕ ÞߨáÐÝØÕ. œÕ ÔÞÛÖÝÞ Ñëâì ßãáâëÜ." + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "ŽÃ±»žº°Â Ò ÝÐ×ÝÐçÕÝØØ: íâÞ ÝÐ×ÝÐçÕÝØÕ ãÖÕ ØáßÞÛì×ãÕâáï" + +#: functions.inc.php:123 functions.inc.php:186 +msgid "" +"DUPLICATE Destination: This destination is in use or potentially used by " +"another module" +msgstr "ŽÃ±»žº°Â Ò ÝÐ×ÝÐçÕÝØØ: íâÞ ÝÐ×ÝÐçÕÝØÕ ãÖÕ ØáßÞÛì×ãÕâáï ØÛØ ßÞâÕÝæØÐÛìÝÞ ÜÞÖÕâ Ñëâì ØáßÞÛì×ÞÒÐÝÞ Ò ÔàãÓÞÜ ÜÞÔãÛÕ" + +#: functions.inc.php:136 page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "œÕÒÕàÝëÙ ÒÝãâàÕÝÝØÙ ÝÞÜÕà, ÝÕ ÜÞÖÕâ Ñëâì ßãáâëÜ" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "ŽÃ±»žº°Â ÒÝãâàÕÝÝÕÓÞ ÝÞÜÕàÐ: íâÞâ ÝÞÜÕà ãÖÕ ØáßÞÛì×ãÕâáï" + +#: page.customdests.php:76 page.customextens.php:92 +msgid "Edit: " +msgstr "ÀÕÔÐÚâØàÞÒÐâì:" + +#: page.customdests.php:78 page.customdests.php:90 +msgid "Add Custom Destination" +msgstr "ŽÞÑÐÒØâì áßÕæØÐÛìÝÞÕ ÝÐ×ÝÐçÕÝØÕ" + +#: page.customdests.php:81 +msgid "" +"Custom Destinations allows you to register your custom destinations that " +"point to custom dialplans and will also 'publish' these destinations as " +"available destinations to other modules. This is an advanced feature and " +"should only be used by knowledgeable users. If you are getting warnings or " +"errors in the notification panel about CUSTOM destinations that are correct, " +"you should include them here. The 'Unknown Destinations' chooser will allow " +"you to choose and insert any such destinations that the registry is not " +"aware of into the Custom Destination field." + +msgstr "" +"ÁßÕæØÐÛìÝÞÕ ÝÐ×ÝÐçÕÝØÕ ÔÐñâ ÒÞ×ÜÞÖÝÞáâì àÕÓØáâàØàÞÒÐâì áßÕæØÐÛìÝëÕ áæÕÝÐàØØ, ÚÞâÞàëÕ " +"ÒáâàÐØÒÐîâáï Ò ÒÐè ÔØÐÛ ßÛÐÝ Ø áâÐÝÞÒïâáï ÔÞáâãßÝëÜØ ÔÛï ßÕàÕÝÐßàÐÒÛÕÝØï ÝÐ ÝØå " +"Ø× ÔàãÓØå ÜÞÔãÛÕÙ. ÍâÞ âÐÚÐï ÞçÕÝì ßàÞÔÒØÝãâÐï ÞßæØï, Ø ÜÞÖÕâ ØáßÞÛì×ÞÒÐâìáï âÞÛìÚÞ " +"ÞßëâÝëÜØ ßÞÛì×ÞÒÐâÕÛïÜØ, ÚÞâÞàëÕ ßÞÝØÜÐîâ çâÞ ÞÝØ åÞâïâ áÔÕÛÐâì. µáÛØ ÒØÔÝë " +"ßàÕÔãßàÕÖÔÕÝØï ØÛØ áÞÞÑéÕÝØï Ò ßÐÝÕÛØ áÞáâÞïÝØï áØáâÕÜë ßÞ ßÞÒÞÔã CUSTOM " +"ÝÐßàÐÒÛÕÝØÙ, âÞ Òáñ Ò ßÞàïÔÚÕ, Òë ÔÞÛÖÝë ØÜØ ßàÞáâÞ ßÞÛì×ÞÒÐâìáï. ²ëÑÞà âÕàÜØÝÐæØØ " +"×ÒÞÝÚÐ Ò áæÕÝÐàØïå ÒåÞÔïéÕÙ ÜÐàèàãâØ×ÐæØØ ÑãÔÕâ ÒëÓÛïÔÕâì ÚÐÚ 'Custom Applications' " +"ÓÔÕ áÞ×ÔÐÝÝëÙ ÚÞÝâÕÚáâ ÜÞÖÝÞ ÒëÑàÐâì Ò 'ÃáâÐÝÞÒØâì ÝÐßàÐÒÛÕÝØÕ'" + +#: page.customdests.php:90 +msgid "Edit Custom Destination" +msgstr "ÀÕÔÐÚâØàÞÒÐâì áßÕæØÐÛìÝÞÕ ÝÐ×ÝÐçÕÝØÕ" + +#: page.customdests.php:92 +msgid "Custom Destination" +msgstr "ÁßÕæÝÐ×ÝÐçÕÝØÕ" + +#: page.customdests.php:92 +msgid "" +"This is the Custom Destination to be published. It should be formatted " +"exactly as you would put it in a goto statement, with context, exten, " +"priority all included. An example might look like:
mycustom-app,s,1" +msgstr "" +"ÍâÞ ÞÑêïÒÛÕÝØÕ ØáßÞÛì×ÞÒÐÝØï ÁßÕæØÐÛìÝÞÓÞ ÝÐ×ÝÐçÕÝØï. ¿àØ áÞ×ÔÐÝØØ ÝÕÞÑåÞÔØÜÞ ãÚÐ×ëÒÐâì " +"ÚÞÝâÕÚáâ, ÒÝãâàÕÝÝØÙ ÝÞÜÕà Ø ßàØÞàØâÕâ. œÐßàØÜÕà:
mycustom-app,s,1" + +#: page.customdests.php:98 +msgid "Destination Quick Pick" +msgstr "œÐ×ÝÐçÕÝØÕ ±ëâàëÙ ¿ÕàÕåÒÐâ" + +#: page.customdests.php:100 +msgid "" +"Choose un-identified destinations on your system to add to the Custom " +"Destinaion Registry. This will insert the chosen entry into the Custom " +"Destination box above." +msgstr "" +"²ëÑÕàØâÕ ÝÕØÔÕÝâØäØæØàÞÒÐÝÝëÕ ÝÐ×ÝÐçÕÝØï ÒÐèÕÙ áØáâÕÜë çâÞÑë ÔÞÑÐÒØâì Ò àÕÓØáâà " +"ÁßÕæÝÐ×ÝÐçÕÝØÙ. ¿àØ íâÞÜ ÒáÕ ãÚÐ×ÐÝëÕ ×ÐßØáØ ßÞïÒïâáï Ò ÞÚÝÕ ÁßÕæÝÐ×ÝÐçÕÝØï" + +#: page.customdests.php:106 +msgid "(pick destination)" +msgstr "(ÒëÑàÐâì ÝÐ×ÝÐçÕÝØÕ)" + +#: page.customdests.php:118 page.customextens.php:118 +msgid "Description" +msgstr "ŸßØáÐÝØÕ" + +#: page.customdests.php:118 +msgid "" +"Brief Description that will be published to modules when showing " +"destinations. Example: My Weather App" +msgstr "" +"ºÞàÞâÚÞÕ ÞߨáÐÝØÕ, ÚÞâÞàÞÕ ßÞïÒØâáï ßàØ ÒëÑÞàÕ íâÞÓÞ ÝÐ×ÝÐçÕÝØï. œÐßàØÜÕà: " +"ÁÛãÖÑÐ ŒÕÖÓÐÛÐÚâØçÕáÚØå ŽÞáâÐÒÞÚ" + +#: page.customdests.php:122 page.customextens.php:122 +msgid "Notes" +msgstr "¿àØÜÕçÐÝØï" + +#: page.customdests.php:122 +msgid "" +"More detailed notes about this destination to help document it. This field " +"is not used elsewhere." +msgstr "" +"±ÞÛÕÕ ÔÕâÐÛìÝëÕ ×ÐÜÕçÐÝØï, ÚÞâÞàëÕ ßÞÜÞÓãâ ÔÞÚãÜÕÝâØàÞÒÐâì íâØ ÝÐ×ÝÐçÕÝØï, ÚÞÓÔÐ " +"Øå ÜÝÞÓÞ. ÍâÞ ßÞÛÕ ÑÞÛìèÕ ÝØÓÔÕ ÝÕ ØáßÞÛì×ãÕâáï." + +#: page.customdests.php:128 page.customextens.php:128 +msgid "Delete" +msgstr "ÃÔÐÛØâì" + +#: page.customextens.php:94 page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "ŽÞÑÐÒØâì ŸáÞÑëÙ ÝÞÜÕà" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would putit in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "±ãÔÕâ áÞ×ÔÐÝÞ ÞáÞÑÞÕ ÝÐ×ÝÐçÕÝØÕ. ŸÝÞ ÔÞÛÖÝÞ ØÜÕâì äÞàÜÐâ ßÕàÕÝÐßàÐÒÛÕÝØï GoTo á ÞÑï×ÐâÕÛìÝëÜ ãÚÐ×ÐÝØÕÜ ÚÞÝâÕÚáâÐ, íÚáâÝÕÝèÝ, ßàØÞàØâÕâÐ. œÐßàØÜÕà:
mycustom-app,s,1" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "" +"ŸáÞÑëÕ ÝÞÜÕàÐ ßÞÜÞÓÐîâ àÕÓØáâàØàÞÒÐâì ÚÐÚØÕ-ÛØÑÞ áßÕæØÐÛìÝëÕ ÝÞÜÕàÐ ÔÞÝÐÑÞàÐ, " +"ÚÞâÞàëÕ áÞ×ÔÐîâáï Ò custom äÐÙÛÐå, Ð FreePBX ÝÕ ØÜÕÕâ ßÞÝïâØï Þ ÝØå. ÍâÞ ÔÐñâ " +"ÒÞ×ÜÞÖÝÞáâì áÞÔÕàÖÐâì àÕÓØáâà ÒÝãâàÕÝÝØå ÝÞÜÕàÞÒ âÐÚØÜ ÞÑàÐ×ÞÜ, çâÞÑë ßàÕÔÞâÒàÐéÐâì " +"ÚÞÝäÛØÚâë á ÞÔØÝÐÚÞÒëÜØ ÝÞÜÕàÐÜØ (ØÛØ ÚÞÔÐÜØ ÔÞÝÐÑÞàÐ) Ø áÞÞÑéÐâì Þ ÝØå Ò ÔàãÓØÕ " +"ÜÞÔãÛØ, ÚÞâÞàëÕ ÜÞÓãâ ØáßÞÛì×ÞÒÐâì íâã ØÝäÞàÜÐæØî. ²ë ÝÕ ÔÞÛÖÝë áÞ×ÔÐÒÐâì íâØ " +"ÞáÞÑëÕ ÝÞÜÕàÐ Ò ÜÞÔãÛÕ Misc Apps âÐÚ ÚÐÚ ÞÝØ ÑãÔãâ ÔàãÓØÜØ." + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "ºÞÝäÛØÚâãîéØÕ ÝÞÜÕàÐ" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "ÀÕÔÐÚâØàÞÒÐâì ŸáÞÑëÙ ÝÞÜÕà" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "ŸáÞÑëÙ œÞÜÕà" + +#: page.customextens.php:113 +msgid "" +"This is the Extension or Feature Code you are using in your dialplan that " +"you want the FreePBX Extension Registry to be aware of." +msgstr "" +"ÍâÞ ŸáÞÑëÙ ÝÞÜÕà ØÛØ ÚÞÔ ÔÞÝÐÑÞàÐ, ÚÞâÞàëÙ ÑãÔÕâ ØáßÞÛì×ÞÒÐâìáï Ò ÒÐèÕÜ ÔØÐÛ ßÛÐÝÕ, " +"ÔÛï ãçÕâÐ ÕÓÞ Ò ÞÑéÕÜ ÀÕÓØáâàÕ ÝÞÜÕàÞÒ FreePBX." + +#: page.customextens.php:118 +msgid "" +"Brief description that will be published in the Extension Registry about " +"this extension" +msgstr "" +"ºÞàÞâÚÞÕ ÞߨáÐÝØÕ íâÞÓÞ ÝÞÜÕàÐ, ÚÞâÞàÞÕ ÑãÔÕâ ØáßÞÛì×ÞÒÐâìáï Ò ÀÕÓØáâàÕ ÝÞÜÕàÞÒ." + +#: page.customextens.php:122 +msgid "" +"More detailed notes about this extension to help document it. This field is " +"not used elsewhere." +msgstr "" +"±ÞÛÕÕ ÔÕâÐÛìÝëÕ ßàØÜÕçÐÝØï ÞÑ íâÞÜ ÝÞÜÕàÕ, ÚÞâÞàÞÕ ßÞÜÞÖÕâ ÔÞÚãÜÕÝâØàÞÒÐâì ×ÐߨáØ, ÚÞÓÔÐ " +"Øå ÜÝÞÓÞ. ÍâÞ ßÞÛÕ ÑÞÛìèÕ ÝØÓÔÕ ÝÕ ØáßÞÛì×ãÕâáï." Index: /modules/branches/2.7/customappsreg/i18n/customappsreg.pot =================================================================== --- /modules/branches/2.7/customappsreg/i18n/customappsreg.pot (revision 6943) +++ /modules/branches/2.7/customappsreg/i18n/customappsreg.pot (revision 6943) @@ -0,0 +1,193 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "" + +#: functions.inc.php:103 page.customdests.php:190 +msgid "" +"Invalid Destination, must not be blank, must be formatted as: context,exten," +"pri" +msgstr "" + +#: functions.inc.php:107 functions.inc.php:140 page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "" + +#: functions.inc.php:123 functions.inc.php:186 +msgid "" +"DUPLICATE Destination: This destination is in use or potentially used by " +"another module" +msgstr "" + +#: functions.inc.php:136 page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "" + +#: page.customdests.php:54 page.customdests.php:80 page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "" + +#: page.customdests.php:78 page.customextens.php:92 +msgid "Edit: " +msgstr "" + +#: page.customdests.php:83 +msgid "" +"Custom Destinations allows you to register your custom destinations that " +"point to custom dialplans and will also 'publish' these destinations as " +"available destinations to other modules. This is an advanced feature and " +"should only be used by knowledgeable users. If you are getting warnings or " +"errors in the notification panel about CUSTOM destinations that are correct, " +"you should include them here. The 'Unknown Destinations' chooser will allow " +"you to choose and insert any such destinations that the registry is not " +"aware of into the Custom Destination field." +msgstr "" + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "" + +#: page.customdests.php:97 +msgid "" +"This is the Custom Destination to be published. It should be formatted " +"exactly as you would put it in a goto statement, with context, exten, " +"priority all included. An example might look like:
mycustom-app,s,1" +msgstr "" + +#: page.customdests.php:99 +msgid "" +"READONLY WARNING: Because this destination is being used by other module " +"objects it can not be edited. You must remove those dependencies in order to " +"edit this destination, or create a new destination to use" +msgstr "" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "" + +#: page.customdests.php:123 +msgid "" +"Choose un-identified destinations on your system to add to the Custom " +"Destination Registry. This will insert the chosen entry into the Custom " +"Destination box above." +msgstr "" + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "" + +#: page.customdests.php:144 page.customextens.php:118 +msgid "Description" +msgstr "" + +#: page.customdests.php:144 +msgid "" +"Brief Description that will be published to modules when showing " +"destinations. Example: My Weather App" +msgstr "" + +#: page.customdests.php:148 page.customextens.php:122 +msgid "Notes" +msgstr "" + +#: page.customdests.php:148 +msgid "" +"More detailed notes about this destination to help document it. This field " +"is not used elsewhere." +msgstr "" + +#: page.customdests.php:153 page.customextens.php:127 +msgid "Submit Changes" +msgstr "" + +#: page.customdests.php:154 page.customextens.php:128 +msgid "Delete" +msgstr "" + +#: page.customextens.php:70 page.customextens.php:94 page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "" + +#: page.customextens.php:97 +msgid "" +"Custom Extensions provides you with a facility to register any custom " +"extensions or feature codes that you have created in a custom file and " +"FreePBX doesn't otherwise know about them. This allows the Extension " +"Registry to be aware of your own extensions so that it can detect conflicts " +"or report back information about your custom extensions to other modules " +"that may make use of the information. You should not put extensions that you " +"create in the Misc Apps Module as those are not custom." +msgstr "" + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "" + +#: page.customextens.php:113 +msgid "" +"This is the Extension or Feature Code you are using in your dialplan that " +"you want the FreePBX Extension Registry to be aware of." +msgstr "" + +#: page.customextens.php:118 +msgid "" +"Brief description that will be published in the Extension Registry about " +"this extension" +msgstr "" + +#: page.customextens.php:122 +msgid "" +"More detailed notes about this extension to help document it. This field is " +"not used elsewhere." +msgstr "" + +#: module.xml +msgid "Custom Destinations" +msgstr "" + +#: module.xml +msgid "Custom Extensions" +msgstr "" Index: /modules/branches/2.7/customappsreg/i18n/es_ES/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/es_ES/LC_MESSAGES/customappsreg.po (revision 7479) +++ /modules/branches/2.7/customappsreg/i18n/es_ES/LC_MESSAGES/customappsreg.po (revision 7479) @@ -0,0 +1,167 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - customappsreg module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+0200\n" +"PO-Revision-Date: 2009-01-21 11:44+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:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Destino personalizado: %s" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Extensión personalizada: %s" + +#: functions.inc.php:103 +#: page.customdests.php:190 +msgid "Invalid Destination, must not be blank, must be formatted as: context,exten,pri" +msgstr "Destino no válido; no debe estar vacía, y debe estar formateada del siguiente modo: contexto,extension,prioridad" + +#: functions.inc.php:107 +#: functions.inc.php:140 +#: page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "Descripción no válida; no debe estar vacía" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "Destino duplicado; esta extensión ya está en uso" + +#: functions.inc.php:123 +#: functions.inc.php:186 +msgid "DUPLICATE Destination: This destination is in use or potentially used by another module" +msgstr "Destino duplicado; este destino está en uso o potencialmente usado por otro módulo" + +#: functions.inc.php:136 +#: page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "Extensión no válida; no debe estar vacía" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "Extensión duplicada; esta extensión ya está en uso" + +#: page.customdests.php:54 +#: page.customdests.php:80 +#: page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "Añadir destino personalizado" + +#: page.customdests.php:78 +#: page.customextens.php:92 +msgid "Edit: " +msgstr "Editar:" + +#: page.customdests.php:83 +msgid "Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field." +msgstr "Los destinos personalizados le permiten registrar sus destinos personalizados que apunten a planes de marcación personalizados, y poder \"publicarlos\" como posibles destinos para otros módulos. Ésta es una característica avanzada y sólo debería ser usada por usuarios experimentados. Si está obteniendo avisos o errores en el panel de notificación sobre destinos personalizados que son correctos, debería incluirlos aquí. El selector de \"Destinos desconocidos\" le permitirá seleccionar e insertar esos destinos que el registro o conoce en el campo de Destino personalizado." + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "Editar destino personalizado" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Destino personalizado" + +#: page.customdests.php:97 +msgid "This is the Custom Destination to be published. It should be formatted exactly as you would put it in a goto statement, with context, exten, priority all included. An example might look like:
mycustom-app,s,1" +msgstr "Éste es el Destino personalizado que será publicado. Debería ser formateado exactamente igual que como se pondría en un sentencia \"goto\", con contexto, extensión y prioridad incluidas. Un ejemplo podría ser
\"mycustom-apps,s,1\"." + +#: page.customdests.php:99 +msgid "READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use" +msgstr "AVISO DE SOLO LECTURA: Ya que el destino está siendo usado por objetos de otro módulo, no puede ser editado. Debe eliminar estas dependencias econ el fin de editar este destino, o crear un nuevo destino" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "Selección rápida de destino" + +#: page.customdests.php:123 +msgid "Choose un-identified destinations on your system to add to the Custom Destination Registry. This will insert the chosen entry into the Custom Destination box above." +msgstr "Seleccione un destino sin identificar en su sistema para añadirlo al registro de Destinos personalizados. Esto insertará la entrada selecciona en la lista de Destinos personalizados anterior." + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(Seleccione un destino)" + +#: page.customdests.php:144 +#: page.customextens.php:118 +msgid "Description" +msgstr "Descripción" + +#: page.customdests.php:144 +msgid "Brief Description that will be published to modules when showing destinations. Example: My Weather App" +msgstr "Breve descripción que será publicada a los módulos cuando se muestren los destinos. Por ejemplo: Aplicación meteorológica" + +#: page.customdests.php:148 +#: page.customextens.php:122 +msgid "Notes" +msgstr "Notas" + +#: page.customdests.php:148 +msgid "More detailed notes about this destination to help document it. This field is not used elsewhere." +msgstr "Notas más detalladas sobre este destino para ayudar a documentarlo. Este campo no se usa en ningún otro sitio." + +#: page.customdests.php:153 +#: page.customextens.php:127 +msgid "Submit Changes" +msgstr "Enviar cambios" + +#: page.customdests.php:154 +#: page.customextens.php:128 +msgid "Delete" +msgstr "Eliminar" + +#: page.customextens.php:70 +#: page.customextens.php:94 +#: page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "Añadir extensión personalizada" + +#: page.customextens.php:97 +msgid "Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom." +msgstr "Las extensiones personalizadas le facilitan registrar cualquier extensión o código de característica que haya creado en un archivo personalizado, pero FreePBX desconoce de su existencia. Esto permite al Registro de extensiones ser consciente de que existe tal extensión y pueda detectar conflictos o informar de extensiones personalizadas a otros módulos para que puedan hacer uso de esa información. No debería poner aquí extensiones que cree con el módulo de Aplicaciones variasm ya que esas no son personalizadas." + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "Extensiones en conflicto" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "Editar extensión personalizada" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Extensión personalizada" + +#: page.customextens.php:113 +msgid "This is the Extension or Feature Code you are using in your dialplan that you want the FreePBX Extension Registry to be aware of." +msgstr "Esta es la extensión o código de característica que se usará en el plan de marcado que usará el registro de extensiones de FreePBX para poder usarla." + +#: page.customextens.php:118 +msgid "Brief description that will be published in the Extension Registry about this extension" +msgstr "Breve descripción que será publicada en el registro de extensiones acerca de esta extensión" + +#: page.customextens.php:122 +msgid "More detailed notes about this extension to help document it. This field is not used elsewhere." +msgstr "Notas más detalladas sobre esta extensión para ayudar a documentarla. Este campo no se usa en ningún otro sitio." + +#: module.xml +msgid "Custom Destinations" +msgstr "Destinos personalizados" + +#: module.xml +msgid "Custom Extensions" +msgstr "Extensiones personalizadas" + Index: /modules/branches/2.7/customappsreg/i18n/fr_FR/LC_MESSAGES/customappsreg.po =================================================================== --- /modules/branches/2.7/customappsreg/i18n/fr_FR/LC_MESSAGES/customappsreg.po (revision 8135) +++ /modules/branches/2.7/customappsreg/i18n/fr_FR/LC_MESSAGES/customappsreg.po (revision 8135) @@ -0,0 +1,247 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 22:57+0200\n" +"PO-Revision-Date: 2009-04-15 12:21+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:29 +#, php-format +msgid "Custom Destination: %s" +msgstr "Destination Personnalisée" + +#: functions.inc.php:52 +msgid "Custom Extension: " +msgstr "Extension Personnalisée" + +#: functions.inc.php:103 page.customdests.php:190 +msgid "" +"Invalid Destination, must not be blank, must be formatted as: context,exten," +"pri" +msgstr "" +"Destination invalide, ne doit pas être vide, doit être formatté comme suit : " +"context,exten,pri" + +#: functions.inc.php:107 functions.inc.php:140 page.customdests.php:191 +#: page.customextens.php:140 +msgid "Invalid description specified, must not be blank" +msgstr "Description spécifiée invalide, ne doit pas être vide" + +#: functions.inc.php:112 +msgid "DUPLICATE Destination: This destination is already in use" +msgstr "Destination DUPLIQUEE: Cette destination est déjà utilisée" + +#: functions.inc.php:123 functions.inc.php:186 +msgid "" +"DUPLICATE Destination: This destination is in use or potentially used by " +"another module" +msgstr "" +"Destination DUPLIQUEE: Cette destination est utilisée ou " +"potentiellement utilisée par un autre module" + +#: functions.inc.php:136 page.customextens.php:139 +msgid "Invalid Extension, must not be blank" +msgstr "Extension Invalide, ne doit pas être vide" + +#: functions.inc.php:151 +msgid "DUPLICATE Extension: This extension already in use" +msgstr "Extension DUPLIQUEE: Cette extension est déjà utilisée" + +#: page.customdests.php:54 page.customdests.php:80 page.customdests.php:92 +msgid "Add Custom Destination" +msgstr "Ajouter une Destination Personnalisée" + +#: page.customdests.php:78 page.customextens.php:92 +msgid "Edit: " +msgstr "Editer" + +#: page.customdests.php:83 +msgid "" +"Custom Destinations allows you to register your custom destinations that " +"point to custom dialplans and will also 'publish' these destinations as " +"available destinations to other modules. This is an advanced feature and " +"should only be used by knowledgeable users. If you are getting warnings or " +"errors in the notification panel about CUSTOM destinations that are correct, " +"you should include them here. The 'Unknown Destinations' chooser will allow " +"you to choose and insert any such destinations that the registry is not " +"aware of into the Custom Destination field." +msgstr "" +"Les Destinations Personnalisées vous permettent d'enregistrer vos destinations " +"pointant sur des plans de numérotation personnalisés et 'publieront' également " +"ces destinations en tant que destinations disponibles pour d'autres modules. Il " +"s'agit d'une fonctionnalité avancée qui devrait seulement être utlisée par les " +"utlisateurs experimentés. Si vous recevez des avertissements ou des erreurs dans " +"le panneau de notifications à propos de destinations PERSONNALISEES correctes, " +"vous devriez les inclure ici. Le sélecteur de 'Destinations Iconnues' vous permet " +"de choisir et d'insérer des destinations dont le registre ne connait pas l'existence " +"dans le champ 'Destination Personnalisée'" + +#: page.customdests.php:92 +msgid "Edit Custom Destination" +msgstr "Editer la Destination Personnalisée" + +#: page.customdests.php:94 +msgid "Custom Destination" +msgstr "Destination Personnalisée" + +#: page.customdests.php:97 +msgid "" +"This is the Custom Destination to be published. It should be formatted " +"exactly as you would put it in a goto statement, with context, exten, " +"priority all included. An example might look like:
mycustom-app,s,1" +msgstr "" +"Il s'agit de la Destination Personnalisée à publier. Elle devrait être " +"formatée de la même façon que si vous deviez la placer dans une déclaration " +"goto, avec context, exten, prority inclus. " +"Voici un exemple de ce à quoi cela doit ressembler :
mycustom-app,s,1" + +#: page.customdests.php:99 +msgid "" +"READONLY WARNING: Because this destination is being used by other module " +"objects it can not be edited. You must remove those dependencies in order to " +"edit this destination, or create a new destination to use" +msgstr "" +"Cette destination est actuellement utilisée par des objets d'autres modules " +"et ne peut pas être éditée. Vous devez supprimer ces dépendances pour pouvoir " +"éditer cette destination, ou créer une nouvelle destination à utiliser" + +#: page.customdests.php:121 +msgid "Destination Quick Pick" +msgstr "Sélection Rapide de Destination" + +#: page.customdests.php:123 +msgid "" +"Choose un-identified destinations on your system to add to the Custom " +"Destination Registry. This will insert the chosen entry into the Custom " +"Destination box above." +msgstr "" +"Choisissez des destinations non-identifiées sur votre systÚme pour " +"les ajouter au Registre de Destinations Personnalisées. Cela aura " +"pour effet d'insérer l'entrée sélectionnée dans la boite 'Destinations " +"Personnalisées' ci-dessus." + +#: page.customdests.php:129 +msgid "(pick destination)" +msgstr "(sélectionnez une destiation)" + +#: page.customdests.php:144 page.customextens.php:118 +msgid "Description" +msgstr "Description" + +#: page.customdests.php:144 +msgid "" +"Brief Description that will be published to modules when showing " +"destinations. Example: My Weather App" +msgstr "" +"BrÚve description qui sera publiée aux modules lors de l'affichage " +" des destinations. Exemple : My Weather App" + +#: page.customdests.php:148 page.customextens.php:122 +msgid "Notes" +msgstr "Notes" + +#: page.customdests.php:148 +msgid "" +"More detailed notes about this destination to help document it. This field " +"is not used elsewhere." +msgstr "" +"Notes plus détaillé à propos de cette destination pour aider à la documenter. " +"Ce champ n'est pas utilisé ailleurs." + +#: page.customdests.php:153 page.customextens.php:127 +msgid "Submit Changes" +msgstr "Appliquer les Modifications" + +#: page.customdests.php:154 page.customextens.php:128 +msgid "Delete" +msgstr "Supprimer" + +#: page.customextens.php:70 page.customextens.php:94 page.customextens.php:111 +msgid "Add Custom Extension" +msgstr "Ajouter une Extension Personnalisée" + +#: page.customextens.php:97 +msgid "" +"Custom Extensions provides you with a facility to register any custom " +"extensions or feature codes that you have created in a custom file and " +"FreePBX doesn't otherwise know about them. This allows the Extension " +"Registry to be aware of your own extensions so that it can detect conflicts " +"or report back information about your custom extensions to other modules " +"that may make use of the information. You should not put extensions that you " +"create in the Misc Apps Module as those are not custom." +msgstr "" +"Les Extensions Personnalisées vous permettent d'enregistrer facilement toutes " +"sortes d'extensions personnalisées ou de fonctions que vous avez créé dans un " +"fichier personnalisé et que FreePBX ne pourrait pas prendre en compte autrement. " +"Cela permet au Registre d'Extension de connaître vos propres extensions afin qu'il " +"puisse détecter des conflits ou reporter aux autres modules des informations à propos " +"de vos extensions personnalisées que ces modules pourraient utiliser. Vous ne devriez " +"pas mettre d'extensions que vous avez créé dans le Module Misc Apps car elles ne sont " +"pas personnalisées." + +#: page.customextens.php:101 +msgid "Conflicting Extensions" +msgstr "Extensions Conflictuelles" + +#: page.customextens.php:111 +msgid "Edit Custom Extension" +msgstr "Editer une Extension Personnalisée" + +#: page.customextens.php:113 +msgid "Custom Extension" +msgstr "Extension Personnalisée" + +#: page.customextens.php:113 +msgid "" +"This is the Extension or Feature Code you are using in your dialplan that " +"you want the FreePBX Extension Registry to be aware of." +msgstr "" +"Il s'agit de l'Extension ou Fonction que vous utilisez dans votre plan de numérotation " +"et dont vous voulez informer le Registre d'Extension." + +#: page.customextens.php:118 +msgid "" +"Brief description that will be published in the Extension Registry about " +"this extension" +msgstr "" +"BrÚve description qui sera publiée dans le Registre d'Extension à propos " +"de cette extension" + +#: page.customextens.php:122 +msgid "" +"More detailed notes about this extension to help document it. This field is " +"not used elsewhere." +msgstr "" +"Notes plus détaillées à propos de cette extension pour aider à la documenter. " +"Ce champ ne sera pas utilisé ailleurs." + +#: module.xml +msgid "Custom Destinations" +msgstr "Destinations Personnalisées" + +#: module.xml +msgid "Custom Extensions" +msgstr "Extensions Personnalisées" Index: /modules/branches/2.7/customappsreg/uninstall.php =================================================================== --- /modules/branches/2.7/customappsreg/uninstall.php (revision 5324) +++ /modules/branches/2.7/customappsreg/uninstall.php (revision 5324) @@ -0,0 +1,13 @@ +\n"; + +echo "dropping table custom_extensions.."; +sql("DROP TABLE IF EXISTS `custom_extensions`"); +echo "done
\n"; + +?> Index: /modules/branches/2.7/customappsreg/page.customextens.php =================================================================== --- /modules/branches/2.7/customappsreg/page.customextens.php (revision 7792) +++ /modules/branches/2.7/customappsreg/page.customextens.php (revision 7792) @@ -0,0 +1,156 @@ + +
+ +
    +'._('Add Custom Extension').''; + +foreach (customappsreg_customextens_list() as $row) { + $descr = $row['description'] != '' ? $row['description'] : '('.$row['custom_exten'].')'; + echo '
  • '.$descr.'
  • '; +} + +?> +
+ +
+ +"._("Edit: ")."$disp_description".""; +} else { + echo "

"._("Add Custom Extension")."

"; +} + +$helptext = _("Custom Extensions provides you with a facility to register any custom extensions or feature codes that you have created in a custom file and FreePBX doesn't otherwise know about them. This allows the Extension Registry to be aware of your own extensions so that it can detect conflicts or report back information about your custom extensions to other modules that may make use of the information. You should not put extensions that you create in the Misc Apps Module as those are not custom."); +echo $helptext; + +if (!empty($conflict_url)) { + echo "
"._("Conflicting Extensions")."
"; + echo implode('
',$conflict_url); +} +?> + +
+ + + + + + + + + + + + + + + + + + + + + + +

:
:
:

" tabindex=""> + '; } ?> +
+
+ + Index: /modules/branches/2.7/customappsreg/module.xml =================================================================== --- /modules/branches/2.7/customappsreg/module.xml (revision 8471) +++ /modules/branches/2.7/customappsreg/module.xml (revision 8471) @@ -0,0 +1,37 @@ + + customappsreg + Custom Applications + 2.6.0.2 + FreePBX + GPLv2+ + tool + System Administration + + Registry to add custom extensions and destinations that may be created and used so that the Extensions and Destinations Registry can include these. + + + Custom Extensions + Custom Destinations + + + *2.6.0.2* localizations + *2.6.0.1* localizations, misc + *2.6.0.0* stoped harmless php warning msg + *2.5.0.4* #3263, localization fixes + *2.5.0.3* localizations fixes + *2.5.0.2* localization, Swedish + *2.5.0.1* #3003 spelling + *2.5.0* #2845 tabindex + *2.4.0.5* #2843 Russian Translation + *2.4.0.4* #2700 block editing of destination field when once other modules are using it + *2.4.0.3* added depends on 2.4.0 + *2.4.0.2* #2558 can't edit/del custom extension + *2.4.0.1* Fix typo in install script, non-existent primary key + *2.4.0* First release of module + + + 2.4.0 + + release/2.6/customappsreg-2.6.0.2.tgz + 47c0c534aff35e694c1fc7ed4cc44c2f + Index: /modules/branches/2.7/customappsreg/functions.inc.php =================================================================== --- /modules/branches/2.7/customappsreg/functions.inc.php (revision 7132) +++ /modules/branches/2.7/customappsreg/functions.inc.php (revision 7132) @@ -0,0 +1,233 @@ + $row['custom_dest'], 'description' => $row['description'], 'category' => _("Custom Destinations")); + } + return isset($extens)?$extens:null; + +} + +/** the 'exten' is the same as the destination for this module + */ +function customappsreg_customdests_getdest($exten) { + return array($exten); +} + +/** If this is ours, we return it, otherwise we return false + * We use just use customappsreg and not the display because it + * is a per-module routine + */ +function customappsreg_getdestinfo($dest) { + global $active_modules; + + $thisexten = customappsreg_customdests_get($dest); + if (empty($thisexten)) { + return false; + } else { + $type = isset($active_modules['customappsreg']['type'])?$active_modules['customappsreg']['type']:'tool'; + return array('description' => sprintf(_("Custom Destination: %s"),$thisexten['description']), + 'edit_url' => 'config.php?display=customdests&type='.$type.'&extdisplay='.urlencode($dest), + ); + } +} + +function customappsreg_check_extensions($exten=true) { + global $active_modules; + + $extenlist = array(); + if (is_array($exten) && empty($exten)) { + return $extenlist; + } + $sql = "SELECT custom_exten, description FROM custom_extensions "; + if (is_array($exten)) { + $sql .= "WHERE custom_exten in ('".implode("','",$exten)."')"; + } + $results = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + + $type = isset($active_modules['customappsreg']['type'])?$active_modules['customappsreg']['type']:'tool'; + + foreach ($results as $result) { + $thisexten = $result['custom_exten']; + $extenlist[$thisexten]['description'] = _("Custom Extension: ").$result['description']; + $extenlist[$thisexten]['status'] = 'INUSE'; + $extenlist[$thisexten]['edit_url'] = 'config.php?display=customextens&extdisplay='.urlencode($thisexten); + } + return $extenlist; +} + +function customappsreg_customdests_list() { + global $db; + $sql = "SELECT custom_dest, description, notes FROM custom_destinations ORDER BY description"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + die_freepbx($results->getMessage()."

Error selecting from custom_destinations"); + } + return $results; +} + +function customappsreg_customextens_list() { + global $db; + $sql = "SELECT custom_exten, description, notes FROM custom_extensions ORDER BY custom_exten"; + $results = $db->getAll($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + die_freepbx($results->getMessage()."

Error selecting from custom_extensions"); + } + return $results; +} + +function customappsreg_customdests_get($custom_dest) { + global $db; + $sql = "SELECT custom_dest, description, notes FROM custom_destinations WHERE custom_dest = ".q($custom_dest); + $row = $db->getRow($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($row)) { + die_freepbx($row->getMessage()."

Error selecting row from custom_destinations"); + } + return $row; +} + +function customappsreg_customextens_get($custom_exten) { + global $db; + $sql = "SELECT custom_exten, description, notes FROM custom_extensions WHERE custom_exten = ".q($custom_exten); + $row = $db->getRow($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($row)) { + die_freepbx($row->getMessage()."

Error selecting row from custom_extensions"); + } + return $row; +} + +function customappsreg_customdests_add($custom_dest, $description, $notes) { + global $db; + + if (!ereg("[^,]+,[^,]+,[^,]+",$custom_dest)) { + echo ""; + return false; + } + if (trim($description) == '') { + echo ""; + return false; + } + $usage_list = framework_identify_destinations($custom_dest, $module_hash=false); + if (!empty($usage_list[$custom_dest])) { + echo ""; + return false; + } + + $custom_dest = q($custom_dest); + $description = q($description); + $notes = q($notes); + $sql = "INSERT INTO custom_destinations (custom_dest, description, notes) VALUES ($custom_dest, $description, $notes)"; + $results = $db->query($sql); + if (DB::IsError($results)) { + if ($results->getCode() == DB_ERROR_ALREADY_EXISTS) { + echo ""; + return false; + } else { + die_freepbx($results->getMessage()."

".$sql); + } + } + return true; +} + +function customappsreg_customextens_add($custom_exten, $description, $notes) { + global $db; + + if ($custom_exten == '') { + echo ""; + return false; + } + if (trim($description) == '') { + echo ""; + return false; + } + + $custom_exten = q($custom_exten); + $description = q($description); + $notes = q($notes); + $sql = "INSERT INTO custom_extensions (custom_exten, description, notes) VALUES ($custom_exten, $description, $notes)"; + $results = $db->query($sql); + if (DB::IsError($results)) { + if ($results->getCode() == DB_ERROR_ALREADY_EXISTS) { + echo ""; + return false; + } else { + die_freepbx($results->getMessage()."

".$sql); + } + } + return true; +} + +function customappsreg_customdests_delete($custom_dest) { + global $db; + + $sql = "DELETE FROM custom_destinations WHERE custom_dest = ".q($custom_dest); + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getMessage().$sql); + } +} + +function customappsreg_customextens_delete($custom_exten) { + global $db; + + $sql = "DELETE FROM custom_extensions WHERE custom_exten = ".q($custom_exten); + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getMessage().$sql); + } +} + +function customappsreg_customdests_edit($old_custom_dest, $custom_dest, $description, $notes) { + global $db; + + if ($old_custom_dest != $custom_dest) { + $usage_list = framework_identify_destinations($custom_dest, $module_hash=false); + if (!empty($usage_list[$custom_dest])) { + echo ""; + return false; + } + } + + $sql = "UPDATE custom_destinations SET ". + "custom_dest = ".q($custom_dest).", ". + "description = ".q($description).", ". + "notes = ".q($notes)." ". + "WHERE custom_dest = ".q($old_custom_dest); + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getMessage().$sql); + } +} + +function customappsreg_customextens_edit($old_custom_exten, $custom_exten, $description, $notes) { + global $db; + + $sql = "UPDATE custom_extensions SET ". + "custom_exten = ".q($custom_exten).", ". + "description = ".q($description).", ". + "notes = ".q($notes)." ". + "WHERE custom_exten = ".q($old_custom_exten); + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getMessage().$sql); + } +} + +function customappsreg_customdests_getunknown() { + + $results = array(); + + $my_probs = framework_list_problem_destinations($my_hash, false); + + if (!empty($my_probs)) { + foreach ($my_probs as $problem) { + if ($problem['status'] == 'CUSTOM') { + $results[] = $problem['dest']; + } + } + } + return array_unique($results); +} + +?> Index: /modules/branches/2.7/customappsreg/install.php =================================================================== --- /modules/branches/2.7/customappsreg/install.php (revision 5469) +++ /modules/branches/2.7/customappsreg/install.php (revision 5469) @@ -0,0 +1,33 @@ +query($sql); +if(DB::IsError($check)) { + die_freepbx("Can not create custom_destinations table\n"); +} + + +$sql = " + CREATE TABLE IF NOT EXISTS `custom_extensions` + ( + `custom_exten` varchar(80) NOT NULL default '', + `description` varchar(40) NOT NULL default '', + `notes` varchar(255) NOT NULL default '', + PRIMARY KEY (`custom_exten`) + )"; + +$check = $db->query($sql); +if(DB::IsError($check)) { + die_freepbx("Can not create custom_extensions table\n"); +} + +?> Index: /modules/branches/2.7/customappsreg/page.customdests.php =================================================================== --- /modules/branches/2.7/customappsreg/page.customdests.php (revision 7792) +++ /modules/branches/2.7/customappsreg/page.customdests.php (revision 7792) @@ -0,0 +1,210 @@ + +
+ +
    +'._('Add Custom Destination').''; + +foreach (customappsreg_customdests_list() as $row) { + $descr = $row['description'] != '' ? $row['description'] : '('.$row['custom_dest'].')'; + echo '
  • '.$descr.'
  • '; +} + +?> +
+ +
+ +"._("Edit: ")."$disp_description".""; +} else { + echo "

"._("Add Custom Destination")."

"; +} + +$helptext = _("Custom Destinations allows you to register your custom destinations that point to custom dialplans and will also 'publish' these destinations as available destinations to other modules. This is an advanced feature and should only be used by knowledgeable users. If you are getting warnings or errors in the notification panel about CUSTOM destinations that are correct, you should include them here. The 'Unknown Destinations' chooser will allow you to choose and insert any such destinations that the registry is not aware of into the Custom Destination field."); +echo $helptext; +?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

: + + mycustom-app,s,1"); + if (!empty($usage_list)) { + echo "
"._("READONLY WARNING: Because this destination is being used by other module objects it can not be edited. You must remove those dependencies in order to edit this destination, or create a new destination to use"); + } + ?> +
+ + + + + + + +
:
:

" tabindex=""> + '; } ?> +
+ : +
+
+ + Index: /modules/branches/2.7/framework/module.xml =================================================================== --- /modules/branches/2.7/framework/module.xml (revision 8477) +++ /modules/branches/2.7/framework/module.xml (revision 8477) @@ -0,0 +1,57 @@ + + framework + FreePBX Framework + 2.6.0.1 + FreePBX + GPLv2+ + no + no + + *2.6.0.1* #3971, #3977, #3900, #3987 + *2.6.0.0* #3885, #3878, #3295, #3883, #3903, #3889 + *2.6.0RC2.1* #3870 + *2.6.0RC2.0* #3854 + *2.6.0RC1.1* #3807, #3843, #3856, #3857 + *2.6.0RC1.0* #3850, #3837, #3858, #3861, #3678 + *2.6.0beta2.2* #3840, misc warning fixes + *2.6.0beta2.1* #2880, #3291, #3835 + *2.6.0beta2.0* #3075, #3780, #3559, #3606, #3599, #3642, #3608, #3581, #3266, #3562, #3639, #3305 + *2.6.0beta1.4* added param to featurecode class function + *2.6.0beta1.3* rename moduleauthor to modulepublisher class in css, update CHANGES + *2.6.0beta1.2* add sql() def to migration table + *2.6.0beta1.1* add trunk migration code to tables.php + *2.6.0beta1.0* renamed to beta1 + *2.6.0beta0.2* packed js library updated + *2.6.0beta0.1* changed to pull from 2.6 branch + *2.6.0beta0.0* #1957, #3673, #1380, #3680, #3694, #3696, #3698 + *2.6.0alpha1.2* fix bug introduced from #3660 + *2.6.0alpha1.1* Friendly Warning re: #3660 + *2.6.0alpha1.0* Security Vulnerability: #3660; #3324, #3327, #3368, #3380, #3224, #3462, #3446, #3469, #3588, #3592, r7324, #3271, #3449, #3556, #3641, #3513, #3525, #3658, #3490, #3582, #3570, #3264 + *2.5.1.0* #3271, #3309, localization fixes + *2.5.0.1* #2792, #3223, #3225, #3235, #3234, #3242, #3246, #3247, #3248, #3221 + *2.5.0.0* #3176, #3191, #3204, #3209 - fixes SECURITY VULNERABILITY in CDR Reporting + *2.5.0rc3.0* #3145, #3151, #3154, #3155, #3156, #3164, #3166, #3165, #3077, #3170 (DAHDI Support) + *2.5.0rc2.4* #3131, #3137 several changes to better cache module data and boost performance of page loads + *2.5.0rc2.3* #2750, #3128, #3124, #3134, #3131 + *2.5.0rc2.2* #3107, #3093, #3090, #3113, $3117 + *2.5.0rc2.1* #3104 fix some urlencoding/decoding re: #3102 changes + *2.5.0rc2.0* #3067, #3086, #3082, #3102 + *2.5.0rc1.1* published wrong, including rc1.0 additions + *2.5.0rc1.0* #2913, #3052 delay_answer schema and CSS fix + *2.5.0beta1.2* #3014, #3030, #2992, #3026, #3027 + *2.5.0beta1.1* #2635, #2792 CDR Reporting pie chart errors, and fix bug introduced by #2963 + *2.5.0beta1.0* #2854, #2978, #2980, #2981, #2982, #2963, #2985 + *2.5.0alpha1.2* #2957 fix fatal failure in retrieve_conf from change to splice + *2.5.0alpha1.1* #2941, #2924, #1539, #2950, #2944, #2945, #2699, #2686, #2946, #2606, #2772, #2565, #1679 + *2.5.0alpha1.0* #1628, #1715, #1843, #2497, #2604, #2606, #2609, #2686, #2701, #2703, #2739, #2766, #2777, #2782, #2784, #2793, #2798, #2799, #2809, #2818, #2829, #2843, #2845, #2855, #2862, #2881, #2890, #2891, #2897, #2903, #2910, #2911, #2921, #2924 + *2.4.0.1* #2843, #2701, #2818, #2784, #2604, #2766, #2798, #2809, #2799, #2685, #2676 + *2.4.0.0* CHANGELOG TRUNCATED See SVN Repository + + + This module provides a facility to install bug fixes to the framework code that is not otherwise housed in a module + + setup + Basic + release/2.6/framework-2.6.0.1.tgz + 985871a81c5bad3d5cce0a19a41420b9 + Index: /modules/branches/2.7/framework/install.php =================================================================== --- /modules/branches/2.7/framework/install.php (revision 7712) +++ /modules/branches/2.7/framework/install.php (revision 7712) @@ -0,0 +1,107 @@ +'cp -rf' from src: '$src' to dst: '$dst'...details follow
"; + foreach ($errors as $error) { + echo "$error
"; + } +} + +if (! function_exists('out')) { + function out($text) { + echo $text."
"; + } +} + +if (! function_exists('outn')) { + function outn($text) { + echo $text; + } +} + +if (! function_exists('error')) { + function error($text) { + echo "[ERROR] ".$text."
"; + } +} + +if (! function_exists('fatal')) { + function fatal($text) { + echo "[FATAL] ".$text."
"; + exit(1); + } +} + +if (! function_exists('debug')) { + function debug($text) { + global $debug; + + if ($debug) echo "[DEBUG-preDB] ".$text."
"; + } +} + +include dirname(__FILE__)."/libfreepbx.install.php"; + +global $amp_conf; +global $asterisk_conf; + +$debug = false; +$dryrun = false; + +/** verison_compare that works with freePBX version numbers + * included here because there are some older versions of functions.inc.php that do not have + * it included as it was added during 2.3.0beta1 + */ +if (!function_exists('version_compare_freepbx')) { + function version_compare_freepbx($version1, $version2, $op = null) { + $version1 = str_replace("rc","RC", strtolower($version1)); + $version2 = str_replace("rc","RC", strtolower($version2)); + if (!is_null($op)) { + return version_compare($version1, $version2, $op); + } else { + return version_compare($version1, $version2); + } + } +} + +/* + * Framework install script + */ + + $htdocs_source = dirname(__FILE__)."/htdocs/*"; + $bin_source = dirname(__FILE__)."/bin/*"; + $agibin_source = dirname(__FILE__)."/agi-bin/*"; + + // These are required by libfreepbx.install.php library for upgrade routines + // + define("UPGRADE_DIR", dirname(__FILE__)."/upgrades/"); + define("MODULE_DIR", $amp_conf['AMPWEBROOT'].'/modules/'); + + $htdocs_dest = $amp_conf['AMPWEBROOT']; + $bin_dest = isset($amp_conf['AMPBIN']) ? $amp_conf['AMPBIN'] : '/var/lib/asterisk/bin'; + $agibin_dest = isset($asterisk_conf['astagidir']) ? $asterisk_conf['astagidir']:'/var/lib/asterisk/agi-bin'; + + exec("cp -rf $htdocs_source $htdocs_dest 2>&1",$out,$ret); + if ($ret != 0) { + framework_print_errors($htdocs_source, $htdocs_dest, $out); + } + + exec("cp -rf $bin_source $bin_dest 2>&1",$out,$ret); + if ($ret != 0) { + framework_print_errors($bin_source, $bin_dest, $out); + } + + exec("cp -rf $agibin_source $agibin_dest 2>&1",$out,$ret); + if ($ret != 0) { + framework_print_errors($agibin_source, $agibin_dest, $out); + } + + if (function_exists('upgrade_all')) { + upgrade_all(getversion()); + } else { + echo ("[ERROR] Function: 'upgrade_all' not present, libfreepbx.install.php seems not to be installed
"); + } + +?> Index: /modules/branches/2.7/sipstation/i18n/sipstation.pot =================================================================== --- /modules/branches/2.7/sipstation/i18n/sipstation.pot (revision 8427) +++ /modules/branches/2.7/sipstation/i18n/sipstation.pot (revision 8427) @@ -0,0 +1,693 @@ +# Copyright (c) 2009 Bandwidth.com +# Licensed for use by active FreePBX.com SIP Trunking Customers (SIPSTATION(tm)). +# Not licensed to be modified or redistributed in any fashion. +# No guarantees or warranties provided, use at your own risk. See license included with module for more details. +# All code is property of Bandwidth.com and must be returned upon request. Bandwidth.com has the right to modify and refine this license +# from time to time, such changes to apply to future versions that are released with such changes. By using the module, customer acknowledges +# that Bandwidth.com makes no warranties of any sort with regard to its use or applicability for any given purpose. There is no implied support +# in the use of this module. +# Terms of Use for the SIPSTATION FreePBX.com SIP service can be found in the portal at https://store.freepbx.com and usage of this module with +# such service implies that you are agreeing to the terms specified when signing up for the service. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-11-22 14:57+0100\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: destinations.html.php:152 +msgid "An error was encounterd updating DID destinations" +msgstr "" + +#: destinations.html.php:160 +#, php-format +msgid "Successfully updated or created %s inbound routes for your DIDs" +msgstr "" + +#: destinations.html.php:166 +#, php-format +msgid "" +"There are %s invalid entries, only updated or created %s inbound routes for " +"your DIDs" +msgstr "" + +#: destinations.html.php:171 +#, php-format +msgid "" +"There were %s validation failures on the requested DIDs, no updates performed" +msgstr "" + +#: firewall.html.php:53 +msgid "" +"No Free Ports in Asterisk RTP Port Range available for testing, you can try " +"later" +msgstr "" + +#: firewall.html.php:115 +msgid "" +"The test timed out which means your firewall is probably configured wrong. " +"If subsequent tests fail, check your port forwarding on the firewall." +msgstr "" + +#: firewall.html.php:118 +msgid "An unexpected token was returned, try the test again" +msgstr "" + +#: install.php:41 +msgid "Checking routes for trunks.." +msgstr "" + +#: install.php:46 +msgid "" +"an error occured quering the extensions table for routes, skipping check" +msgstr "" + +#: install.php:51 +msgid "error detected" +msgstr "" + +#: install.php:52 +#, php-format +msgid "" +"an eroneous entry, %s, was found in extensions table that should not be " +"there" +msgstr "" + +#: install.php:58 +#, php-format +msgid "found %s" +msgstr "" + +#: install.php:60 +msgid "checking for phantoms.." +msgstr "" + +#: install.php:80 +#, php-format +msgid "removed %s phantoms" +msgstr "" + +#: install.php:82 +msgid "none" +msgstr "" + +#: page.sipstation.php:60 +#, php-format +msgid "%s Account Access" +msgstr "" + +#: page.sipstation.php:75 +#, php-format +msgid "" +"This module requires %s trunking service availabe at %s or click on the " +"image above. Once you have service a key will be available in the portal. " +"Enter it below to use this module. The key is very long, use \"Copy\" & " +"\"Paste\" to copy it here. The key will be stored securely and can be " +"removed at any time to stop access. If the key is compromised, you can " +"contact customer support at voip@freepbx.com and have a new one re-generated." +"

Once active, this module will configure your trunks, routes and " +"DIDs and provide diagnostic tools to configure and monitor your service." +msgstr "" + +#: page.sipstation.php:81 +msgid "Account Key" +msgstr "" + +#: page.sipstation.php:81 +msgid "" +"In order to use this service you must have a SIPSTATION FreePBX.com portal " +"account and service (https://store.freepbx.com). From there you can obtain a " +"unique secure key which you should copy and paste into this key field. Once " +"entered, you can access your services from within this module whithout " +"exposing your account username and password. You can remove the key at any " +"time" +msgstr "" + +#: page.sipstation.php:87 +msgid "Add Key" +msgstr "" + +#: page.sipstation.php:98 +#, php-format +msgid "" +"To disable account access, click %s. The auto generated trunk, route and DID " +"configurations will remain active even if the key is removed. Trunks can be " +"removed or disabled from the \"Trunks\" tab." +msgstr "" + +#: page.sipstation.php:98 page.sipstation.php:104 page.sipstation.php:135 +#: page.sipstation.php:140 +msgid "Remove Key" +msgstr "" + +#: page.sipstation.php:109 page.sipstation.php:148 +msgid "System Status" +msgstr "" + +#: page.sipstation.php:115 page.sipstation.php:845 page.sipstation.php:1058 +msgid "WARNING" +msgstr "" + +#: page.sipstation.php:119 +msgid "" +"Your key is no longer valid. Click below to remove the current key. To " +"obtain a new key and use this module, visit the portal at https://store." +"freepbx.com and log into your account." +msgstr "" + +#: page.sipstation.php:121 +msgid "" +"The server is currenlty not responding. It is either unavailable or access " +"is being blocked. If the server is unavailable, please try again later." +msgstr "" + +#: page.sipstation.php:135 +#, php-format +msgid "" +"To disable account access, click %s. To update account information, click %" +"s. If port forwarding is configured on your firewall/router, you can test it " +"with the %s button. Port forwarding can provide more reliable service and " +"better quality and we recommend setting it up. The test sends a packet to an " +"unused Asterisk RTP port at your WAN address and results in a PASS if the " +"packet is properly received." +msgstr "" + +#: page.sipstation.php:135 page.sipstation.php:505 +msgid "Update Account Info" +msgstr "" + +#: page.sipstation.php:135 page.sipstation.php:142 +msgid "Run Firewall Test" +msgstr "" + +#: page.sipstation.php:141 +msgid "Get Account Info" +msgstr "" + +#: page.sipstation.php:143 +msgid "Reset Trunks" +msgstr "" + +#: page.sipstation.php:152 +msgid "Trunk Status" +msgstr "" + +#: page.sipstation.php:152 +msgid "" +"Provides Gateway Side and Client side realtime status information on your " +"trunks and SIP registrations. Also provides a quick link to the FreePBX " +"trunk configurations page. More details on the tooltips below." +msgstr "" + +#: page.sipstation.php:155 page.sipstation.php:276 +msgid "Primary" +msgstr "" + +#: page.sipstation.php:158 page.sipstation.php:280 +msgid "Secondary" +msgstr "" + +#: page.sipstation.php:164 +msgid "Asterisk Reg." +msgstr "" + +#: page.sipstation.php:164 +msgid "Status of Registration as reported by Asterisk on your local system." +msgstr "" + +#: page.sipstation.php:178 +#, php-format +msgid "" +"Warning: The Asterisk configuration: %s, is set wrong. Change this to 0 to " +"continually retry registrations until successful. You can use the Asterisk " +"SIP Settings module to set this." +msgstr "" + +#: page.sipstation.php:183 +msgid "Contact IP" +msgstr "" + +#: page.sipstation.php:183 +msgid "" +"This is the contact IP as seen on the gateway and provides warnings if " +"errors are detected. These SHOULD be your external IP as seen on the WAN " +"side of your router. If they are not, or if they do not match your Network " +"IP, you should configure your NAT settings in the Asterisk SIP Settings " +"module or in sip_nat.conf if not using that module." +msgstr "" + +#: page.sipstation.php:195 +msgid "Network IP" +msgstr "" + +#: page.sipstation.php:195 +msgid "" +"This is the network IP as seen on the gateway and provides warnings if " +"errors are detected. These SHOULD be your external IP as seen on the WAN " +"side of your router. If they are not, or if they do not match your Network " +"IP, you should configure your NAT settings in the Asterisk SIP Settings " +"module or in sip_nat.conf if not using that module." +msgstr "" + +#: page.sipstation.php:208 +msgid "" +"Warning: The SIP Contact header is not set to your WAN IP. The gateway will " +"attempt to decipher your proper address but your configuration is incorrect. " +"You should review the NAT settings in the Asterisk SIP Settings module, or " +"sip_nat.conf if not using that module." +msgstr "" + +#: page.sipstation.php:213 +msgid "SIP Ping" +msgstr "" + +#: page.sipstation.php:213 +msgid "" +"Roundtrip signalling delay to SIP server as determined by the Asterisk " +"'qualify' command. This is only signalling delay. The voice connections (RTP " +"media streams) are routed from your system to the closest POP (point of " +"presence) where the call enters the PSTN. This assures the optimal minimum " +"latency but can't be reported because it's dependant on each call." +msgstr "" + +#: page.sipstation.php:216 page.sipstation.php:219 page.sipstation.php:228 +#: page.sipstation.php:231 +msgid "Not Available" +msgstr "" + +#: page.sipstation.php:225 +msgid "Codec Priorities" +msgstr "" + +#: page.sipstation.php:225 +msgid "" +"Codec Priority Asterisk reports for these trunks. This is filtered to only " +"show codecs supported by the gateways. The Codecs can be edited on the trunk " +"page to make changes to priority or available codecs." +msgstr "" + +#: page.sipstation.php:238 +msgid "Firewall Test" +msgstr "" + +#: page.sipstation.php:238 +#, php-format +msgid "" +"Status result of Firewall Test. If %s, it means we successfully received the " +"RTP packet that was sent from the remote server. If %s, it means the packet " +"sent from the remote server was blocked by your firewall or lost in the " +"internet. You can retry the test." +msgstr "" + +#: page.sipstation.php:238 +msgid "PASS" +msgstr "" + +#: page.sipstation.php:238 +msgid "FAIL" +msgstr "" + +#: page.sipstation.php:242 +msgid "Status:" +msgstr "" + +#: page.sipstation.php:245 +msgid "External IP:" +msgstr "" + +#: page.sipstation.php:254 +msgid "Account Settings" +msgstr "" + +#: page.sipstation.php:261 +msgid "SIP Credentials" +msgstr "" + +#: page.sipstation.php:261 +msgid "" +"The SIP Username and Password (secret) for this account. You can change the " +"password in the SIPSTATION(TM) portal at https://store.freepbx.com" +msgstr "" + +#: page.sipstation.php:264 +msgid "Username:" +msgstr "" + +#: page.sipstation.php:267 +msgid "Password:" +msgstr "" + +#: page.sipstation.php:273 +msgid "Gateways" +msgstr "" + +#: page.sipstation.php:273 +msgid "" +"Primary and Secondary servers to send SIP traffic to. These are used in the " +"automatic trunk configuration." +msgstr "" + +#: page.sipstation.php:285 +msgid "Services" +msgstr "" + +#: page.sipstation.php:285 +msgid "" +"The number of concurrent calls that have been purchased and are configured " +"for your service. Sometimes called trunks and similar to the number of PRI " +"channels or POTS lines in a traditional telco environemnt.
Your " +"monthly charge includes all costs for DIDs and unlimited trunks.
The " +"Caller ID Number can be configured in the https://store.freepbx.com portal " +"to send either standard 10 Digit NPA (for North Amaerican Numbers) or the " +"E164 standard which is +1NXXNXXXXXX for NPA numbers and +NN XXXXXX.. for " +"other countries where +NN is the Country Code." +msgstr "" + +#: page.sipstation.php:288 +msgid "Channels" +msgstr "" + +#: page.sipstation.php:291 +msgid "Monthly Cost" +msgstr "" + +#: page.sipstation.php:294 +msgid "CID Format" +msgstr "" + +#: page.sipstation.php:302 +msgid "E911 Location" +msgstr "" + +#: page.sipstation.php:302 +msgid "" +"This the E911 registered address. It is critical the E911 information is " +"accurate and a valid US address, or leave it blank. You are responsible for " +"the accuracy of this information and there may be substantial penalties by " +"your local authorities if it is not accurate when E911 service is used. The " +"settings can be changed from the https://store.freepbx.com account portal." +"
The E911 Caller ID will be transmitted to the E911 operator for ALL " +"calls made to 911 Emergency Services and any CID you set will be ignored, " +"whether it is one of your account DIDs or any other CID. You must have E911 " +"address information entered to use E911 services." +msgstr "" + +#: page.sipstation.php:304 +msgid "E911 Caller ID" +msgstr "" + +#: page.sipstation.php:311 +msgid "Address 1" +msgstr "" + +#: page.sipstation.php:318 +msgid "Address 2" +msgstr "" + +#: page.sipstation.php:325 +msgid "City" +msgstr "" + +#: page.sipstation.php:326 +msgid "State" +msgstr "" + +#: page.sipstation.php:327 +msgid "Zip" +msgstr "" + +#: page.sipstation.php:337 +msgid "Route and Trunk Configuration" +msgstr "" + +#: page.sipstation.php:337 +msgid "" +"Check/Uncheck the boxes and submit to add/remove this service as the primary " +"trunks to any listed route. Both gateways should be configured to allow for " +"redundancy. If gateways are already configured in the route, the box will be " +"checked, even if they are not the primary trunks for that route. Click on " +"the route name to link directly to the Outound Routes page for any route." +"
An Area Code can be set to enable 7 digit dialing for any route " +"configured to pass 7 digits." +msgstr "" + +#: page.sipstation.php:344 +#, php-format +msgid "" +"Check Primary (%s) and Secondary (%s) Trunk for each route that should be " +"configured with the %s service. The trunks will be inserted into the " +"corresponding routes upon clicking the %s button. You can enable 7 digit " +"dialing with the trunk by entering your areacode as well." +msgstr "" + +#: page.sipstation.php:344 page.sipstation.php:379 +msgid "Update Route/Trunk Configurations" +msgstr "" + +#: page.sipstation.php:350 +msgid "Area Code" +msgstr "" + +#: page.sipstation.php:350 +msgid "" +"Provide your 3 digit areacode if you would like your trunks to allow 7 digit " +"dialing and automatically prepend your areacode. This requires the route to " +"be configured to send a 7 digit number." +msgstr "" + +#: page.sipstation.php:366 +#, php-format +msgid "Edit: %s" +msgstr "" + +#: page.sipstation.php:389 +msgid "DID Configuration" +msgstr "" + +#: page.sipstation.php:389 +msgid "" +"You can assign each DID to any of your extensions on this screen to generate " +"a route to that extension with default settings. If you check the \"Set CID" +"\" box you will set the extension's outbound CID to this DID also. (Note the " +"Outbound CID on an extension will not be deleted if you subsequently change " +"the assignment of that DID, unless another DID is assigned with the box " +"checked. You will need to go to the extension and modify it otherwise.) If " +"the DID is already assigned to something other than an extension, the " +"destination will be listed and can be changed here. To assign to other " +"destination types, click the DID link to go direct to the Inbound route for " +"that DID or to create a new one." +msgstr "" + +#: page.sipstation.php:395 +msgid "DID" +msgstr "" + +#: page.sipstation.php:400 +msgid "Failover #" +msgstr "" + +#: page.sipstation.php:405 +msgid "Description" +msgstr "" + +#: page.sipstation.php:407 +msgid "Route To" +msgstr "" + +#: page.sipstation.php:408 +msgid "Set CID" +msgstr "" + +#: page.sipstation.php:413 +msgid "Update DID Configurations" +msgstr "" + +#: page.sipstation.php:492 +msgid "" +"A valid key is required to peform this action and the server must be " +"available. Error:" +msgstr "" + +#: page.sipstation.php:493 page.sipstation.php:672 page.sipstation.php:747 +#: page.sipstation.php:753 page.sipstation.php:796 page.sipstation.php:849 +#: page.sipstation.php:856 page.sipstation.php:1164 page.sipstation.php:1179 +msgid "ERROR" +msgstr "" + +#: page.sipstation.php:579 +msgid "NO CODECS" +msgstr "" + +#: page.sipstation.php:677 +msgid "An Error occured trying to contact the server for account settings." +msgstr "" + +#: page.sipstation.php:678 +msgid "SERVER ERROR" +msgstr "" + +#: page.sipstation.php:705 +msgid "FIREWALL TEST WARNING" +msgstr "" + +#: page.sipstation.php:710 +msgid "An Error occured trying run firewall test" +msgstr "" + +#: page.sipstation.php:711 +msgid "FIREWALL TEST ERROR" +msgstr "" + +#: page.sipstation.php:752 page.sipstation.php:795 page.sipstation.php:855 +msgid "An Error occured trying Submit" +msgstr "" + +#: page.sipstation.php:787 page.sipstation.php:842 +msgid "UPDATES" +msgstr "" + +#: page.sipstation.php:790 page.sipstation.php:1039 page.sipstation.php:1071 +msgid "NOTICE" +msgstr "" + +#: page.sipstation.php:895 +msgid "" +"You will no longer have access to your account unless you re-enter your key. " +"It will be removed from the system. Do you want to continue?" +msgstr "" + +#: page.sipstation.php:990 +msgid "Add: " +msgstr "" + +#: page.sipstation.php:990 +msgid "Edit: " +msgstr "" + +#: page.sipstation.php:1009 +msgid "Not Created" +msgstr "" + +#: page.sipstation.php:1044 +msgid "Generated Primary Trunk: " +msgstr "" + +#: page.sipstation.php:1047 +msgid "Generated Secondary Trunk: " +msgstr "" + +#: page.sipstation.php:1052 +msgid "Trunks can be added to routes below." +msgstr "" + +#: page.sipstation.php:1053 +msgid "Account DIDs can be configured below." +msgstr "" + +#: page.sipstation.php:1060 +msgid "" +"There are trunks configured with identical credentials. They must be removed " +"to use this module for Routing and Trunk Configuration." +msgstr "" + +#: page.sipstation.php:1063 +msgid "Trunk: " +msgstr "" + +#: page.sipstation.php:1073 +msgid "" +"Trunk settings have been updated or you have made changes. You may want to " +"press the \"Reset Trunks\" button. The effected trunks are listed and you " +"can click to edit them:" +msgstr "" + +#: page.sipstation.php:1078 +msgid "Primary Trunk" +msgstr "" + +#: page.sipstation.php:1081 +msgid "Seconday Trunk" +msgstr "" + +#: page.sipstation.php:1093 +msgid "UPDATE" +msgstr "" + +#: page.sipstation.php:1095 +msgid "" +"Trunks have been reset to the default configuration. All codecs and other " +"setups have been preserved." +msgstr "" + +#: page.sipstation.php:1100 +msgid "Primary Trunk Reset" +msgstr "" + +#: page.sipstation.php:1103 +msgid "Seconday Trunk Reset" +msgstr "" + +#: page.sipstation.php:1150 +msgid "You did not enter a key, Please enter a key to add." +msgstr "" + +#: page.sipstation.php:1155 +msgid "" +"You have entered an invalid key. You can find your key in the portal and " +"should copy and paste it below." +msgstr "" + +#: page.sipstation.php:1160 +#, php-format +msgid "There is a problem with your key: %s" +msgstr "" + +#: refresh.html.php:52 sipstation.html.php:172 +msgid "Not Registered" +msgstr "" + +#: routes.html.php:85 +#, php-format +msgid "" +"The prefix you entered, %s, is not a proper prefix or the wrong length. It " +"should be a 3 digit prefix." +msgstr "" + +#: routes.html.php:135 +#, php-format +msgid "Successfully configured %s routes to use your SIP trunks" +msgstr "" + +#: routes.html.php:137 +msgid "Your Area Code was updated" +msgstr "" + +#: routes.html.php:139 +msgid "No updates were required, nothing was changed in" +msgstr "" + +#: routes.html.php:143 +#, php-format +msgid "" +"Your trunks are not configured. Click on the Get Account Info button in " +"order to re-pull your account information and generate the required trunks " +"and then try again." +msgstr "" + +#: sipstation.html.php:191 +#, php-format +msgid "" +"Your module version is not compatible with the current API requirements and " +"needs to be updated. Expecting XML version %s and received version %s." +msgstr "" + +#: sipstation.utility.php:515 sipstation.utility.php:551 +msgid "Not Set" +msgstr "" Index: /modules/branches/2.7/sipstation/uninstall.php =================================================================== --- /modules/branches/2.7/sipstation/uninstall.php (revision 8417) +++ /modules/branches/2.7/sipstation/uninstall.php (revision 8417) @@ -0,0 +1,11 @@ + true, + 'sip_password' => true, + 'gateways' => true, + 'asterisk_settings' => true, +); +$current_config = sipstation_get_config("xxx", false, $filter); + +$need_reload = false; + +$sip_user = $current_config['sip_username']; +$sip_pass = $current_config['sip_password']; + +$tlist = core_trunks_list(true); +$tech = 'sip'; + +$peer_array = array(); +foreach ($current_config['asterisk_settings']['peer'] as $param) { + $peerdetails .= trim($param)."\n"; + $parts = explode('=',$param,2); + $peer_array[$parts[0]] = $parts[1]; +} +$peerdetails .= "username=$sip_user\nsecret=$sip_pass\nhost="; +$register = "$sip_user:$sip_pass@"; + +for ($i=1;$i<3;$i++) { + $gidx = "gw$i"; + $channelid = "fpbx-$i-$sip_user"; + $gw = $current_config['gateways'][$gidx]; + if (isset($tlist["SIP/$channelid"])) { + $json_array['status'] = 'success'; + if (!isset($_POST[$gidx]) || $_POST[$gidx] != 'yes') { + continue; + } + $globalvar = $tlist["SIP/$channelid"]['globalvar']; + $trunknum = ltrim($globalvar,'OUT_'); + $trunk_details = core_trunks_getDetails($trunknum); + $userconfig = core_trunks_getTrunkUserConfig($trunknum); + $old_peerdetails = explode("\n",core_trunks_getTrunkPeerDetails($trunknum)); + foreach ($old_peerdetails as $param) { + $parts = explode('=',$param,2); + switch (strtolower(trim($parts[0]))) { + case 'allow': + $allow = "allow=".$parts[1]."\n"; + break; + case 'disallow': + $disallow = "disallow=".$parts[1]."\n"; + break; + } + } + $peer_stuff = $peerdetails.$gw."\n".$disallow.$allow; + $reg = $register.$gw; + + /* Extract the allow/disallow now + */ + $tech = $trunk_details['tech']; + $outcid = $trunk_details['outcid']; + $maxchans = $trunk_details['maxchans']; + $dialoutprefix = $trunk_details['dialoutprefix']; + $keepcid = $trunk_details['keepcid']; + $failtrunk = $trunk_details['failscript']; + $disabletrunk = $trunk_details['disabled']; + + // TODO: trunk_name, provider with 2.6 + /* + $provider = $trunk_details['provider']; + $trunk_name = $trunk_details['name']; + */ + core_trunks_edit($trunknum, $channelid, $dialoutprefix, $maxchans, $outcid, $peer_stuff, $usercontext, $userconfig, $reg, $keepcid, $failtrunk, $disabletrunk); + $need_reload = true; + $json_array['status'] = 'success'; + $json_array['trunk_updated'][$gidx] = $trunknum; + } +} + +/* + if we made changes then we have to set the needsreload status and send back the reload bar to be inserted +*/ +if ($need_reload) { + needreload(); + if ($_POST['send_reload'] == 'yes') { + ob_start(); + if (!@include ('views/freepbx_reloadbar.php')) { + @include ('../../views/freepbx_reloadbar.php'); //TODO for debugging + } + $json_array['reload_bar'] = ob_get_clean(); + ob_start(); + if (!@include ('views/freepbx_reload.php')) { + @include ('../../views/freepbx_reload.php'); //TODO for debugging + } + $json_array['reload_header'] = ob_get_clean(); + } + $json_array['show_reload'] = 'yes'; +} else { + $json_array['show_reload'] = 'no'; +} + +$json = new Services_JSON(); +$value = $json->decode($_POST); + +header("Content-type: application/json"); +echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/module.xml =================================================================== --- /modules/branches/2.7/sipstation/module.xml (revision 8418) +++ /modules/branches/2.7/sipstation/module.xml (revision 8418) @@ -0,0 +1,27 @@ + + sipstation + SIPSTATION + 2.6.0.0 + setup + Basic + + SIPSTATION + + + This module is used to configure, manage and troubleshoot your SIPSTATION(tm) FreePBX.com SIP trunks and DIDs. The license on this source code is NOT GPL Open Source, it is a proprietary Free to Use license. + + Bandwidth.com + COMMERCIAL + + *2.6.0.0* tooltip edits, first release + *2.6.0RC1.0* Changed to gw1/gw2 separate registrations + *2.6.0beta1.6* collapsable section mods, added failover fields for future use, curl changes + *2.6.0beta1.5* css mods, new URL for xml access + *2.6.0beta1.4* many more bug fixes and tweaks + *2.6.0beta1.3* more status, lots of bug fixes + *2.6.0beta1.2* added install script to cleanup potential phantom trunks + *2.6.0beta1.1* first release + + release/2.6/sipstation-2.6.0.0.tgz + 1167d1c4f2e6dafe877d78d9bad726e2 + Index: /modules/branches/2.7/sipstation/sipstation.css =================================================================== --- /modules/branches/2.7/sipstation/sipstation.css (revision 8417) +++ /modules/branches/2.7/sipstation/sipstation.css (revision 8417) @@ -0,0 +1,80 @@ +input.validation-error { + border:2px solid #FF3333; +} +div.sipstation-errors { + border:3px solid #FF3333; + background-repeat: repeat-x; +} +div.sipstation-errors p { + text-align:center; + color:#FF3333; + font-weight:bold; + text-decoration:underline; +} +div.sipstation-messages { + border:3px solid #00CC00; + background-repeat: repeat-x; +} +div.sipstation-messages p { + text-align:center; + color:#00CC00; + font-weight:bold; + text-decoration:underline; +} +input.ips-mismatch { + background-color:#FFFF66; + border:1px solid #FFFF66; +} +input.ips-match { + background-color:#00CC00; + border:1px solid #00CC00; +} +input.ast-registered-no { + background-color:#FF3333; + border:1px solid #FF3333; +} +input.ast-registered-yes { + background-color:#00CC00; + border:2px solid #00CC00; +} +input.registered-no { + background-color:#FF3333; + border:1px solid #FF3333; +} +input.registered-yes { + background-color:#00CC00; + border:2px solid #00CC00; +} +tr.did-header td { + color:gray; + font-weight:bold; +} +.firewall-fail, .firewall-fail input { + background-color:#FF3333; + border:1px solid #FF3333; +} +.firewall-pass, .firewall-pass input { + background-color:#00CC00; + border:1px solid #00CC00; +} +input.changed_trunks { + background-color:#FFFF66; + border:1px solid #FFFF66; +} +input.no_codecs { + background-color:#FF3333; + border:1px solid #FF3333; +} +.warning-messages { + color:gray; + font-style:italic; + font-size:small; +} +/* +.account-access, #asterisk-stregisterattempts-msg, #gateway-reginfo-msg, .firewall-test-fields, #reset-trunks-button +{ + visibility:hidden; +} +*/ +.toggle-minus{background:url('images/toggle_minus.png') center no-repeat; padding: 3px 3px;cursor: pointer} +.toggle-plus{background:url('images/toggle_plus.png') center no-repeat; padding: 3px 3px;cursor: pointer} Index: /modules/branches/2.7/sipstation/sipstation.utility.php =================================================================== --- /modules/branches/2.7/sipstation/sipstation.utility.php (revision 8417) +++ /modules/branches/2.7/sipstation/sipstation.utility.php (revision 8417) @@ -0,0 +1,577 @@ + 'G.723.1', + 'gsm' => 'GSM', + 'ulaw' => 'G.711.U', + 'alaw' => 'G.711.A', + 'g722aal2' => 'G.726.AAl2', + 'adpcm' => 'ADPCM', + 'slin' => 'SLIN', + 'lpc10' => 'LPC10', + 'g729' => 'G.729.A', + 'speex' => 'SpeeX', + 'ilbc' => 'iLBC', + 'g726' => 'G.726', + 'g722' => 'G.722', +); + +/* callback to filer out codecs not supported + */ +function sipstation_codec_filter($codec) { + global $ast_codec_hash; + + $codec_split = explode(':',$codec,2); + if (array_key_exists($codec_split[0],$ast_codec_hash)) { + return $codec_split[0]; + } else { + return false; + } +} +function sipstation_supported_codecs($codec) { + global $codec_array; + return in_array($codec,$codec_array) ? $codec : false; +} + +/* Returns a hash of settings from 'sip show peers' +*/ +function sipstation_get_peer_status($peer) { + global $astman; + $sip_peer['sipstation_status'] = 'ok'; + $response = $astman->send_request('Command',array('Command'=>"sip show peer $peer")); + $buf = explode("\n",$response['data']); + foreach ($buf as $res) { + if (preg_match("/$peer\s*not\s+found\.{0,1}\s*$/",$res)) { + $sip_peer['sipstation_status'] = 'no_peer'; + } elseif (preg_match("/^\s*(.*?)\s*:\s*(.*)$/",$res,$match)) { + $sip_peer[$match[1]] = $match[2]; + } + } + return $sip_peer; +} + +/* Returns a hash of settings from 'sip show settings' +*/ +function sipstation_get_sip_settings() { + global $astman; + $sip_peer['sipstation_status'] = 'ok'; + $response = $astman->send_request('Command',array('Command'=>"sip show settings")); + $buf = explode("\n",$response['data']); + foreach ($buf as $res) { + if (preg_match("/$peer\s*not\s+found\.{0,1}\s*$/",$res)) { + $sip_peer['sipstation_status'] = 'no_peer'; + } elseif (preg_match("/^\s*(.*?)\s*:\s*(.*)$/",$res,$match)) { + $sip_peer[$match[1]] = $match[2]; + } + } + return $sip_peer; +} + +/* Returns a filtered array of currently configured codecs, filtered + against the list of supported codecs +*/ +function sipstation_get_configured_codecs($peer, $peer_status=false) { + if (!is_array($peer_status) || empty($peer_status)) { + $peer_status = sipstation_get_peer_status($peer); + } + if ($peer_status['sipstation_status'] = 'ok') { + if (preg_match("/^\s*\((.*)\)\s*$/",$peer_status['Codec Order'],$match)) { + $codecs = explode(',',$match[1]); + return array_filter(array_map('sipstation_codec_filter',$codecs)); + } + } +} + +function sipstation_get_key() { + global $db; + $sql = "SELECT * FROM module_xml WHERE id = 'sipstation_key'"; + $result = sql($sql,'getRow',DB_FETCHMODE_ASSOC); + if (!isset($result['data']) || trim($result['data']) == "") { + return false; + } else { + return $result['data']; + } +} + +/* Check if there is a valid key + * Returns: nokey, valid, invalid, noserver (if server can't be contacted) + */ +function sipstation_check_key() { + $sql = "SELECT * FROM `module_xml` WHERE `id` = 'sipstation_key'"; + $result = sql($sql,'getRow',DB_FETCHMODE_ASSOC); + + // if not set so this is a first time install + // get a new hash to account for first time install + // + if (!isset($result['data']) || trim($result['data']) == "") { + return 'nokey'; + } else { + // TODO: should really encrypt/decrypt key + // + return sipstation_confirm_key($result['data']); + } +} + +/* deleted saved configuration if confirmation determines it is stale + */ +function sipstation_confirm_key($key) { + $xml_array = sipstation_get_config(trim($key)); + if ($xml_array['status'] == 'success') { + switch ($xml_array['query_status']) { + case 'SUCCESS': + return 'valid'; + case 'BADKEY': + sipstation_remove_key(); + default: + return 'invalid'; + } + } else { + return $xml_array['status']; + } +} + +function sipstation_set_key($key) { + global $db; + $status = sipstation_confirm_key($key); + if ($status == 'valid') { + $data4sql = $db->escapeSimple($key); + sql("DELETE FROM `module_xml` WHERE `id` = 'sipstation_key'"); + sql("INSERT INTO `module_xml` (`id`,`time`,`data`) VALUES ('sipstation_key',".time().",'".$data4sql."')"); + } + return $status; +} + +function sipstation_remove_key() { + sql("DELETE FROM `module_xml` WHERE `id` = 'sipstation_key'"); + return $status; +} + +/* save the retrieved configuration information into the db to be used to configure trunks and what not + */ +function sipstation_save_config($xml) { + global $db; + $data4sql = $db->escapeSimple($xml); + sql("DELETE FROM `module_xml` WHERE `id` = 'sipstation_config'"); + sql("INSERT INTO `module_xml` (`id`,`time`,`data`) VALUES ('sipstation_config',".time().",'".$data4sql."')"); +} + +function sipstation_del_saved_config() { + global $db; + sql("DELETE FROM `module_xml` WHERE `id` = 'sipstation_config'"); +} + +function sipstation_retrieve_saved_config($format='') { + global $db; + $sql = "SELECT `data` FROM `module_xml` WHERE `id` = 'sipstation_config'"; + $xml_data = sql($sql, "getOne"); + if ($format == 'xml') { + return $xml_data; + } else { + $parser = new xml2Array($xml_data); + return $parser; + } +} + +function sipstation_get_settings($key, $online=true) { + global $amp_conf; + + if ($online) { + /* + $fn = "https://store.freepbx.com/store/myaccount.xml?keycode=".urlencode($key); + if (!$amp_conf['MODULEADMINWGET']) { + $xml_data = @file_get_contents($fn); + } + if (empty($xml_data)) { + exec("wget -O - $fn 2> /dev/null", $data_arr, $retcode); + $xml_data = implode("\n",$data_arr); + } + */ + $xml_data = sipstation_curl_xml($key); + + sipstation_save_config($xml_data); // cache the latest + $parser = new xml2Array($xml_data); + + return $parser; + } else { + return sipstation_retrieve_saved_config(); + } +} + +// TODO: handle timeouts, other issues. +// TODO: make more general for any post, make generic RESTFUL function +function sipstation_curl_xml($keycode) { + + // TODO: TEST + /* would be better to serialize the array and send it + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); + $params = "keycode=".urlencode($keycode); + curl_setopt($ch, CURLOPT_POSTFIELDS, $params); + */ + + $url = "https://store.freepbx.com/store/myaccount.xml"; + //$params = "keycode=".urlencode($keycode); + $params = array("keycode" => urlencode($keycode)); + $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; + + $ch = curl_init(); + //curl_setopt ($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); + curl_setopt($ch, CURLOPT_POSTFIELDS, $params); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); + curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return results to string + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.txt'); // imitate classic browser behavior + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); + // TODO: deal with timeout! + + $xml = curl_exec ($ch); + + // TODO: curl info back from request, check return code + // freepbx_debug(curl_getinfo($ch)); + + // TODO: if ($xml === false) { handle it, retry, etc. + // TODO: or at least toss in some error xml response + curl_close ($ch); + + return $xml; +} + +//TODO: refactor with above to combine common parts + +function sipstation_put_dids($dids) { + if (empty($dids)) { + return true; + } + $keycode = sipstation_get_key(); + $xml = ' + + +1.0.0'; + $xml .= " +$keycode +"; + foreach ($dids as $did => $failover) { + $xml .= "\n$did"; + } + $xml .= " + + +"; + + // TODO: different URL for putting just dids + $url = "https://store.freepbx.com/store/myaccount.xml"; + $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); + curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); + + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); + curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // print results to string and not STDOUT + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie.txt'); // IMITATE CLASSIC BROWSER'S BEHAVIOUR + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); + // TODO: deal with timeout! + + $xml = curl_exec ($ch); + + // curl info back from request + $return_status = curl_getinfo($ch); + // freepbx_debug($return_status); + + // TODO: if ($xml === false) { handle it, retry, etc. + // TODO: or at least toss in some error xml response + curl_close ($ch); + + return $xml; +} + +function sipstation_get_or_create_trunks(&$json_array,&$globalvar1,&$trunknum1,&$globalvar2,&$trunknum2) { + // now check on trunk config + // fpbx-1-$sip_user / fpbx-2-$sip_user + // TODO: 2.6 has trunkname, provider options that should be used + // + global $ast_codec_hash; + $sip_user = $json_array['sip_username']; + $sip_pass = $json_array['sip_password']; + $default_did = $json_array['e911_address']['default_did']; + $need_reload = false; + + $tlist = core_trunks_list(true); + $tech = 'sip'; + $keepcid = 'off'; + $disabletrunk= 'off'; + + $peerdetails = "disallow=all\nallow=".implode('&',array_keys($ast_codec_hash))."\n"; + $peer_array = array(); + foreach ($json_array['asterisk_settings']['peer'] as $param) { + $peerdetails .= trim($param)."\n"; + $parts = explode('=',$param,2); + $peer_array[$parts[0]] = $parts[1]; + } + + $peerdetails .= "username=$sip_user\nsecret=$sip_pass\nhost="; + $register = "$sip_user:$sip_pass@"; + $dialrules = array(); + + for ($i=1;$i<3;$i++) { + $gidx = "gw$i"; + $channelid = "fpbx-$i-$sip_user"; + $gw = $json_array['gateways'][$gidx]; + if (isset($tlist["SIP/$channelid"])) { + $globalvar = $tlist["SIP/$channelid"]['globalvar']; + $trunknum = ltrim($globalvar,'OUT_'); + // Now get some trunk status info + $trunk_status = sipstation_get_peer_status($channelid); + if ($trunk_status['sipstation_status'] == 'ok') { + $json_array['trunk_qualify'][$gidx] = $trunk_status['Status']; + $json_array['trunk_codecs'][$gidx] = implode(' | ',sipstation_get_configured_codecs($channelid,$trunk_status)); + } else { + //TODO: probably nothing + } + $json_array['trunk_name'][$gidx] = core_trunks_getTrunkTrunkName($trunknum); + } else { + $trunknum = core_trunks_add($tech, $channelid, '', '', $default_did, $peerdetails.$gw, '', '', $register.$gw, $keepcid, '', $disabletrunk); + core_trunks_addDialRules($trunknum, $dialrules); + $globalvar = "OUT_".$trunknum; + $need_reload = true; + $json_array['created_trunks'][$gidx] = $channelid; + // TODO: 2.6 should be name + $json_array['trunk_name'][$gidx] = "SIP/$channelid"; + } + // We need these next and need them past back up + $gv = "globalvar$i"; + $tn = "trunknum$i"; + $$gv = $globalvar; + $$tn = $trunknum; + } + + $peer_array['username'] = $sip_user; + $peer_array['secret'] = $sip_pass; + + $trunk_check = array($trunknum1, $trunknum2); + $cnt = 1; + foreach ($trunk_check as $tr) { + $json_array['trunk_id']["gw$cnt"] = $tr; // need to get this set for both anyhow + $gw = $json_array['gateways']["gw$cnt"]; + $peer_array['host'] = $gw; + $peer_stuff = array(); + $tr_reg = core_trunks_getTrunkRegister($tr); + foreach (explode("\n",core_trunks_getTrunkPeerDetails($tr)) as $elem) { + $temp = explode("=",$elem,2); + if ($temp[0] == 'allow') { + $peer_stuff[$temp[0]] = explode('&',$temp[1]); + } elseif ($temp[0] != '') { + $peer_stuff[$temp[0]] = $temp[1]; + } + } + unset($peer_stuff['allow']); + unset($peer_stuff['disallow']); + if ($peer_array != $peer_stuff || $tr_reg != $register.$gw) { + $json_array['changed_trunks']["gw$cnt"] = $tr; + } + $cnt++; + } + return $need_reload; +} + +/* +Current format of 'sip show registry' with various possible states +Host Username Refresh State Reg.Time +trunk1.freepbx.com:5060 b04c1dsr 585 Registered Sat, 27 Jun 2009 00:33:47 +trunk2.freepbx.com:5060 b04c1dsr 585 Registered Sat, 27 Jun 2009 00:33:48 +phonebooth.bandwidth.com:5060 9192221234 585 Timeout Sat, 27 Jun 2009 00:33:47 +67.131.62.22:5060 myusername 585 Auth.Sent. Sat, 27 Jun 2009 00:33:47 +*/ +function sipstation_get_registration_status($sip_user) { + global $astman; + $status_arr = array(); + if (!isset($astman)) { + return $status_arr; + } + $response = $astman->send_request('Command',array('Command'=>"sip show registry")); + $buf = explode("\n",$response['data']); + $state_pos = false; + foreach ($buf as $line) { + if (trim($line) != '') { + if ($state_pos===false) { + // find the positions of the header columns so we can parse + if ($state_pos = strpos($line,"State")) { + $user_pos = strpos($line,"Username"); + $reg_pos = strpos($line,"Reg.Time"); + $host_pos = strpos($line,"Host"); + + // Asterisk 1.2 does not have Reg. Time + if ($reg_pos === false) { + $reg_pos = strlen($line); + } + } + } else { + // get the username and if ours, trunk (host) and State of reg + preg_match("/^([^\s]+)\s*/",substr($line,$user_pos),$matches); + if ($sip_user == $matches[1]) { + $trunk = trim(substr($line,$host_pos,($user_pos-$host_pos))); + $trunk = preg_match("/^([^\s:]+)[:]{0,1}[\d]{0,5}\s*/",$trunk,$matches) ? $matches[1] : $trunk;; + $state = trim(substr($line,$state_pos,($reg_pos-$state_pos))); + $status_arr[$trunk] = $state; + } + } + } + } + return $status_arr; +} + +function sipstation_get_config($account_key, $online=true, $filter_sections=array()) { + global $db; + global $ast_codec_hash; + global $codec_array; + + if (!empty($account_key)) { + $json_array = array(); + $xml_parser = sipstation_get_settings($account_key, $online); + + if (!empty($xml_parser->data)) foreach ($xml_parser->data['xml'] as $key => $value) { + switch ($key) { + case 'xml_version': + case 'query_status': + case 'query_status_message': + case 'sip_username': + case 'sip_password': + case 'num_trunks': + case 'monthly_cost': + case 'cid_format': + case 'nat_troubleshooting': + if (!empty($filter_sections) && (!isset($filter_sections[$key]) || !$filter_sections[$key])) { continue; } + $json_array[$key] = trim("$value"); + break; + case 'gateways': + case 'e911_address': + case 'registered_status': + if (!empty($filter_sections) && (!isset($filter_sections[$key]) || !$filter_sections[$key])) { continue; } + foreach ($value as $key2 => $value2) { + if (is_array($value2)) { + foreach ($value2 as $gw => $value3){ + $json_array[$key][$key2][$gw] = $value3 ? trim($value3) : ''; + } + } else { + $json_array[$key][$key2] = $value2 ? trim($value2) : ''; + } + } + break; + case 'dids': + if (!empty($filter_sections) && (!isset($filter_sections[$key]) || !$filter_sections[$key])) { continue; } + if (!empty($value['did']) && !is_array($value['did'])) { + $tmp = $value['did']; + unset($value['did']); + $value['did'][] = $tmp; + $single = true; + } else { + $single = false; + } + + $idx = 0; + foreach ($value['did'] as $did) { + + $path = $single ? "/xml/dids/did" : "/xml/dids/did/$idx"; + $idx++; + $failover = $xml_parser->attributes[$path]['failover']; + + $did = trim($did); + $exten = core_did_get($did); + if (empty($exten)) { + $json_array[$key][$did] = array('destination' => 'blank', 'desc' => _("Not Set"), 'description' => '', 'failover' => "$failover"); + } else { + $dest_results = framework_identify_destinations($exten['destination']); + if (is_array($dest_results[$exten['destination']])) { + /* This is really bad but the calls to core_users get are so heavy and core_users_list don't give details + that we will do this for now and deal with it later. + */ + $user_cid_hash = array(); + $sql = "SELECT `extension`, `outboundcid` FROM `users`"; + $user_cids = $db->getAll($sql,DB_FETCHMODE_ASSOC); + if(DB::IsError($user_cids)) { + freepbx_debug("Failed trying to get user cids"); + freepbx_debug($user_cids->getMessage()); + $user_cids = array(); + } + foreach ($user_cids as $item) { + $user_cid_hash[$item['extension']] = $item['outboundcid']; + } + foreach ($dest_results[$exten['destination']] as $mod => $info) { + //$destination = (substr($exten['destination'],0,15) == 'from-did-direct' ? $exten['destination'] : 'assigned'); + $is_checked = 0; + if (substr($exten['destination'],0,15) == 'from-did-direct') { + $destination = $exten['destination']; + $exten_arr = explode(',',$destination); + if (isset($exten_arr[1]) && isset($user_cid_hash[$exten_arr[1]])) { + $is_checked = preg_match('/^\s*[<]?('.$did.')[>]?\s*$|^\s*"[^"]*"\s*<('.$did.')>\s*$/',$user_cid_hash[$exten_arr[1]]); + } else { + $is_checked = 0; + } + } else { + $destination = 'assigned'; + } + $json_array[$key][$did] = array('destination' => $destination, 'desc' => $info['description'], 'description' => $exten['description'], 'outboundcid' => $is_checked, 'failover' => "$failover"); + break; + } + } else { + $json_array[$key][$did] = array('destination' => 'blank', 'desc' => _("Not Set"), 'description' => '', 'failover' => "$failover"); + } + } + } + break; + case 'asterisk_settings': + if (!empty($filter_sections) && (!isset($filter_sections[$key]) || !$filter_sections[$key])) { continue; } + $json_array['asterisk_settings']['peer'] = $value['peer']['setting']; + break; + case 'codecs': + if (!empty($filter_sections) && (!isset($filter_sections[$key]) || !$filter_sections[$key])) { continue; } + $codec_array = $value['codec']; + /* filter the Asterisk codec hash to only those that we are told are supported + */ + $ast_codec_hash = array_filter(array_map('sipstation_supported_codecs',$ast_codec_hash)); + break; + default: + } + $json_array['status'] = 'success'; + } else { + $json_array['status'] = 'noserver'; + } + } else { + $json_array['status'] = 'nokey'; + } +return $json_array; +} Index: /modules/branches/2.7/sipstation/sipstation.html.php =================================================================== --- /modules/branches/2.7/sipstation/sipstation.html.php (revision 8417) +++ /modules/branches/2.7/sipstation/sipstation.html.php (revision 8417) @@ -0,0 +1,202 @@ +connect("127.0.0.1:".$amp_conf["ASTMANAGERPROXYPORT"], $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"], 'off')) { + if (!$res = $astman->connect("127.0.0.1:".$amp_conf["ASTMANAGERPORT"], $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"], 'off')) { + unset( $astman ); + } + } + include_once("/var/www/html/admin/common/db_connect.php"); + include_once("/var/www/html/admin/modules/core/functions.inc.php"); + if (!isset($active_modules)) { + $active_modules = array(); + } +} +global $db; +global $sipstation_xml_version; +/* For testing: +*//* +include_once("common/json.inc.php"); +*/ + + +//TODO: mockup, would need to do error checking +// + +$json_array = sipstation_get_config( sipstation_get_key() ); + +/* Check if we have trunks configured with the same credentials + and if so, skip the trunk creation mode + + Note: there are some ugly queries below. We don't like to do that + but the APIs are not ideal and very heavy. This turns out + to be much more efficient to detect these trunks. + */ +$trunk_conflict = array(); +if ($json_array['query_status'] == 'SUCCESS') { + $sip_user = $json_array['sip_username']; + $gateways = implode("','",$json_array['gateways']); + + $sql = " + SELECT `id` FROM `sip` WHERE `keyword` = 'username' + AND `data` = '$sip_user' AND `id` IN ( + SELECT `id` FROM `sip` WHERE `keyword` = 'host' + AND `data` IN ('$gateways') + )"; + $results = $db->getCol($sql); + if(DB::IsError($results)) { + $results = array(); + } + + $sql = "SELECT `id` FROM `sip` WHERE `keyword` = 'register' AND ("; + foreach ($json_array['gateways'] as $gw) { + $sql .= "(`data` LIKE '$sip_user:%@$gw%') OR "; + } + $sql = rtrim($sql,' OR').")"; + $results2 = $db->getCol($sql); + if(DB::IsError($results)) { + $results2 = array(); + } + $results2 = array_merge($results, $results2); + + /* Now we have to find the trunk, looking at the pre-2.6 and post + 2.6 account id formats + */ + $existing_trunks = array(); + $existing_trunk_hash = array(); + foreach ($results2 as $tr) { + if (preg_match('/^9999([\d]{1,2})$|^99999([\d]{1,2})$|^9999999([\d]{1,2})$|^tr-peer-([\d]+)$|^tr-user-([\d]+)$|^tr-reg-([\d]+)$/',$tr,$match)) { + $existing_trunks[$match[count($match)-1]][] = $tr; + $existing_trunk_hash[$tr] = $match[count($match)-1]; + } + } + $sql = "SELECT `data` name, `id` FROM `sip` WHERE `keyword` = 'account' AND `id` IN ('".implode("','",array_keys($existing_trunk_hash))."')"; + $results = $db->getAll($sql,DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + $results = array(); + } + + foreach ($results as $trunk_name) { + if ($trunk_name['name'] != "fpbx-1-$sip_user" && $trunk_name['name'] != "fpbx-2-$sip_user") { + $tname = core_trunks_getTrunkTrunkName($existing_trunk_hash[$trunk_name['id']]); + if ($tname != $trunk_name['name']) { + $tname .= " ({$trunk_name['name']})"; + } + $trunk_conflict[] = array('name' => $tname, 'href' => 'OUT_'.$existing_trunk_hash[$trunk_name['id']]); + } + } +} + +/* If we detected trunk conflicts then we don't bother with the Trunk and Routing + section, just report and be done. + */ +if (!empty($trunk_conflict)) { + unset($json_array['query_status_message']); + unset($json_array['query_status']); + $json_array['trunk_conflict'] = $trunk_conflict; + +} elseif ($json_array['query_status'] == 'SUCCESS' && $json_array['xml_version'] == $sipstation_xml_version) { // TODO: This needs to be checking that there was no failure + $need_reload = sipstation_get_or_create_trunks($json_array,$globalvar1,$trunknum1,$globalvar2,$trunknum2); + if ($need_reload) { + needreload(); + if ($_POST['send_reload'] == 'yes') { + ob_start(); + if (!@include ('views/freepbx_reloadbar.php')) { + @include ('../../views/freepbx_reloadbar.php'); //TODO for debugging + } + $json_array['reload_bar'] = ob_get_clean(); + ob_start(); + if (!@include ('views/freepbx_reload.php')) { + @include ('../../views/freepbx_reload.php'); //TODO for debugging + } + $json_array['reload_header'] = ob_get_clean(); + } + $json_array['show_reload'] = 'yes'; + } else { + $json_array['show_reload'] = 'no'; + } + + // Check trunknum1 for a prefix and use it since it is the primary trunk + // hopefully they will be the same + // + $json_array['areacode'] = ""; + if ($temp = core_trunks_getDialRules($trunknum1)) { + foreach ($temp as $key=>$val) { + // extract all ruleXX keys + if (preg_match("/^rule\d+$/",$key)) { + if (preg_match("/^1([\d]{3})\+NXXXXXX$/",$val,$matches)) { + $json_array['areacode'] = $matches[1]; + break; + } + } + } + } + $settings = sipstation_get_sip_settings(); + $json_array['asterisk_registerattempts'] = $settings['Outbound reg. attempts']; + + // Get the Asterisk Registration Status, retry once if bumping into Auth. Sent. + // + $try_again = false; + $cnt = 0; + do { + if ($try_again) { + sleep(1); + } + $cnt++; + $trunk_status = sipstation_get_registration_status($json_array['sip_username']); + foreach ($json_array['gateways'] as $gw => $trunk) { + if (isset($trunk_status[$trunk])) { + $json_array['asterisk_registry'][$gw] = $trunk_status[$trunk]; + $try_again = $trunk_status[$trunk] == 'Auth. Sent' ? true : $try_again; + } else { + $json_array['asterisk_registry'][$gw] = _("Not Registered"); + } + } + } while ($try_again && $cnt < 2); + + $routes = core_routing_getroutenames(); + + foreach($routes as $route) { + $route_name = substr($route[0],4); + $trunks = core_routing_getroutetrunks($route[0]); + + $gw1 = array_search($globalvar1,$trunks); + $gw1 = ($gw1 === false ? 0 : $gw1+1); + + $gw2 = array_search($globalvar2,$trunks); + $gw2 = ($gw2 === false ? 0 : $gw2+1); + $json_array['routes'][$route_name] = array('gw1' => $gw1, 'gw2' => $gw2); + } +} elseif ($json_array['query_status'] == 'SUCCESS' && $json_array['xml_version'] != $sipstation_xml_version) { + $json_array['status'] = sprintf(_("Your module version is not compatible with the current API requirements and needs to be updated. Expecting XML version %s and received version %s."),$sipstation_xml_version, $json_array['xml_version']); + unset($json_array['query_status_message']); + unset($json_array['query_status']); +} else { + $json_array['status'] = $json_array['query_status_message']; + unset($json_array['query_status_message']); + unset($json_array['query_status']); +} + +$json = new Services_JSON(); +header("Content-type: application/json"); +echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/refresh.html.php =================================================================== --- /modules/branches/2.7/sipstation/refresh.html.php (revision 8417) +++ /modules/branches/2.7/sipstation/refresh.html.php (revision 8417) @@ -0,0 +1,68 @@ +connect("127.0.0.1:".$amp_conf["ASTMANAGERPROXYPORT"], $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"], 'off')) { + if (!$res = $astman->connect("127.0.0.1:".$amp_conf["ASTMANAGERPORT"], $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"], 'off')) { + unset( $astman ); + } + } + include_once("/var/www/html/admin/common/db_connect.php"); + include_once("/var/www/html/admin/modules/core/functions.inc.php"); + if (!isset($active_modules)) { + $active_modules = array(); + } +} +/* For testing: +*//* +include_once("common/json.inc.php"); +*/ + +/* We can use the cached config data as we were just told that + trunk params have changed and chose to update + */ + +$sip_username = $_POST['sip_username']; +$gateways['gw1'] = $_POST['gw1']; +$gateways['gw2'] = $_POST['gw2']; + +$json_array['status'] = 'success'; +// Get the Asterisk Registration Status +$trunk_status = sipstation_get_registration_status($sip_username); +foreach ($gateways as $gw => $trunk) { + if (isset($trunk_status[$trunk])) { + $json_array['asterisk_registry'][$gw] = $trunk_status[$trunk]; + } else { + $json_array['asterisk_registry'][$gw] = _("Not Registered"); + } +} + +for ($i=1;$i<3;$i++) { + $channelid = "fpbx-$i-$sip_username"; + $trunk_status = sipstation_get_peer_status($channelid); + if ($trunk_status['sipstation_status'] == 'ok') { + $json_array['trunk_qualify']["gw$i"] = $trunk_status['Status']; + } +} + +$json = new Services_JSON(); +$value = $json->decode($_POST); + +header("Content-type: application/json"); +echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/routes.html.php =================================================================== --- /modules/branches/2.7/sipstation/routes.html.php (revision 8417) +++ /modules/branches/2.7/sipstation/routes.html.php (revision 8417) @@ -0,0 +1,172 @@ +$val) { + $temp2[] = $val; // for later comparison + // extract all ruleXX keys + if (preg_match("/^rule\d+$/",$key)) { + if (!preg_match("/^1[\d]{3}\+NXXXXXX$/",$val)) { + $dialrules[] = $val; + } + } + } + } else { + $temp = array(); + } + array_unshift($dialrules,$areacode); + if ($temp2 != $dialrules) { + core_trunks_addDialRules($trunk, $dialrules); + $need_reload = true; + } + unset($temp); + unset($temp2); + unset($dialrules); + } + } else { + $json_array['areacode_status'] = sprintf(_("The prefix you entered, %s, is not a proper prefix or the wrong length. It should be a 3 digit prefix."),$_POST['areacode']); + } + } + + $routes = core_routing_getroutenames(); + foreach($routes as $route) { + $route_name = substr($route[0],4); + $trunks = core_routing_getroutetrunks($route[0]); + + $gw1 = array_search($globalvar1,$trunks); + $gw2 = array_search($globalvar2,$trunks); + $gw1_change = ($gw1 !== false XOR $_POST[$route_name.'_id1'] == 'yes'); + $gw2_change = ($gw2 !== false XOR $_POST[$route_name.'_id2'] == 'yes'); + if ($gw1_change || $gw2_change) { + /* + Determine which one or both need to change then do them at the same time. + They should all be created at this point from above, gw1 should be last + so that trunk always ends up first. + */ + $cnt++; + if ($gw2_change) { + if ($gw2===false) { + array_unshift($trunks,$globalvar2); + } else { + unset($trunks[$gw2]); + } + } + if ($gw1_change) { + if ($gw1===false) { + array_unshift($trunks,$globalvar1); + } else { + unset($trunks[$gw1]); + } + } + foreach ($trunks as $trunk) { + $new_trunks[] = $trunk; + } + // Now get all the route settings, then update with these new trunks + // + $dialpattern = core_routing_getroutepatterns($route[0]); + $routepass = core_routing_getroutepassword($route[0]); + $emergency = core_routing_getrouteemergency($route[0]); + $intracompany = core_routing_getrouteintracompany($route[0]); + $mohsilence = core_routing_getroutemohsilence($route[0]); + core_routing_edit($route[0], $dialpattern, $new_trunks, $routepass, $emergency, $intracompany, $mohsilence); + unset($new_trunks); + } + } + $json_array['update_count'] = $cnt; + if ($cnt) { + $json_array['status_message'] = sprintf(_("Successfully configured %s routes to use your SIP trunks"),$cnt); + } elseif ($need_reload) { + $json_array['status_message'] = _("Your Area Code was updated"); + } else { + $json_array['status_message'] = _("No updates were required, nothing was changed in"); + } +} else { + $json_array['update_count'] = 0; + $json_array['status_message'] = sprintf(_("Your trunks are not configured. Click on the Get Account Info button in order to re-pull your account information and generate the required trunks and then try again.")); +} + +/* + if we made changes then we have to set the needsreload status and send back the reload bar to be inserted +*/ +if ($cnt || $need_reload) { + needreload(); + if ($_POST['send_reload'] == 'yes') { + ob_start(); + if (!@include ('views/freepbx_reloadbar.php')) { + @include ('../../views/freepbx_reloadbar.php'); //TODO for debugging + } + $json_array['reload_bar'] = ob_get_clean(); + ob_start(); + if (!@include ('views/freepbx_reload.php')) { + @include ('../../views/freepbx_reload.php'); //TODO for debugging + } + $json_array['reload_header'] = ob_get_clean(); + } + $json_array['show_reload'] = 'yes'; +} else { + $json_array['show_reload'] = 'no'; +} + +$json = new Services_JSON(); +$value = $json->decode($_POST); + +header("Content-type: application/json"); +echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/install.php =================================================================== --- /modules/branches/2.7/sipstation/install.php (revision 8417) +++ /modules/branches/2.7/sipstation/install.php (revision 8417) @@ -0,0 +1,86 @@ +"; + } +} +if (! function_exists("outn")) { + function outn($text) { + echo $text; + } +} + +/* Delete all occurences of the specified trunk from all routes that may use it + */ +if (!function_exists('core_routing_trunk_del')) { + function core_routing_trunk_del($trunknum) { + global $db; + + $sql = "DELETE FROM `extensions` WHERE `application` = 'Macro' AND `context` LIKE 'outrt-%' AND `args` LIKE 'dialout-%,$trunknum,%'"; + $result = $db->query($sql); + } +} + +/* A long standing bug resulted in routes with trunk nubmers that had been deleted. Because trunk numbers are recyvled (something that + should be removed in the future), this can result in a new trunk being created and then silently inserted as part of a route that is + not intended. This will find all phantom trunks and remove them from routes. +*/ + +/* Get a list of all trunks being used + */ +outn(_("Checking routes for trunks..")); +$sql = "SELECT DISTINCT `args` FROM `extensions` WHERE `context` LIKE 'outrt-%' AND `application` = 'Macro' AND `args` LIKE 'dialout-%'"; +$results = $db->getCol($sql); +if(DB::IsError($results)) { + $results = array(); + out(_("an error occured quering the extensions table for routes, skipping check")); +} else { + $trunks = array(); + foreach ($results as $trunk_call) { + if (preg_match('/^dialout-(?:trunk|enum|dundi),([\d]+),.*$/',$trunk_call,$match) != 1) { + out(_("error detected")); + out(sprintf(_("an eroneous entry, %s, was found in extensions table that should not be there"),$trunk_call)); + } else { + $trunks_hash[$match[1]] = "OUT_".$match[1]; + } + } + $num_trunks = count($trunks_hash); + out(sprintf(_("found %s"),$num_trunks)); + + outn(_("checking for phantoms..")); + $trunks = core_trunks_list(true); + + $bad_trunks = array(); + $cnt = 0; + foreach ($trunks_hash as $trunknum => $globalvar) { + $bad = true; + foreach ($trunks as $trunk) { + if ($trunk['globalvar'] == $globalvar) { + $bad = false; + break; + } + } + if ($bad) { + $cnt++; + outn("$trunknum.."); + core_routing_trunk_del($trunknum); + } + } + if ($cnt) { + out(sprintf(_("removed %s phantoms"),$cnt)); + } else { + out(_("none")); + } +} + +?> Index: /modules/branches/2.7/sipstation/destinations.html.php =================================================================== --- /modules/branches/2.7/sipstation/destinations.html.php (revision 8417) +++ /modules/branches/2.7/sipstation/destinations.html.php (revision 8417) @@ -0,0 +1,200 @@ +escapeSimple(isset($did_vars['extension']) ? $did_vars['extension'] : ''); + $cidnum = $db->escapeSimple(isset($did_vars['cidnum']) ? $did_vars['cidnum'] : ''); + $sql = ""; + foreach ($did_vars as $key => $value) { + switch ($key) { + case 'faxexten': + case 'faxemail': + case 'answer': + case 'wait': + case 'privacyman': + case 'alertinfo': + case 'ringing': + case 'mohclass': + case 'description': + case 'grppre': + case 'delay_answer': + case 'pricid': + case 'destination': + $sql_value = $db->escapeSimple($value); + $sql .= " `$key` = '$sql_value',"; + break; + default: + } + } + if ($sql == '') { + return false; + } + $sql = substr($sql,0,(strlen($sql)-1)); //strip off tailing ',' + $sql_update = "UPDATE `incoming` SET"."$sql WHERE `extension` = '$extension' AND `cidnum` = '$cidnum'"; + return sql($sql_update); + } +} + +function sipstation_set_outboundcid($target, $cid) { + global $db; + global $astman; + $exten = explode(',',$target); + $extension = $exten[1]; + if ($astman) { + $astman->database_put("AMPUSER",$extension."/outboundcid","$cid"); + } else { + freepbx_debug("could not get to manager"); + } + $extension = $db->escapeSimple($extension); // not reall necessary but ... + + /* This is really bad practice, but until we can get a decent API that is able + to update extensions without extreme pain, this will have to do. + */ + sql("UPDATE `users` SET `outboundcid` = '$cid' WHERE `extension` = '$extension'"); +} + +$json_array['status'] = 'success'; +$exten_cids = array(); +$cnt = 0; +if (isset($_POST['dids'])) { + + $filter = array('dids' => true,); + $dids_to_update = array(); + $dids_validation_fail = array(); + + $current_dids = sipstation_get_config("xxx", false, $filter); + $dids = unserialize($_POST['dids']); + foreach ($dids as $did) { + $did_parts = unserialize($did); + if (isset($did_parts['did'])) { + $update = false; + //TODO: $failover flag tmp here + if ($failover && $did_parts['failover'] != $current_dids['dids'][$did_parts['did']]['failover']) { + if (preg_match('/^\s*([1]{0,1}[2-9]{1}\d{2}[2-9]{1}\d{6})\s*$/', $did_parts['failover'], $match)) { + $dids_to_update[$did_parts['did']] = $match[1]; + $update = true; + } else { + $dids_validation_fail[$did_parts['did']] = $did_parts['failover']; + continue; + } + } + if ($did_parts['dest'] != 'blank' && $did_parts['dest'] != 'assigned') { + $did_vars['extension'] = $did_parts['did']; + $did_vars['destination'] = $did_parts['dest']; + $did_vars['description'] = $did_parts['desc']; + core_did_create_update($did_vars); + if ($did_parts['setcid']) { + sipstation_set_outboundcid($did_vars['destination'],$did_vars['extension']); + } + $update = true; + } + if ($update) { + $cnt++; + } + } else { + $json_array['status'] = _("An error was encounterd updating DID destinations");; + } + } + if ($failover) sipstation_put_dids($dids_to_update); +} + +if (empty($dids_validation_fail)) { + $json_array['update_count'] = $cnt; + $json_array['status_message'] = sprintf(_("Successfully updated or created %s inbound routes for your DIDs"),$cnt); +} elseif ($cnt) { + $json_array['status'] = 'validation_failures'; + $json_array['update_count'] = $cnt; + $json_array['validation_failures'] = $dids_validation_fail; + $validation_failures = count($dids_validation_fail); + $json_array['status_message'] = sprintf(_("There are %s invalid entries, only updated or created %s inbound routes for your DIDs"),$validation_failures, $cnt); +} else { + $json_array['status'] = 'validation_failures'; + $json_array['update_count'] = 0; + $json_array['validation_failures'] = $dids_validation_fail; + $json_array['status_message'] = sprintf(_("There were %s validation failures on the requested DIDs, no updates performed"),$validation_failures); +} + +/* + if we made changes then we have to set the needsreload status and send back the reload bar to be inserted +*/ +if ($cnt) { + needreload(); + if ($_POST['send_reload'] == 'yes') { + ob_start(); + if (!@include ('views/freepbx_reloadbar.php')) { + @include ('../../views/freepbx_reloadbar.php'); //TODO for debugging + } + $json_array['reload_bar'] = ob_get_clean(); + ob_start(); + if (!@include ('views/freepbx_reload.php')) { + @include ('../../views/freepbx_reload.php'); //TODO for debugging + } + $json_array['reload_header'] = ob_get_clean(); + } + $json_array['show_reload'] = 'yes'; +} else { + $json_array['show_reload'] = 'no'; +} + +$json = new Services_JSON(); +$value = $json->decode($_POST); + +header("Content-type: application/json"); +echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/firewall.html.php =================================================================== --- /modules/branches/2.7/sipstation/firewall.html.php (revision 8417) +++ /modules/branches/2.7/sipstation/firewall.html.php (revision 8417) @@ -0,0 +1,123 @@ + $port_end) { + $json_array['status'] = 'no_ports'; + $json_array['status_message'] = _("No Free Ports in Asterisk RTP Port Range available for testing, you can try later"); + } else { + // Setup the receive end before ping the server to get started + $listen_port = (int)$port_start; + $listen_sock = socket_create(AF_INET, SOCK_DGRAM, 0); + + if (@socket_bind($listen_sock, $listen_address, $listen_port) === false) { + $json_array['status'] = 'socket_bind_listen_failed'; + $json_array['status_message'] = socket_strerror(socket_last_error($listen_sock)).". Could not bind to intended listen port ($listen_address:$listen_port) to receive test tocken."; + } else { + socket_set_nonblock($listen_sock); + + // OK, now we are listening so lets tell the server to send us something + // + $send_port = (string)$port_start; + $token = md5($send_port*rand()); + $fn = "http://mirror.freepbx.org/whatismyip.php?"; + $fn .= "port=$send_port&token=".urlencode($token); + + // Now build the token we will get back, to look like a g711u payload I hope + // this gets around any potential firewall issues though it is a stray packet + // + $header = "\x80\x80\x5a\x1d\xac\xe1\x37\xab\x3b\xb7\x59\xc8"; + $token = $header.$token.$token.$token.$token.$token; + + if (!$amp_conf['MODULEADMINWGET']) { + $ip_xml = @file_get_contents($fn); + } + if (empty($ip_xml)) { + exec("wget -O - '$fn' 2> /dev/null", $data_arr, $retcode); + $ip_xml = implode("\n",$data_arr); + } + preg_match('|^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$|',$ip_xml,$matches); + if (isset($matches[1])) { + $json_array['externip'] = $matches[1]; + } + + // OK, now we fired off our request and it returned, which means it should have fired off our + // packet which should be buffered and waiting for us to read + // + $res = false; + $count = 5; + $string = $string2 = ""; + while ($res === false && $count > 0) { + $res = @socket_recv($listen_sock, $string, 1024, 0); + if ($res === false) { + sleep(1); + } + $count--; + } + sleep(1); + $res = @socket_recv($listen_sock, $string2, 1024, 0); + socket_close($listen_sock); + if ($res) { + $string += $string2; + } + } + } + if ($json_array['status'] != 'success') { + // Already filled in + } elseif ($count <= 0 && $string != $token) { + $json_array['status'] = 'timeout'; + $json_array['status_message'] = _("The test timed out which means your firewall is probably configured wrong. If subsequent tests fail, check your port forwarding on the firewall."); + } elseif ($string != $token) { + $json_array['status'] = 'bad_token'; + $json_array['status_message'] = _("An unexpected token was returned, try the test again"); + } + $json = new Services_JSON(); + sleep(0); + header("Content-type: application/json"); + echo $json->encode($json_array); Index: /modules/branches/2.7/sipstation/page.sipstation.php =================================================================== --- /modules/branches/2.7/sipstation/page.sipstation.php (revision 8417) +++ /modules/branches/2.7/sipstation/page.sipstation.php (revision 8417) @@ -0,0 +1,1228 @@ + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +   + + +
+
+
+
+ +

+
Once active, this module will configure your trunks, routes and DIDs and provide diagnostic tools to configure and monitor your service."),'SIPSTATION™','https://store.freepbx.com') ?> +

+
+

+
" tabindex="">
+

+
+

+
    + +
+
+

+ +
+ +
+ + + + +
+   + +   +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ "$('#".$error['id']."').addClass('validation-error');\n", + 'div' => $error['message'], + ); + } + return $error_display; +} + +/************ AJAX FUNCTIONS ***********/ + +function ajax_get($post) { + include_once("sipstation.html.php"); + return true; +} +function dest_post($post) { + include_once("destinations.html.php"); + return true; +} +function route_post($post) { + include_once("routes.html.php"); + return true; +} +function reset_trunk($post) { + include_once("edittrunk.html.php"); + return true; +} +function refresh_display($post) { + include_once("refresh.html.php"); + return true; +} +?> Index: /modules/branches/2.7/frameworksvn.pl =================================================================== --- /modules/branches/2.7/frameworksvn.pl (revision 7959) +++ /modules/branches/2.7/frameworksvn.pl (revision 7959) @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +# This script (sculpted from publish.pl) will check the last tarball (which must be there) +# based on the framework xml version number and then run svn log against all updates since +# framework was last published. +# +$rver = "2.6"; +$fwbranch = "branches/2.6"; +$framework = "framework"; + +$moddir = 'framework'; + +my $reldir = "release/"; + + open FH, "$moddir/module.xml"; + $newxml = ""; + $vers = "unset"; + while () { + if ($vers == 'unset' && /(.+)<\/version>/) { $vers = $1; } + $newxml .= $_; + } + close FH; + + die "Don't know version of $moddir" if ($vers eq "unset"); + # Automatically check in any files that were modified but weren't checked into SVN + + # Now we know the version. Get the svnversion.txt from the last update. + $filename = "../../$reldir"."$rver/$framework-$vers.tgz"; + print "CHECKING VERSION: ..... "; + #print "CHECKING VERSION WITH: tar -zxOf $filename $moddir/svnversion.txt: ... "; + system("tar -zxOf ".$filename." ".$moddir."/svnversion.txt"); + print "Geting svn log since that version for $rver : .... \n\n"; + $svnver = system("svn log http://svn.freepbx.org/freepbx/$fwbranch -r `tar -zxOf ".$filename." ".$moddir."/svnversion.txt | sed -e s/SVN\\\ VERSION://`:HEAD"); + Index: /modules/branches/2.7/infoservices/i18n/sv_SE/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/sv_SE/LC_MESSAGES/infoservices.po (revision 6718) +++ /modules/branches/2.7/infoservices/i18n/sv_SE/LC_MESSAGES/infoservices.po (revision 6718) @@ -0,0 +1,43 @@ +# 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 infoservice\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-14 21:41+0200\n" +"PO-Revision-Date: 2008-09-14 22:04+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" + +#: install.php:2 +msgid "Directory" +msgstr "Katalog" + +#: install.php:9 +msgid "Call Trace" +msgstr "SamtalsspÃ¥rning" + +#: install.php:16 +msgid "Echo Test" +msgstr "Eko-test" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Talande klocka" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "LÀs upp din anknytning" + +#: module.xml:3 +msgid "Info Services" +msgstr "InformationstjÀnster" + Index: /modules/branches/2.7/infoservices/i18n/bg_BG/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/bg_BG/LC_MESSAGES/infoservices.po (revision 7250) +++ /modules/branches/2.7/infoservices/i18n/bg_BG/LC_MESSAGES/infoservices.po (revision 7250) @@ -0,0 +1,45 @@ +# 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-09-17 11:16+0200\n" +"PO-Revision-Date: 2008-11-03 02:03+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" + +#: install.php:2 +msgid "Directory" +msgstr "ДОректПрОя" + +#: install.php:9 +msgid "Call Trace" +msgstr "ПрПслеЎяваМе Ма РазгПвПр" + +#: install.php:16 +msgid "Echo Test" +msgstr "Ð•Ñ +П Тест" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Казва Часа" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "ПрПЎОктува ВашОя ВътрешеМ НЌер" + +#: module.xml +msgid "Info Services" +msgstr "ИМфПрЌацОПММО УслугО" + Index: /modules/branches/2.7/infoservices/i18n/infoservices.pot =================================================================== --- /modules/branches/2.7/infoservices/i18n/infoservices.pot (revision 6837) +++ /modules/branches/2.7/infoservices/i18n/infoservices.pot (revision 6837) @@ -0,0 +1,41 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:16+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: install.php:2 +msgid "Directory" +msgstr "" + +#: install.php:9 +msgid "Call Trace" +msgstr "" + +#: install.php:16 +msgid "Echo Test" +msgstr "" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "" + +#: module.xml +msgid "Info Services" +msgstr "" Index: /modules/branches/2.7/infoservices/i18n/zh_CN/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/zh_CN/LC_MESSAGES/infoservices.po (revision 7440) +++ /modules/branches/2.7/infoservices/i18n/zh_CN/LC_MESSAGES/infoservices.po (revision 7440) @@ -0,0 +1,44 @@ +# 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-09-17 11:16+0200\n" +"PO-Revision-Date: 2009-01-31 11:58+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" + +#: install.php:2 +msgid "Directory" +msgstr "目圕" + +#: install.php:9 +msgid "Call Trace" +msgstr "呌叫远螪" + +#: install.php:16 +msgid "Echo Test" +msgstr "回送测试" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "语音时钟" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "播攟䜠的分机号" + +#: module.xml +msgid "Info Services" +msgstr "信息服务" + Index: /modules/branches/2.7/infoservices/i18n/pt_BR/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/pt_BR/LC_MESSAGES/infoservices.po (revision 7759) +++ /modules/branches/2.7/infoservices/i18n/pt_BR/LC_MESSAGES/infoservices.po (revision 7759) @@ -0,0 +1,56 @@ +# 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 Araujo +# +msgid "" +msgstr "" +"Project-Id-Version: freePBX 2.5.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:16+0200\n" +"PO-Revision-Date: 2009-05-11 20:08-0300\n" +"Last-Translator: Marcelo Araujo \n" +"Language-Team: MidiVTS Team \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" + +#: install.php:2 +msgid "Directory" +msgstr "Diretório" + +#: install.php:9 +msgid "Call Trace" +msgstr "Rastreamento de Chamadas" + +#: install.php:16 +msgid "Echo Test" +msgstr "Teste de Eco" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Falar o horário" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "Faler número de seu ramal" + +#: module.xml +msgid "Info Services" +msgstr "Serviços de informação" + Index: /modules/branches/2.7/infoservices/i18n/it_IT/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/it_IT/LC_MESSAGES/infoservices.po (revision 7250) +++ /modules/branches/2.7/infoservices/i18n/it_IT/LC_MESSAGES/infoservices.po (revision 7250) @@ -0,0 +1,38 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:16+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" + +#: install.php:2 +msgid "Directory" +msgstr "Elenco Telefonico (Directory)" + +#: install.php:9 +msgid "Call Trace" +msgstr "Ultima Chiamata" + +#: install.php:16 +msgid "Echo Test" +msgstr "Test Eco" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Data e Ora" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "Riproduce il Numero d'Interno" + +#: module.xml +msgid "Info Services" +msgstr "Servizi Aggiuntivi" + Index: /modules/branches/2.7/infoservices/i18n/es_ES/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/es_ES/LC_MESSAGES/infoservices.po (revision 7479) +++ /modules/branches/2.7/infoservices/i18n/es_ES/LC_MESSAGES/infoservices.po (revision 7479) @@ -0,0 +1,39 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - infoservices module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:16+0200\n" +"PO-Revision-Date: 2009-01-21 00:48+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" + +#: install.php:2 +msgid "Directory" +msgstr "Directorio" + +#: install.php:9 +msgid "Call Trace" +msgstr "Traza de la llamada" + +#: install.php:16 +msgid "Echo Test" +msgstr "Prueba de eco" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Decir fecha y hora" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "Decir número de extensión" + +#: module.xml +msgid "Info Services" +msgstr "Servicios de información" + Index: /modules/branches/2.7/infoservices/i18n/fr_FR/LC_MESSAGES/infoservices.po =================================================================== --- /modules/branches/2.7/infoservices/i18n/fr_FR/LC_MESSAGES/infoservices.po (revision 8141) +++ /modules/branches/2.7/infoservices/i18n/fr_FR/LC_MESSAGES/infoservices.po (revision 8141) @@ -0,0 +1,53 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:16+0200\n" +"PO-Revision-Date: 2009-04-20 17:23+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: install.php:2 +msgid "Directory" +msgstr "Répertoire" + +#: install.php:9 +msgid "Call Trace" +msgstr "Trace d'Appel" + +#: install.php:16 +msgid "Echo Test" +msgstr "Test d'Echo" + +#: install.php:23 +msgid "Speaking Clock" +msgstr "Horloge Parlante" + +#: install.php:30 +msgid "Speak Your Exten Number" +msgstr "Dit votre Numéro d'Extension" + +#: module.xml +msgid "Info Services" +msgstr "Services d'Informations" Index: /modules/branches/2.7/infoservices/module.xml =================================================================== --- /modules/branches/2.7/infoservices/module.xml (revision 8472) +++ /modules/branches/2.7/infoservices/module.xml (revision 8472) @@ -0,0 +1,29 @@ + + infoservices + Info Services + 2.6.0.1 + FreePBX + GPLv2+ + no + no + setup + Internal Options & Configuration + Provides a number of applications accessable by feature codes: company directory, call trace (last call information), echo test, speaking clock, and speak current extension number. + + *2.6.0.1* localizations + *2.6.0.0* localizations, misc + *2.5.0.1* localization fixes + *2.5.0* localization, Swedish + *2.4.0.1* #2731 fix press 0 for operator in directory + *2.4.0* bumped for 2.4 + *1.3.5.2* changed categories + *1.3.5.1* bump for rc1 + *1.3.5* #2145 add waitexten while waiting for user input, and make uninstallable + *1.3.4* changed ${CALLERID(number)} to ${AMPUSER} to accomodate CID number masquerading + *1.3.3* Fixed SpeakExtension - replaced depricated ${CALLERID} variable + *1.3.2* Fixed SpeakExtension - add macro-user-callerid + *1.3.1* Improved accuracy of speaking clock + + release/2.6/infoservices-2.6.0.1.tgz + 0effe34c3ec7ada857b0ede2e51af814 + Index: /modules/branches/2.7/infoservices/functions.inc.php =================================================================== --- /modules/branches/2.7/infoservices/functions.inc.php (revision 5727) +++ /modules/branches/2.7/infoservices/functions.inc.php (revision 5727) @@ -0,0 +1,155 @@ +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 infoservices_directory($c) { + global $ext; + global $db; + + $oxtn = $db->getOne("SELECT value from globals where variable='OPERATOR_XTN'"); //this needs to be here! + + $id = "app-directory"; // The context to be included. This must be unique. + + // Start creating the dialplan + $ext->addInclude('from-internal-additional', $id); // Add the include from from-internal + // Build the context + $ext->add($id, $c, '', new ext_answer('')); + $ext->add($id, $c, '', new ext_wait('1')); // $cmd,1,Wait(1) + $ext->add($id, $c, '', new ext_agi('directory,${DIR-CONTEXT},from-did-direct,${DIRECTORY:0:1}${DIRECTORY_OPTS}'.($oxtn != '' ? 'o' : '') )); + $ext->add($id, $c, '', new ext_playback('vm-goodbye')); // $cmd,n,Playback(vm-goodbye) + $ext->add($id, $c, '', new ext_hangup('')); // hangup + if ($oxtn != '') { + $ext->add($id, 'o', '', new ext_goto('from-internal,${OPERATOR_XTN},1')); + } else { + $ext->add($id, 'i', '', new ext_playback('privacy-incorrect')); + } +} + +function infoservices_calltrace($c) { + global $ext; + + $id = "app-calltrace"; // The context to be included + + $ext->addInclude('from-internal-additional', $id); // Add the include from from-internal + + $ext->add($id, $c, '', new ext_goto('1', 's', 'app-calltrace-perform')); + + // Create the calltrace application, which we are doing a 'Goto' to above. + // I just reset these for ease of copying and pasting. + $id = 'app-calltrace-perform'; + $c = 's'; + $ext->add($id, $c, '', new ext_answer('')); + $ext->add($id, $c, '', new ext_wait('1')); + $ext->add($id, $c, '', new ext_macro('user-callerid')); + $ext->add($id, $c, '', new ext_playback('info-about-last-call&telephone-number')); + $ext->add($id, $c, '', new ext_setvar('lastcaller', '${DB(CALLTRACE/${AMPUSER})}')); + $ext->add($id, $c, '', new ext_gotoif('$[ $[ "${lastcaller}" = "" ] | $[ "${lastcaller}" = "unknown" ] ]', 'noinfo')); + $ext->add($id, $c, '', new ext_saydigits('${lastcaller}')); + $ext->add($id, $c, '', new ext_setvar('TIMEOUT(digit)', '3')); + $ext->add($id, $c, '', new ext_setvar('TIMEOUT(response)', '7')); + $ext->add($id, $c, '', new ext_background('to-call-this-number&press-1')); + $ext->add($id, $c, '', new ext_goto('fin')); + $ext->add($id, $c, 'noinfo', new ext_playback('from-unknown-caller')); + $ext->add($id, $c, '', new ext_macro('hangupcall')); + $ext->add($id, $c, 'fin', new ext_noop('Waiting for input')); + $ext->add($id, $c, '', new ext_waitexten(60)); + $ext->add($id, $c, '', new ext_Playback('sorry-youre-having-problems&goodbye')); + $ext->add($id, '1', '', new ext_goto('1', '${lastcaller}', 'from-internal')); + $ext->add($id, 'i', '', new ext_playback('vm-goodbye')); + $ext->add($id, 'i', '', new ext_macro('hangupcall')); + $ext->add($id, 't', '', new ext_playback('vm-goodbye')); + $ext->add($id, 't', '', new ext_macro('hangupcall')); + +} + +function infoservices_echotest($c) { + global $ext; + + $id = "app-echo-test"; // 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_playback('demo-echotest')); // $cmd,n,Macro(user-callerid) + $ext->add($id, $c, '', new ext_echo('')); + $ext->add($id, $c, '', new ext_playback('demo-echodone')); // $cmd,n,Playback(...) + $ext->add($id, $c, '', new ext_hangup('')); // $cmd,n,Macro(user-callerid) +} + +function infoservices_speakingclock($c) { + global $ext; + + $id = "app-speakingclock"; // 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_setvar('NumLoops','0')); + + $ext->add($id, $c, 'start', new ext_setvar('FutureTime','$[${EPOCH} + 11]')); // 10 seconds to try this out + $ext->add($id, $c, '', new ext_playback('at-tone-time-exactly')); + $ext->add($id, $c, '', new ext_gotoif('$["${TIMEFORMAT}" = "kM"]','hr24format')); + $ext->add($id, $c, '', new ext_sayunixtime('${FutureTime},,IM \\\'and\\\' S \\\'seconds\\\' p')); + $ext->add($id, $c, '', new ext_goto('waitloop')); + $ext->add($id, $c, 'hr24format', new ext_sayunixtime('${FutureTime},,kM \\\'and\\\' S \\\'seconds\\\'')); + $ext->add($id, $c, 'waitloop', new ext_set('TimeLeft', '$[${FutureTime} - ${EPOCH}]')); + $ext->add($id, $c, '', new ext_gotoif('$[${TimeLeft} < 1]','playbeep')); + //$ext->add($id, $c, '', new ext_saynumber('${TimeLeft}')); + $ext->add($id, $c, '', new ext_wait(1)); + $ext->add($id, $c, '', new ext_goto('waitloop')); + $ext->add($id, $c, 'playbeep', new ext_playback('beep')); + $ext->add($id, $c, '', new ext_wait(5)); + + $ext->add($id, $c, '', new ext_setvar('NumLoops','$[${NumLoops} + 1]')); + $ext->add($id, $c, '', new ext_gotoif('$[${NumLoops} < 5]','start')); // 5 is maximum number of times to repeat + $ext->add($id, $c, '', new ext_playback('goodbye')); + $ext->add($id, $c, '', new ext_hangup('')); +} + +function infoservices_speakextennum($c) { + global $ext; + + $id = "app-speakextennum"; + + $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_playback('your')); + $ext->add($id, $c, '', new ext_playback('extension')); + $ext->add($id, $c, '', new ext_playback('number')); + $ext->add($id, $c, '', new ext_playback('is')); + $ext->add($id, $c, '', new ext_saydigits('${AMPUSER}')); + $ext->add($id, $c, '', new ext_wait('2')); // $cmd,n,Wait(1) + $ext->add($id, $c, '', new ext_hangup('')); +} +?> Index: /modules/branches/2.7/infoservices/install.php =================================================================== --- /modules/branches/2.7/infoservices/install.php (revision 6894) +++ /modules/branches/2.7/infoservices/install.php (revision 6894) @@ -0,0 +1,42 @@ +setDescription('Directory'); +$fcc->setDefault('#'); +$fcc->update(); +unset($fcc); + +$fcc = new featurecode('infoservices', 'calltrace'); +$fcc->setDescription('Call Trace'); +$fcc->setDefault('*69'); +$fcc->update(); +unset($fcc); + +$fcc = new featurecode('infoservices', 'echotest'); +$fcc->setDescription('Echo Test'); +$fcc->setDefault('*43'); +$fcc->update(); +unset($fcc); + +$fcc = new featurecode('infoservices', 'speakingclock'); +$fcc->setDescription('Speaking Clock'); +$fcc->setDefault('*60'); +$fcc->update(); +unset($fcc); + +$fcc = new featurecode('infoservices', 'speakextennum'); +$fcc->setDescription('Speak Your Exten Number'); +$fcc->setDefault('*65'); +$fcc->update(); +unset($fcc); + +?> Index: /modules/branches/2.7/fw_langpacks/i18n/sv_SE/LC_MESSAGES/fw_langpacks.po =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/sv_SE/LC_MESSAGES/fw_langpacks.po (revision 6707) +++ /modules/branches/2.7/fw_langpacks/i18n/sv_SE/LC_MESSAGES/fw_langpacks.po (revision 6707) @@ -0,0 +1,37 @@ +# 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\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-13 22:19+0200\n" +"PO-Revision-Date: 2008-09-13 23:07+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" + +#: install.php:78 +#: install.php:85 +#: install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "Förbereder att kopiera %s till %s" + +#: install.php:87 +#: install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "Ingen destionationsmapp %s att kopiera %s till" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "Uppdaterade %s" + Index: /modules/branches/2.7/fw_langpacks/i18n/bg_BG/LC_MESSAGES/fw_langpacks.po =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/bg_BG/LC_MESSAGES/fw_langpacks.po (revision 7273) +++ /modules/branches/2.7/fw_langpacks/i18n/bg_BG/LC_MESSAGES/fw_langpacks.po (revision 7273) @@ -0,0 +1,42 @@ +# 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-09-27 19:11+0200\n" +"PO-Revision-Date: 2008-11-08 17:56+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" + +#: install.php:78 +#: install.php:85 +#: install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "ППЎгПтПвка за кПпОраМе Ма %s в %s" + +#: install.php:87 +#: install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "НяЌа такава ЎОректПрОя %s за кПпОраМе Ма %s" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "ОбМПвеМО %s" + +#: module.xml +msgid "FreePBX Localization Updates" +msgstr "ОбМПвяваМе Ма ПревПЎО" + Index: /modules/branches/2.7/fw_langpacks/i18n/fw_langpacks.pot =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/fw_langpacks.pot (revision 8140) +++ /modules/branches/2.7/fw_langpacks/i18n/fw_langpacks.pot (revision 8140) @@ -0,0 +1,36 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-25 19:37+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: install.php:78 install.php:85 install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "" + +#: install.php:87 install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "" + +msgid "FreePBX Localization Updates" +msgstr "MAJ d'internationalisation FreePBX" + Index: /modules/branches/2.7/fw_langpacks/i18n/it_IT/LC_MESSAGES/fw_langpacks.po =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/it_IT/LC_MESSAGES/fw_langpacks.po (revision 7250) +++ /modules/branches/2.7/fw_langpacks/i18n/it_IT/LC_MESSAGES/fw_langpacks.po (revision 7250) @@ -0,0 +1,37 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-13 22:19+0200\n" +"PO-Revision-Date: 2008-11-10 14:36+0100\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" + +#: install.php:78 +#: install.php:85 +#: install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "Preparazione della copia di %s su %s" + +#: install.php:87 +#: install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "Nessuna directory di destinazione %s per copiarci %s" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "Aggiornato %s" + Index: /modules/branches/2.7/fw_langpacks/i18n/ru_RU/LC_MESSAGES/fw_langpacks.po =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/ru_RU/LC_MESSAGES/fw_langpacks.po (revision 6975) +++ /modules/branches/2.7/fw_langpacks/i18n/ru_RU/LC_MESSAGES/fw_langpacks.po (revision 6975) @@ -0,0 +1,37 @@ +# 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 fw_langpacks.new -f UTF-8 -t ISO-8859-5 -o fw_langpacks.po +# fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-12 21:45+0100\n" +"PO-Revision-Date: 2008-10-12 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: install.php:78 +#: install.php:85 +#: install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "¿ÞÔÓÞâÞÒÚÐ Ú ÚÞߨàÞÒÐÝØî %s Ò %s" + +#: install.php:87 +#: install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "œÕ ÒëÑàÐÝÐ ÔØàÕÚâÞàØï ÝÐ×ÝÐçÕÝØï %s ÔÛï ÚÞߨàÞÒÐÝØï %s" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "ŸÑÝÞÒÛÕÝÞ %s" + Index: /modules/branches/2.7/fw_langpacks/i18n/fr_FR/LC_MESSAGES/fw_langpacks.po =================================================================== --- /modules/branches/2.7/fw_langpacks/i18n/fr_FR/LC_MESSAGES/fw_langpacks.po (revision 8140) +++ /modules/branches/2.7/fw_langpacks/i18n/fr_FR/LC_MESSAGES/fw_langpacks.po (revision 8140) @@ -0,0 +1,52 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-13 22:19+0200\n" +"PO-Revision-Date: 2008-11-10 14:36+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: French\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" +"X-Poedit-Country: FRANCE\n" + +#: install.php:78 +#: install.php:85 +#: install.php:96 +#, php-format +msgid "Preparing to copy %s to %s" +msgstr "Prépare la copie de %s vers %s" + +#: install.php:87 +#: install.php:99 +#, php-format +msgid "No destination directory %s to copy %s to" +msgstr "Pas de répertoire de destination %s pour copier %s" + +#: install.php:108 +#, php-format +msgid "Updated %s" +msgstr "%s mis à jour" + +msgid "FreePBX Localization Updates" +msgstr "MAJ d'internationalisation FreePBX" + Index: /modules/branches/2.7/fw_langpacks/module.xml =================================================================== --- /modules/branches/2.7/fw_langpacks/module.xml (revision 8497) +++ /modules/branches/2.7/fw_langpacks/module.xml (revision 8497) @@ -0,0 +1,25 @@ + + fw_langpacks + FreePBX Localization Updates + 2.6.0.3 + FreePBX + GPLv2+ + + *2.6.0.3* more language updates + *2.6.0.2* french and other updates + *2.6.0.1* updates + *2.6.0.0* localization updates + *2.5.1.1* Spanish, Italian, Bulgarian, Hungarian updates + *2.5.1* Swedish, Russian updates + *2.5.0.2* Swedish updates, Russian + *2.5.0.1* Swedish + *2.5.0* First release + + + This module provides a facility to install new and updated localization translations for all components in FreePBX. Localization i18n translations are still kept with each module and other components such as the User Portal (ARI). This provides an easy ability to bring all components up-to-date without the need of publishing dozens of modules for every minor change. The localization updates used will be the latest available for all modules and will not consider the current version you are running. + + setup + Basic + release/2.6/fw_langpacks-2.6.0.3.tgz + 2713402981cbd5bbe436a5d0e1865f1c + Index: /modules/branches/2.7/fw_langpacks/install.php =================================================================== --- /modules/branches/2.7/fw_langpacks/install.php (revision 7464) +++ /modules/branches/2.7/fw_langpacks/install.php (revision 7464) @@ -0,0 +1,111 @@ +'cp -rf' from src: '$src' to dst: '$dst'...details follow
"; + foreach ($errors as $error) { + echo "$error
"; + } +} + +if (! function_exists('out')) { + function out($text) { + echo $text."
"; + } +} + +if (! function_exists('outn')) { + function outn($text) { + echo $text; + } +} + +if (! function_exists('error')) { + function error($text) { + echo "[ERROR] ".$text."
"; + } +} + +if (! function_exists('fatal')) { + function fatal($text) { + echo "[FATAL] ".$text."
"; + exit(1); + } +} + +if (! function_exists('debug')) { + function debug($text) { + global $debug; + + if ($debug) echo "[DEBUG-preDB] ".$text."
"; + } +} + +global $amp_conf; + +$debug = false; +$dryrun = false; + +/** verison_compare that works with freePBX version numbers + * included here because there are some older versions of functions.inc.php that do not have + * it included as it was added during 2.3.0beta1 + */ +if (!function_exists('version_compare_freepbx')) { + function version_compare_freepbx($version1, $version2, $op = null) { + $version1 = str_replace("rc","RC", strtolower($version1)); + $version2 = str_replace("rc","RC", strtolower($version2)); + if (!is_null($op)) { + return version_compare($version1, $version2, $op); + } else { + return version_compare($version1, $version2); + } + } +} + +/* + * fw_langpacks install script + * + * for each installed component on the target system, copy localization files using the -u option + * on copy which will only copy them if our copy is newer then the destination which protects + * from overwriting destination files that have been updated by the user. + */ + $htdocs_source = dirname(__FILE__)."/htdocs"; + $htdocs_dest = $amp_conf['AMPWEBROOT']; + + // Always copy main FreePBX amp.po/mo files + // + out(sprintf(_("Preparing to copy %s to %s"),'i18n',"$htdocs_dest/admin")); + $htdocs_copy[] = array("source" => "$htdocs_source/admin/i18n", "dest" => "$htdocs_dest/admin"); + + // If ARI is there copy those + // + if (is_dir("$htdocs_dest/recordings")) { + $htdocs_copy[] = array("source" => "$htdocs_source/recordings", "dest" => "$htdocs_dest"); + out(sprintf(_("Preparing to copy %s to %s"),'recordings',"$htdocs_dest")); + } else { + out(sprintf(_("No destination directory %s to copy %s to"),"$htdocs_dest/recordings","recordings")); + } + + // Now for each module we have, make sure the module is in the destination as we don't want to create + // empty destinatino folders with just i18n directories. + // + $dir = opendir($htdocs_source.'/admin/modules'); + while ($file = readdir($dir)) { + if (is_dir("$htdocs_dest/admin/modules/$file") && ($file != ".") && ($file != "..")) { + out(sprintf(_("Preparing to copy %s to %s"),"$file","$htdocs_dest/admin/modules")); + $htdocs_copy[] = array("source" => "$htdocs_source/admin/modules/$file", "dest" => "$htdocs_dest/admin/modules"); + } else if ($file != "." && $file != "..") { + out(sprintf(_("No destination directory %s to copy %s to"),"$htdocs_dest/modules/$file","$file")); + } + } + + foreach ($htdocs_copy as $translations) { + exec("cp -ru ".$translations['source']." ".$translations['dest']." 2>&1",$out,$ret); + if ($ret != 0) { + fw_langpacks_print_errors($translations['source'], $translations['dest'], $out); + } else { + out(sprintf(_("Updated %s"),basename($translations['source']))); + } + } +?> Index: /modules/branches/2.7/javassh/i18n/sv_SE/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/sv_SE/LC_MESSAGES/javassh.po (revision 6743) +++ /modules/branches/2.7/javassh/i18n/sv_SE/LC_MESSAGES/javassh.po (revision 6743) @@ -0,0 +1,31 @@ +# 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 javassh\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 10:50+0200\n" +"PO-Revision-Date: 2008-09-16 11:00+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" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "Java SSH" + +#: page.javassh.php:18 +msgid "If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
" +msgstr "Om det behövs skriver du in namn och lösenord. NÀr java applikationen har startar skriver du in adressen till din vÀxel.
" + +#: page.javassh.php:19 +msgid "You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created." +msgstr "Du kommer då att koppla upp dig mot din FreePBX server. Du kan logga in som 'root' eller 'asterisk' eller någon annan anvÀndare som finns i ditt system." + Index: /modules/branches/2.7/javassh/i18n/bg_BG/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/bg_BG/LC_MESSAGES/javassh.po (revision 7250) +++ /modules/branches/2.7/javassh/i18n/bg_BG/LC_MESSAGES/javassh.po (revision 7250) @@ -0,0 +1,33 @@ +# 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-09-16 10:50+0200\n" +"PO-Revision-Date: 2008-11-03 02:13+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" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "Java SSH" + +#: page.javassh.php:18 +msgid "If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
" +msgstr "АкП е ÐœÐµÐŸÐ±Ñ +ПЎОЌП пПвтПрете главМОте пПтребОтелскП ОЌе О парПла. СлеЎ катП се ПтвПрО кПМзПлата въвеЎете IP аЎреса Ма вашОя сървър.
" + +#: page.javassh.php:19 +msgid "You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created." +msgstr "ТПгава ще се свържете с FreePBX сървъра. СлеЎ тПва ЌПжете Ўа се лПгМете катП 'root' ОлО 'asterisk', ОлО какъвтП пПтребОтел сте съзЎалО." + Index: /modules/branches/2.7/javassh/i18n/javassh.pot =================================================================== --- /modules/branches/2.7/javassh/i18n/javassh.pot (revision 6743) +++ /modules/branches/2.7/javassh/i18n/javassh.pot (revision 6743) @@ -0,0 +1,33 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 10:50+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "" + +#: page.javassh.php:18 +msgid "" +"If necessary re-enter the maint user and password. Once the applet has " +"opened enter the IP address of your PBX.
" +msgstr "" + +#: page.javassh.php:19 +msgid "" +"You will then connect to the FreePBX server. You can then login as 'root' or " +"'asterisk', or whatever user you have created." +msgstr "" Index: /modules/branches/2.7/javassh/i18n/zh_CN/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/zh_CN/LC_MESSAGES/javassh.po (revision 7440) +++ /modules/branches/2.7/javassh/i18n/zh_CN/LC_MESSAGES/javassh.po (revision 7440) @@ -0,0 +1,36 @@ +# 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-09-16 10:50+0200\n" +"PO-Revision-Date: 2009-02-01 14:52+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" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "Java SSH远皋登圕" + +#: page.javassh.php:18 +msgid "If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
" +msgstr "劂果需芁的话请重新蟓å +¥äœ çš„管理员甚户名以及密码。圚小应甚皋序启劚后请蟓å +¥äœ çš„PBX服务噚的IP地址。
" + +#: page.javassh.php:19 +msgid "You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created." +msgstr "接着䜠就䌚连接到FreePBX服务噚。䜠可以以“rootâ€æˆ–è€ +“asteriskâ€èº«ä»œç™»åœ•ïŒŒæˆ–è€ +以䜠创建的甚户身仜登圕。" + Index: /modules/branches/2.7/javassh/i18n/it_IT/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/it_IT/LC_MESSAGES/javassh.po (revision 7250) +++ /modules/branches/2.7/javassh/i18n/it_IT/LC_MESSAGES/javassh.po (revision 7250) @@ -0,0 +1,26 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 10:50+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" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "SSH Java" + +#: page.javassh.php:18 +msgid "If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
" +msgstr "Se necessario reinserire la password dell'utente amministratore. Appena l'applet si aprirà, digitare l'indirizzo IP del PBX.
" + +#: page.javassh.php:19 +msgid "You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created." +msgstr "Sarai connesso al server FreePBX e potrai entrare utilizzando come login 'root' o 'asterisk', o qualsiasi altro utente presente nel sistema." + Index: /modules/branches/2.7/javassh/i18n/es_ES/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/es_ES/LC_MESSAGES/javassh.po (revision 7479) +++ /modules/branches/2.7/javassh/i18n/es_ES/LC_MESSAGES/javassh.po (revision 7479) @@ -0,0 +1,27 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo javassh module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 10:50+0200\n" +"PO-Revision-Date: 2009-01-22 01:24+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" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "Java SSH" + +#: page.javassh.php:18 +msgid "If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
" +msgstr "Si fuera necesario, vuelva a introducir el usuario y la contraseña. Una vez que se haya abierto la ventana de conexión, introduzca la IP de su servidor.
" + +#: page.javassh.php:19 +msgid "You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created." +msgstr "Entonces se conectará a su servidor FreePBX. Puede iniciar sesión como usuario 'root', 'asterisk' o cualquier otro que haya creado." + Index: /modules/branches/2.7/javassh/i18n/fr_FR/LC_MESSAGES/javassh.po =================================================================== --- /modules/branches/2.7/javassh/i18n/fr_FR/LC_MESSAGES/javassh.po (revision 8144) +++ /modules/branches/2.7/javassh/i18n/fr_FR/LC_MESSAGES/javassh.po (revision 8144) @@ -0,0 +1,49 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 10:50+0200\n" +"PO-Revision-Date: 2009-04-20 21:37+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.javassh.php:17 +msgid "Java SSH" +msgstr "Java SSH" + +#: page.javassh.php:18 +msgid "" +"If necessary re-enter the maint user and password. Once the applet has " +"opened enter the IP address of your PBX.
" +msgstr "" +"Si nécessaire entrez à nouveau l'utilisateur principal et le mot de passe. " +"Une fois l'applet ouvert, entrez l'adresse IP de votre PBX.
" + +#: page.javassh.php:19 +msgid "" +"You will then connect to the FreePBX server. You can then login as 'root' or " +"'asterisk', or whatever user you have created." +msgstr "" +"Vous vous connecterez ensuite au serveur FreePBX. Vous pouvez alors vous loguer " +"en tant que 'root' ou 'asterisk', ou tout autre utilisateur que vous avez créé." Index: /modules/branches/2.7/javassh/page.javassh.php =================================================================== --- /modules/branches/2.7/javassh/page.javassh.php (revision 7469) +++ /modules/branches/2.7/javassh/page.javassh.php (revision 7469) @@ -0,0 +1,36 @@ + "._("Java SSH")." "; +echo _("If necessary re-enter the maint user and password. Once the applet has opened enter the IP address of your PBX.
"); +echo _("You will then connect to the FreePBX server. You can then login as 'root' or 'asterisk', or whatever user you have created."); + +?> + + + + + + + + + + + + + + Index: /modules/branches/2.7/javassh/module.xml =================================================================== --- /modules/branches/2.7/javassh/module.xml (revision 7958) +++ /modules/branches/2.7/javassh/module.xml (revision 7958) @@ -0,0 +1,24 @@ + + javassh + Java SSH + 2.6.0.0 + FreePBX + FREEUSE + tool + System Administration + Provides a Java applet to access the system shell using SSH. SSH client is provided by Appgate (www.appgate.com) and licensed is Free Limited Use, http://www.appgate.com/index/products/mindterm/mindterm_end_user_lic.html + + Java SSH + + + *2.6.0.0* localizations, misc + *2.5.0.2* security setting updates: r7432 + *2.5.0.1* localization updates + *2.5.0* localization fixes, Swedish + *2.4.0* bump for 2.4 + *1.0.1.1* bump for rc1 + *1.0.1* First Changelog + + release/2.6/javassh-2.6.0.0.tgz + 1e843fb3e7a15e92f2496ccff29a5a5c + Index: /modules/branches/2.7/fw_langpackssvn.pl =================================================================== --- /modules/branches/2.7/fw_langpackssvn.pl (revision 8193) +++ /modules/branches/2.7/fw_langpackssvn.pl (revision 8193) @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +# This script (sculpted from publish.pl) will check the last tarball (which must be there) +# based on the fw_langpacks xml version number and then run svn log against all updates since +# fw_langpacks was last published. +# +$rver = "2.6"; +$fwbranch = "branches/2.6"; +$fw_langpacks = "fw_langpacks"; + +$moddir = 'fw_langpacks'; + +my $reldir = "release/"; + + open FH, "$moddir/module.xml"; + $newxml = ""; + $vers = "unset"; + while () { + if ($vers == 'unset' && /(.+)<\/version>/) { $vers = $1; } + $newxml .= $_; + } + close FH; + + die "Don't know version of $moddir" if ($vers eq "unset"); + # Automatically check in any files that were modified but weren't checked into SVN + + # Now we know the version. Get the svnversion.txt from the last update. + $filename = "../../$reldir"."$rver/$fw_langpacks-$vers.tgz"; + print "CHECKING VERSION: ..... "; + #print "CHECKING VERSION WITH: tar -zxOf $filename $moddir/svnversion.txt: ... "; + system("tar -zxOf ".$filename." ".$moddir."/svnversion.txt"); + print "Geting svn log of language updates since that version for $rver : .... \n\n"; + system("svn log http://svn.freepbx.org/freepbx/$fwbranch/amp_conf/htdocs/recordings/locale -v -r `tar -zxOf ".$filename." ".$moddir."/svnversion.txt | sed -e s/SVN\\\ VERSION://`:HEAD | grep 'htdocs/recordings/locale'"); + system("svn log http://svn.freepbx.org/freepbx/$fwbranch/amp_conf/htdocs/admin -v -r `tar -zxOf ".$filename." ".$moddir."/svnversion.txt | sed -e s/SVN\\\ VERSION://`:HEAD | grep 'i18n/' | grep 'htdocs/admin'"); + system("svn log http://svn.freepbx.org/modules/branches/$rver -v -r `tar -zxOf ".$filename." ".$moddir."/svnversion.txt | sed -e s/SVN\\\ VERSION://`:HEAD | grep 'i18n/' | grep 'modules/branches'"); + + + # Test calls + # system("svn log http://svn.freepbx.org/freepbx/branches/$rver/amp_conf/htdocs/recordings/locale -v -r 4000:HEAD | grep 'htdocs/recordings/locale'"); + # system("svn log http://svn.freepbx.org/freepbx/branches/$rver/amp_conf/htdocs/admin -v -r 4000:HEAD | grep 'i18n/' | grep 'htdocs/admin'"); + # system("svn log http://svn.freepbx.org/modules/branches/$rver -v -r 4000:HEAD | grep 'i18n/' | grep 'modules/branches'"); Index: /modules/branches/2.7/dundicheck/i18n/sv_SE/LC_MESSAGES/dundicheck.po =================================================================== --- /modules/branches/2.7/dundicheck/i18n/sv_SE/LC_MESSAGES/dundicheck.po (revision 6871) +++ /modules/branches/2.7/dundicheck/i18n/sv_SE/LC_MESSAGES/dundicheck.po (revision 6871) @@ -0,0 +1,59 @@ +# 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 dundicheck\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-13 22:06+0200\n" +"PO-Revision-Date: 2008-09-28 12:10+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:63 +msgid "DUNDi: " +msgstr "DUNDi:" + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "DUNDIi information: %s" + +#: page.dundicheck.php:27 +#, php-format +msgid "The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one." +msgstr "Numret du försöker anvÀnda, %s, Àr för nÀrvarande tillgÀngligt frÃ¥n en av de DUNDi-vÀgarna du har konfigurerat. Du kan dÃ¥ inte anvÀnda detta nummer i ditt system. Även om vÀgkonfigurationen inte skickar detta nummer kommer inte att kunna skapa det. Om detta inte Àr ett fel mÃ¥ste du ta bort numret frÃ¥n din fjÀrr-DUNDi, avaktivera trunken i frÃ¥ga eller avaktivera denna modul för att undvika kontrollen. Annars tar du bort %s frÃ¥n ditt fjÀrrsystem innan du skapar det hÀr." + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "Inga resultat" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "Resultat frÃ¥n DUNDi-trunk: %s" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "DUNDi-uppslag" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "SlÃ¥ upp nummer:" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "SlÃ¥ upp ett annat nummer:" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "SlÃ¥ upp" + Index: /modules/branches/2.7/dundicheck/i18n/bg_BG/LC_MESSAGES/dundicheck.po =================================================================== --- /modules/branches/2.7/dundicheck/i18n/bg_BG/LC_MESSAGES/dundicheck.po (revision 7479) +++ /modules/branches/2.7/dundicheck/i18n/bg_BG/LC_MESSAGES/dundicheck.po (revision 7479) @@ -0,0 +1,66 @@ +# 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-09-28 02:52+0200\n" +"PO-Revision-Date: 2009-02-14 16:19+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:63 +msgid "DUNDi: " +msgstr "DUNDi: " + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "DUNDi ИМфПрЌацОя: %s" + +#: page.dundicheck.php:27 +#, php-format +msgid "The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one." +msgstr "НПЌера кПйтП се ПпОтвате Ўа ОзпПлзвате, %s, в ЌПЌеМта е МастрПеМ в еЎОМ Пт DUNDi ЌаршрутОте кПОтП сте кПМфОгурОралО. КатП резултат вОе Ме ЌПжете Ўа ОзпПлзвате МПЌера в тазО сОстеЌа. ДПрО кПМфОгурацОята Ма Ќаршрута Ўа Ме съвпаЎа с тПзО МПЌер вОе все пак ще бъЎете блПкОраМО Пт съзЎаваМетП Ќу. АкП тПва Ме е грешка, тПгава трябва Ўа ÐŒÐ°Ñ +Мете тПзО МПЌер Пт ПтсрещМата DUNDi МастрПйка, забраМете DUNDi въМшМата лОМОя в запОтваМетП, ОлО забраМете тПзО ЌПЎул за Ўа ОзбегМете прПверкОте. ИМаче, Ð¿Ñ€ÐµÐŒÐ°Ñ +Мете %s Пт ПтсрещМата сОстеЌа преЎО Ўа съзЎаЎете тазО." + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "Не са МаЌереМО съвпаЎеМОя" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "РезултатО Пт DUNDi въМшМО лОМОО: %s" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "DUNDi ТърсеМе" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "ТърсеМ НПЌер:" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "ТърсО Друг НПЌер:" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "ТърсО" + +#: module.xml +msgid "DUNDi Lookup Registry" +msgstr "DUNDi ТърсеМе" + Index: /modules/branches/2.7/dundicheck/i18n/zh_CN/LC_MESSAGES/dundicheck.po =================================================================== --- /modules/branches/2.7/dundicheck/i18n/zh_CN/LC_MESSAGES/dundicheck.po (revision 7440) +++ /modules/branches/2.7/dundicheck/i18n/zh_CN/LC_MESSAGES/dundicheck.po (revision 7440) @@ -0,0 +1,64 @@ +# 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-09-28 02:52+0200\n" +"PO-Revision-Date: 2009-02-01 14:46+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:63 +msgid "DUNDi: " +msgstr "DUNDi" + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "DUNDi信息%s" + +#: page.dundicheck.php:27 +#, php-format +msgid "The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one." +msgstr "䜠正尝试䜿甚的号码%s已被䜠系统䞊的å +¶äž­äž€æ¡DUNDi线路䜿甚了。因歀䜠无法圚系统䞊䜿甚歀号码。即䜿圚线路é +çœ®äž­å¹¶æ²¡æœ‰æ”Ÿè¡Œæ­€å·ç ïŒŒäœ ä¹Ÿäžèƒœåœšæ­€åˆ›å»ºå®ƒã€‚劂果这䞍是䞀䞪错误那么䜠需芁取消圚䜠的远皋DUNDi讟眮䞭对歀号码的发垃犁甚那䞪DUNDiäž­ç»§ïŒŒæˆ–è€ +犁甚歀暡块以避匀检查。吊则䜠需芁圚创建这䞪号码之前从远皋系统䞭移陀%s。" + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "未扟到匹é +é¡¹" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "从DUNDi䞭继䞊获取的结果%s" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "DUNDi查询" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "查询号码" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "查询及䞀䞪号码" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "查询" + Index: /modules/branches/2.7/dundicheck/i18n/dundicheck.pot =================================================================== --- /modules/branches/2.7/dundicheck/i18n/dundicheck.pot (revision 6871) +++ /modules/branches/2.7/dundicheck/i18n/dundicheck.pot (revision 6871) @@ -0,0 +1,65 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-28 02:52+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:63 +msgid "DUNDi: " +msgstr "" + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "" + +#: page.dundicheck.php:27 +#, php-format +msgid "" +"The number you are trying to use, %s, is currently available from one of the " +"DUNDi routes you have configured on your system. As a result you cannot use " +"this number on this system. Even if the route configuration does not pass " +"this number you will still be blocked from creating it. If this is not an " +"error, then you will have to un-publish this number on your remote DUNDi " +"setup, disable the DUNDi trunk in question, or disable this module to avoid " +"the checks. Otherwise, remove %s from the remote system before creating this " +"one." +msgstr "" + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "" Index: /modules/branches/2.7/dundicheck/i18n/it_IT/LC_MESSAGES/dundicheck.po =================================================================== --- /modules/branches/2.7/dundicheck/i18n/it_IT/LC_MESSAGES/dundicheck.po (revision 7250) +++ /modules/branches/2.7/dundicheck/i18n/it_IT/LC_MESSAGES/dundicheck.po (revision 7250) @@ -0,0 +1,54 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-28 02:52+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:63 +msgid "DUNDi: " +msgstr "DUNDi: " + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "Informazioni DUNDi: %s" + +#: page.dundicheck.php:27 +#, php-format +msgid "The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one." +msgstr "La numerazione che stai cercando di usare, %s, Ú resa disponibile da una delle rotte DUNDi che sono state configurate nel sistema. Quindi questo numerazione non può essere utilizzata su questo sistema. Anche se la configurazione della rotta non passa questa numerazione, sarà impedita la creazione. Se questo non Ú un errore, devi rimuovere la pubblicazione di questa numerazione dall'impostazione remota DUNDi, disattivare il fascio DUNDi in questione, o disattivare questo modulo per evitare i controlli. Altrimenti, rimuovi %s dal sistema remoto prima di creare questa nuova numerazione." + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "Nessun risultato trovato" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "Risultati dal fascio DUNDi: %s" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "Ricerca DUNDi" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "Numero da trovare:" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "Trova un altro numero:" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "Trova" + Index: /modules/branches/2.7/dundicheck/i18n/es_ES/LC_MESSAGES/dundicheck.po =================================================================== --- /modules/branches/2.7/dundicheck/i18n/es_ES/LC_MESSAGES/dundicheck.po (revision 7479) +++ /modules/branches/2.7/dundicheck/i18n/es_ES/LC_MESSAGES/dundicheck.po (revision 7479) @@ -0,0 +1,55 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo dundicheck module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-28 02:52+0200\n" +"PO-Revision-Date: 2009-01-22 01:15+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:63 +msgid "DUNDi: " +msgstr "DUNDi:" + +#: page.dundicheck.php:25 +#, php-format +msgid "DUNDi Information: %s" +msgstr "Información de DUNDi: %s" + +#: page.dundicheck.php:27 +#, php-format +msgid "The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one." +msgstr "" + +#: page.dundicheck.php:31 +msgid "No matches found" +msgstr "" + +#: page.dundicheck.php:34 +#, php-format +msgid "Results from DUNDi trunk: %s" +msgstr "" + +#: page.dundicheck.php:46 +#, php-format +msgid "DUNDi Lookup" +msgstr "" + +#: page.dundicheck.php:55 +msgid "Lookup Number:" +msgstr "" + +#: page.dundicheck.php:55 +msgid "Lookup Another Number:" +msgstr "" + +#: page.dundicheck.php:58 +msgid "Lookup" +msgstr "" + Index: /modules/branches/2.7/dundicheck/page.dundicheck.php =================================================================== --- /modules/branches/2.7/dundicheck/page.dundicheck.php (revision 6053) +++ /modules/branches/2.7/dundicheck/page.dundicheck.php (revision 6053) @@ -0,0 +1,67 @@ + +
+
+ +".sprintf(_("DUNDi Information: %s"),$extdisplay).""; + if ($dundiconflict == 'true') { + echo sprintf(_("The number you are trying to use, %s, is currently available from one of the DUNDi routes you have configured on your system. As a result you cannot use this number on this system. Even if the route configuration does not pass this number you will still be blocked from creating it. If this is not an error, then you will have to un-publish this number on your remote DUNDi setup, disable the DUNDi trunk in question, or disable this module to avoid the checks. Otherwise, remove %s from the remote system before creating this one."),$extdisplay,$extdisplay); + } + $list = dundicheck_lookup_all($extdisplay); + if (empty($list)) { + echo "
"._("No matches found")."
"; + } else { + foreach ($list as $map => $line) { + echo "
".sprintf(_("Results from DUNDi trunk: %s"),$map)."
"; + $output = explode("\n",$line); + unset($output[0]); + foreach ($output as $item) { + echo $item."
"; + } + } + } +?> + +".sprintf(_("DUNDi Lookup")).""; +} + +?> +
+ + + + + + + + + + + + + +
+ "> +
+
Index: /modules/branches/2.7/dundicheck/module.xml =================================================================== --- /modules/branches/2.7/dundicheck/module.xml (revision 7931) +++ /modules/branches/2.7/dundicheck/module.xml (revision 7931) @@ -0,0 +1,26 @@ + + dundicheck + DUNDi Lookup Registry + 2.6.0.0 + FreePBX + GPLv2+ + + *2.6.0.0* localizations + *2.5.0* #2918 First release + + + This module will check all configured and enabled DUNDi trunks as part of the extension registry function, and report back conflicts if + other sites have the same extensions. This does not filter against the route patterns - it will take any number being created and + report a conflict if that turnk could be used to call that number. + + tool + + DUNDi Lookup + + + 2.4.0 + + System Administration + release/2.6/dundicheck-2.6.0.0.tgz + bff79877e171914b11ed7ec76531e540 + Index: /modules/branches/2.7/dundicheck/functions.inc.php =================================================================== --- /modules/branches/2.7/dundicheck/functions.inc.php (revision 6053) +++ /modules/branches/2.7/dundicheck/functions.inc.php (revision 6053) @@ -0,0 +1,123 @@ + $num, + 'description' => $foundone + ); + } + } + + $type = isset($active_modules['customappsreg']['type'])?$active_modules['customappsreg']['type']:'tool'; + + foreach ($results as $result) { + $thisexten = $result['exten']; + $extenlist[$thisexten]['description'] = _("DUNDi: ").$result['description']; + $extenlist[$thisexten]['status'] = 'INUSE'; + $extenlist[$thisexten]['edit_url'] = 'config.php?display=dundicheck&dundiconflict=true&extdisplay='.urlencode($thisexten); + } + return $extenlist; + } else { + return array(); + } +} + +function dundicheck_lookup($num, $map) { + global $astman; + if ($astman) { + foreach ($map as $lookup) { + $response = $astman->send_request('Command',array('Command'=>"dundi lookup $num@$lookup")); + if (strstr($response['data'],$num.' (EXISTS)')) { + $parser = explode("@",$response['data']); + $parser = explode("\n",$parser[1]); + return $parser[0]; + } + } + // if sound would have returned so return null + return null; + } +} + +function dundicheck_lookup_all($num) { + global $astman; + + $dundimap = array(); + + $trunklist = core_trunks_list(true); + if (is_array($trunklist)) { + foreach ($trunklist as $trunkprops) { + if (trim($trunkprops['value']) == 'on') { + // value of on is disabled and for zap we don't create a context + continue; + } + switch ($trunkprops['tech']) { + case 'DUNDI': + $dundimap[] = $trunkprops['name']; + break; + default: + } + } + } + + $results = array(); + if ($astman) { + foreach ($dundimap as $lookup) { + $response = $astman->send_request('Command',array('Command'=>"dundi lookup $num@$lookup")); + if (strstr($response['data'],$num.' (EXISTS)')) { + $results[$lookup] = $response['data']; + } + } + // if sound would have returned so return null + return $results; + } +} + +?> Index: /modules/branches/2.7/phpinfo/i18n/bg_BG/LC_MESSAGES/phpinfo.po =================================================================== --- /modules/branches/2.7/phpinfo/i18n/bg_BG/LC_MESSAGES/phpinfo.po (revision 7273) +++ /modules/branches/2.7/phpinfo/i18n/bg_BG/LC_MESSAGES/phpinfo.po (revision 7273) @@ -0,0 +1,24 @@ +# 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-09-27 19:11+0200\n" +"PO-Revision-Date: 2008-11-08 23:49+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" + +#: module.xml +msgid "PHP Info" +msgstr "PHP ИМфПрЌацОя" + Index: /modules/branches/2.7/phpinfo/module.xml =================================================================== --- /modules/branches/2.7/phpinfo/module.xml (revision 7946) +++ /modules/branches/2.7/phpinfo/module.xml (revision 7946) @@ -0,0 +1,20 @@ + + phpinfo + PHP Info + 2.6.0.0 + FreePBX + GPLv2+ + + *2.6.0.0* misc + *2.4.0* bump for 2.4 + *1.1.0.1* bump for rc1 + *1.1.0* #1442 remove access problem and iframe + + tool + System Administration + + PHP Info + + release/2.6/phpinfo-2.6.0.0.tgz + c2d7b9dab17d8be554b2770f7ce13e1e + Index: /modules/branches/2.7/phpinfo/page.phpinfo.php =================================================================== --- /modules/branches/2.7/phpinfo/page.phpinfo.php (revision 4550) +++ /modules/branches/2.7/phpinfo/page.phpinfo.php (revision 4550) @@ -0,0 +1,7 @@ +
+
+

+ +
Index: /modules/branches/2.7/paging/i18n/sv_SE/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/sv_SE/LC_MESSAGES/paging.po (revision 7332) +++ /modules/branches/2.7/paging/i18n/sv_SE/LC_MESSAGES/paging.po (revision 7332) @@ -0,0 +1,156 @@ +# 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 paging\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-27 16:24+0200\n" +"PO-Revision-Date: 2008-09-27 17:37+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:391 +msgid "Page Group: " +msgstr "Anropsgrupp: " + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "Exkludera" + +#: functions.inc.php:552 +msgid "Include" +msgstr "Inkludera" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "Standard gruppinkludering" + +#: functions.inc.php:575 +#: page.paging.php:179 +msgid "Default Page Group" +msgstr "Standard anropsgrupp" + +#: functions.inc.php:575 +msgid "You can include or exclude this extension/device from being part of the default page group when creating or editing." +msgstr "Du kan inkludera eller exkludera denna anknytning/enhet från att vara med i standard anropsgruppen nÀr du skapar eller rediderar den" + +#: install.php:4 +msgid "Intercom prefix" +msgstr "Prefix för snabbtelefon" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "Tillåt snabbtelefon" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "Förhindra snabbtelefon" + +#: page.paging.php:79 +#: page.paging.php:85 +msgid "Disabled" +msgstr "Avaktiverad" + +#: page.paging.php:90 +msgid "This module is for specific phones that are capable of Paging or Intercom. This section is for configuring group paging, intercom is configured through Feature Codes. Intercom must be enabled on a handset before it will allow incoming calls. It is possible to restrict incoming intercom calls to specific extensions only, or to allow intercom calls from all extensions but explicitly deny from specific extensions.

This module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM , and possibly other SIP phones (not ATAs). Any phone that is always set to auto-answer should also work (such as the console extension if configured)." +msgstr "Denna modul Àr för specifika telefoner som klarar av snabbtelefoni. Denna sektion anvÀnds för att konfigurera anropsgrupper, sjÀlva snabbtelefonin konfigureras genom Funktionskoder. Snabbtelefonifunktionen måste aktiveras på telefonen först för att detta ska fungera. Det Àr möjligt att konfigurera snabbtelefoni för specifika anknytningar eller genom att tillåta snabbtelefoni till alla anknytningar förutom vissa anknytningar.

Denna modul ska fungera med Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM och troligtvis andra SIP-telefoner (inga s.k. ATA-boxar). Telefoner med funktionen auto-answer bör också fungera." + +#: page.paging.php:93 +#, php-format +msgid "Example usage:
%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally enabled)
" +msgstr "T.ex.
%snnn:Anropa anknytning nnn
%s:Tillåt alla anknytningar att anropa dig (förutom dom du specifikt förbjuder)
%snnn:Tillåt anknynting nnn att anropa dig (Àven om du förbjuder andra)
%s:Förbjud alla anknytningar att anropa dig (förutom dom du tillåtit)
%snnn:Förbjud anknytning nnn att anropa dig (Àven om du generellt tillåter alla)
" + +#: page.paging.php:95 +msgid "Intercom mode is currently disabled, it can be enabled in the Feature Codes Panel." +msgstr "Snabbtelefonanrop Àr för nÀrvarande avaktiverat, du kan aktivera detta i Funktionskoder." + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "Ta bort grupp %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "Konfliktande anknytningar" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "Redigera anropsgrupp" + +#: page.paging.php:141 +#: page.paging.php:228 +msgid "Add Paging Group" +msgstr "LÀgg till anropsgrupp" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "Anknytningsnummer för grupp" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "Numret att anvÀnda för att anropa denna grupp" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "Beskrivning för gruppen" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "Skriv en in kortfattad beskrivning för denna grupp." + +#: page.paging.php:150 +msgid "Device List:" +msgstr "Anknytningslista" + +#: page.paging.php:150 +msgid "Select Device(s) to page. This is the phone that should be paged. In most installations, this is the same as the Extension. If you are configured to use \"Users & Devices\" this is the actual Device and not the User. Use Ctrl key to select multiple.." +msgstr "VÀlj anknytning(ar) du vill anropa. Detta kommer att ske till telefonen. I de flesta fall Àr detta samma som anknytningen. Om du anvÀnder konfigurationen \"AnvÀndare & Enheter\" kommer detta att vara enheten och inte anvÀndaren. AnvÀnd Ctrl-tangenten för att markera flera i listan." + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "Forcera om det Àr upptaget" + +#: page.paging.php:172 +msgid "If selected, will not check if the device is in use before paging it. This means conversations can be interrupted by a page (depending on how the device handles it). This is useful for \"emergency\" paging groups " +msgstr "Om detta Àr valt, och telefonen Àr upptagen, kommer pågående samtal att avbrytas för anrop (beroende på om telefonen stödjer detta). Detta Àr anvÀndbart för t.ex. anropsgruppen \"nödlÀge\"." + +#: page.paging.php:175 +msgid "Duplex" +msgstr "TvåvÀgs-samtal" + +#: page.paging.php:176 +msgid "Paging is typically one way for announcements only. Checking this will make the paging duplex, allowing all phones in the paging group to be able to talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "Anrop via grupper Àr normalt för envÀgs-meddelande. Om detta vÀljs kommer anropet att vara tvåvÀgs, alla telefoner i anropsgruppen kan prata och höras av varandra. Kan med fördel anvÀndas för \"omedelbar konferens\"." + +#: page.paging.php:180 +msgid "Each PBX system can have a single Default Page Group. If specified, extensions can be automatically added (or removed) from this group in the Extensions (or Devices) tab.
Making this group the default will uncheck the option from the current default group if specified." +msgstr "Varje instans av FreePBX kan ha en standard anropsgrupp. Om denna Àr angiven, kan anknytningar automatiskt lÀggas till (eller tas bort från) denna grupp i Anknytningar (eller Enheter)
Om denna grupp sÀtts som standard kommer den grupp som tidigare var standard att avmarkeras." + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "Skriv in en giltig anknytning" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "VÀlj minst en anknytning" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "Anropsgrupp" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "Snabbtelefon" + Index: /modules/branches/2.7/paging/i18n/bg_BG/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/bg_BG/LC_MESSAGES/paging.po (revision 7332) +++ /modules/branches/2.7/paging/i18n/bg_BG/LC_MESSAGES/paging.po (revision 7332) @@ -0,0 +1,160 @@ +# 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-09-27 16:24+0200\n" +"PO-Revision-Date: 2008-11-04 16:33+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:391 +msgid "Page Group: " +msgstr "Група Ма ТърсеМе: " + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "ИзключО" + +#: functions.inc.php:552 +msgid "Include" +msgstr "ВключО" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "ВключваМе Ма Група ПП-ППЎразбОраМе" + +#: functions.inc.php:575 +#: page.paging.php:179 +msgid "Default Page Group" +msgstr "Група ПП-ППЎразбОраМе за ТърсеМе" + +#: functions.inc.php:575 +msgid "You can include or exclude this extension/device from being part of the default page group when creating or editing." +msgstr "МПжете Ўа включОте ОлО ОзключОте тПзО пПтребОтел/вътрешМа лОМОя Пт тПва Ўа бъЎе част Пт групата пП-пПЎразбОраМе за търсеМе. " + +#: install.php:4 +msgid "Intercom prefix" +msgstr "ИМтеркПЌ ПрефОкс" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "РазрешО ППтребОтелскО ИМтеркПЌ" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "ЗабраМО ППтребОтелскО ИМтеркПЌ" + +#: page.paging.php:79 +#: page.paging.php:85 +msgid "Disabled" +msgstr "ЗабраМеМ" + +#: page.paging.php:90 +msgid "This module is for specific phones that are capable of Paging or Intercom. This section is for configuring group paging, intercom is configured through Feature Codes. Intercom must be enabled on a handset before it will allow incoming calls. It is possible to restrict incoming intercom calls to specific extensions only, or to allow intercom calls from all extensions but explicitly deny from specific extensions.

This module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM , and possibly other SIP phones (not ATAs). Any phone that is always set to auto-answer should also work (such as the console extension if configured)." +msgstr "ТПзО ЌПЎул е за ПпреЎелеМО телефПММО апаратО, кПОтП пПЎЎържат ТърсеМе ОлО ИМтеркПЌ. ТПва ЌеМю е за МастрПйка Ма групО за търсеМе, ОМтеркПЌа се актОвОра в СпецОалМО КПЎПве. ИМтеркПЌа трябва Ўа е разрешеМ в телефПМа преЎО Ўа ЌПже Ўа прОеЌа Ð²Ñ +ПЎящО ПбажЎаМОя. ВъзЌПжМП е Ўа се ПграМОчат Ð²Ñ +ПЎящОте ОМтеркПЌ ПбажЎаМОя саЌП Пт ПпреЎелеМО вътрешМО лОМОО, ОлО Ўа се разрешат ОМтеркПЌ ПбажЎаМОя Пт всОчкО вътрешМО лОМОО, МП ОзрОчМП Ўа се забраМят за МякПО вътрешМО лОМОО.

ТПзО ЌПЎул бО трябвалП Ўа рабПтО с Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM О евеМтуалМП с ЎругО SIP телефПМО (без ATA). ВсекО телефПМ МастрПеМ Ўа ПтгПваря автПЌатОчМП Ма ПбажЎаМОята същП бО трябвалП Ўа рабПтО." + +#: page.paging.php:93 +#, php-format +msgid "Example usage:
%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally enabled)
" +msgstr "ПрОЌер за ОзпПлзваМе:
%snnn:ИМтеркПЌ с вътрешМа лОМОя nnn
%s:Разрешава ОМтеркПЌ къЌ вас Пт всОчкО вътрешМО лОМОО (с ОзключеМОе Ма ОзрОчМП забраМеМОте)
%snnn:ИзрОчМП разрешява вътрешМа лОМОя nnn за ОМтеркПЌ с вас (ЎПрО О ЎругОте Ўа са забраМеМО)
%s:ЗабраМява ОМтеркПЌ къЌ вас Пт всОчкО вътрешМО лОМОО (с ОзключеМОе Ма ОзрОчМП разрешеМОте)
%snnn:ИзрОчМП забраМява вътрешМа лОМОя nnn за ОМтеркПЌ с вас (ЎПрО О ЎругОте Ўа са разрешеМО)
" + +#: page.paging.php:95 +msgid "Intercom mode is currently disabled, it can be enabled in the Feature Codes Panel." +msgstr "РежОЌ ИМтеркПЌ за ЌПЌеМта е забраМеМ, ЌПже Ўа се актОвОра в ЌеМю СпецОалМО КПЎПве." + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "ИзтрОй Група %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "ВътрешМО ЛОМОО в КПМфлОкт" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "РеЎактОрай Група Ма ТърсеМе" + +#: page.paging.php:141 +#: page.paging.php:228 +msgid "Add Paging Group" +msgstr "ДПбавО Група Ма ТърсеМе" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "ВътрешеМ НПЌер за ТърсеМе" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "НПЌерът кПйтП пПтребОтелОте ще МабОрат за Ўа търсят тазО група" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "ОпОсаМОе за Група Ма ТърсеМе" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "НаОЌеМПваМОе за тазО Група Ма ТърсеМе" + +#: page.paging.php:150 +msgid "Device List:" +msgstr "СпОсък с УстрПйства:" + +#: page.paging.php:150 +msgid "Select Device(s) to page. This is the phone that should be paged. In most installations, this is the same as the Extension. If you are configured to use \"Users & Devices\" this is the actual Device and not the User. Use Ctrl key to select multiple.." +msgstr "Изберете УстрПйствП(а) за търсеМе. ТПва е телефПМът кПйтП ще бъЎе търсеМ. В пПвечетП ОМсталацОО съвпаЎа с ВътрешМата ЛОМОя. АкП ОзпПлзвате режОЌ \"ППтребОтелО О УстрПйства\" е устрПйствПтП, а Ме пПтребОтеля. ИзпПлзвайте Ctrl за Ўа Озберете МякПлкП." + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "Не прПверявай за заетП" + +#: page.paging.php:172 +msgid "If selected, will not check if the device is in use before paging it. This means conversations can be interrupted by a page (depending on how the device handles it). This is useful for \"emergency\" paging groups " +msgstr "АкП е ЌаркОраМП, МяЌа Ўа се прПверява ЎалО устрПйствП се ОзпПлзва преЎО Ўа гП пПтърсО. ТПва ПзМачава, че разгПвПра ЌПже Ўа бъЎе прекъсМат Пт търсеМетП (в завОсОЌПст Пт тПва как устрПйствПтП ще гП прОеЌе). ППлезМП е за \"спешМО случаО\" група за търсеМе." + +#: page.paging.php:175 +msgid "Duplex" +msgstr "ДвупПсПчМП" + +#: page.paging.php:176 +msgid "Paging is typically one way for announcements only. Checking this will make the paging duplex, allowing all phones in the paging group to be able to talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "ТърсеМетП пП прОМцОп е еЎМПстраММП О е саЌП за съПбщеМОя. МаркОрайкО тПва ще МаправОте търсеМетП ЎвупПсПчМП, пПзвПлявайкО Ма всОчкО телефПМО в групата Ўа ЌПгат Ўа гПвПрят О Ўа бъЎат чуваМО Пт всОчкО. пПлучава се МещП катП \"спешМа кПМфереМцОя\"" + +#: page.paging.php:180 +msgid "Each PBX system can have a single Default Page Group. If specified, extensions can be automatically added (or removed) from this group in the Extensions (or Devices) tab.
Making this group the default will uncheck the option from the current default group if specified." +msgstr "Всяка телефПММа цеМтрала ЌПже Ўа ОЌа пП-еЎМа Група ПП-ППЎразбОраМе за ТърсеМе. АкП е ПпреЎелеМа, вътрешМОте лООО ЌПгат автПЌатОчМП Ўа бъЎат ЎПбавяМО (ОлО Ð¿Ñ€ÐµÐŒÐ°Ñ +ваМО) Пт тазО група пП-пПЎразбОраМе в ЌеМю ВътрешМО ЛОМОО (ОлО ППтребОтелО).
ОпреЎеляМетП Ма тазО група Ўа бъЎе пП-пПЎразбОраМе ще разЌаркОра ПпцОята Пт текущата група пП-пПЎразбОраМе." + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "МПля въвеЎете правОлеМ МПЌер Ма ВътрешеМ НПЌер за ТърсеМе." + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "МПля Озберете пПМе еЎМа вътрешМа лОМОя" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "Група Ма ТърсеМе" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "ТърсеМе О ИМтеркПЌ" + Index: /modules/branches/2.7/paging/i18n/he_IL/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/he_IL/LC_MESSAGES/paging.po (revision 3441) +++ /modules/branches/2.7/paging/i18n/he_IL/LC_MESSAGES/paging.po (revision 3441) @@ -0,0 +1,81 @@ +# Hebrew version for Paging FreePBX Module. +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-10-17 17:20+0300\n" +"PO-Revision-Date: 2006-10-17 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:23 +msgid "" +"There is a problem with install.sql, cannot re-create databases. Contact " +"support\n" +msgstr "ישנה בעייה עם install.sql, לא יכול לישו׹ מחדש את מסדי הנתונים. שו׹ קשך עם תמיכה\n" + +#: functions.inc.php:26 +msgid "Database was deleted! Recreated successfully.
\n" +msgstr "מסד הנתונים נמחק! נוש׹ מחדש בהשלחה.
\n" + +#: page.paging.php:40 +msgid "Paging Group Deleted
\n" +msgstr "קבו׊ת האיתות נמחקה
\n" + +#: page.paging.php:49 +msgid "
Paging Group $pagenbr Modified
\n" +msgstr "
קבו׊ת האיתות $pagebr שונתה
\n" + +#: page.paging.php:59 +msgid "" +"This module is for specific phones that are capable of Paging or Intercom. " +"This section is for configuring group paging, intercom is configured through " +"Feature Codes.

The current list of supported " +"phones is GXP-2000 with firmware 1.0.13 or higher, Snom phones with 'recent' " +"firmware, Polycom phones (provisioned to auto answer), Linksys/Sipura " +"phones, and a few various others. Any phone that is always set to auto-" +"answer should also work (such as the console extension if configured)." +msgstr "מודול זה הוא עבוך טל׀ונים התומכים באיתות או אינט׹קום. חלק זה נועד עבוך קביעת ת׊וךה לאיתות קבו׊ות, אינט׹קום מוגד׹ ד׹ך קודי תכונות.

הךשימה הנוכחית של הטל׀ונים הנתמכים היא GXP-2000 עם קושחא 1.0.13 או חדשה יותך, טל׀ונים של Snom עם קושחא 'עדכנית', טל׀ונים של ׀וליקום (שמוגדךים לענות באו׀ן אוטומטי), טל׀ונים של לינקסיס/סי׀וךה, ומעט אח׹ים. כל טל׀ון שמוגדך לענות תמיד באו׀ן אוטומטי גם יעבוד )כמו למשל האךכת קונסולה אם מוגדךת)." + +#: page.paging.php:71 +msgid "Delete Group" +msgstr "מחק קבושה" + +#: page.paging.php:81 +msgid "Modify Paging Group" +msgstr "שנה קבו׊ת איתות" + +#: page.paging.php:81 page.paging.php:142 +msgid "Add Paging Group" +msgstr "הוסף קבו׊ת איתות" + +#: page.paging.php:82 +msgid "Paging Extension" +msgstr "שלוחת איתות" + +#: page.paging.php:83 +msgid "The number users will dial to page this group" +msgstr "המס׀ך שמשתמשים יחייגו כדי לאותת לקבושה זאת" + +#: page.paging.php:86 +msgid "extension list:" +msgstr "ךשימת השלוחות:" + +#: page.paging.php:86 +msgid "List extensions to page, one per line." +msgstr "ךשימת השלוחות שיש לאותת להן, אחת בכל שוךה." + +#: page.paging.php:151 +msgid "Page Group" +msgstr "קבו׊ת איתות" + +#: page.paging.php:154 +msgid "Paging and Intercom" +msgstr "איתות ואינט׹קום" Index: /modules/branches/2.7/paging/i18n/zh_CN/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/zh_CN/LC_MESSAGES/paging.po (revision 7440) +++ /modules/branches/2.7/paging/i18n/zh_CN/LC_MESSAGES/paging.po (revision 7440) @@ -0,0 +1,188 @@ +# 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-09-27 16:24+0200\n" +"PO-Revision-Date: 2009-01-31 13:31+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:391 +msgid "Page Group: " +msgstr "䌠呌组" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "排陀" + +#: functions.inc.php:552 +msgid "Include" +msgstr "åŒ +括" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "åŒ +含圚默讀䌠呌组䞭" + +#: functions.inc.php:575 +#: page.paging.php:179 +msgid "Default Page Group" +msgstr "默讀䌠呌组" + +#: functions.inc.php:575 +msgid "You can include or exclude this extension/device from being part of the default page group when creating or editing." +msgstr "åœšåˆ›å»ºæˆ–è€ +猖蟑默讀䌠呌组时䜠可以将歀分机/è®Ÿå€‡åŒ +含圚里面或从å +¶äž­æŽ’陀" + +#: install.php:4 +msgid "Intercom prefix" +msgstr "盎接对讲前猀" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "å +è®žç›ŽæŽ¥å¯¹è®²çš„甚户" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "犁止盎接对讲的甚户" + +#: page.paging.php:79 +#: page.paging.php:85 +msgid "Disabled" +msgstr "进甚" + +#: page.paging.php:90 +msgid "This module is for specific phones that are capable of Paging or Intercom. This section is for configuring group paging, intercom is configured through Feature Codes. Intercom must be enabled on a handset before it will allow incoming calls. It is possible to restrict incoming intercom calls to specific extensions only, or to allow intercom calls from all extensions but explicitly deny from specific extensions.

This module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM , and possibly other SIP phones (not ATAs). Any phone that is always set to auto-answer should also work (such as the console extension if configured)." +msgstr "这䞪暡块是甚于那些有集䜓䌠呌和盎接对讲对讲功胜的电话的。这䞀小节䞻芁甚来é +çœ®é›†äœ“䌠呌盎接对讲是通过功胜代码é +çœ®çš„。芁䜿甚盎接对讲圚å +è®žæ¥ç”µä¹‹å‰ïŒŒå¿ +é¡»å +ˆå¯ç”šç”µè¯äžŠçš„ç›ŽæŽ¥å¯¹è®²åŠŸèƒœã€‚å¯ä»¥å°†æ‰“è¿›æ¥çš„ç›ŽæŽ¥å¯¹è®²å‘Œå«é™åˆ¶åœšæŒ‡å®šçš„å‡ äžªåˆ†æœºèŒƒå›Žå† +ïŒŒæˆ–è€ +也可以å +è®žæ‰€æœ‰çš„分机进行盎接对讲只星匏的犁止å +¶äž­çš„几䞪分机。

这䞪暡块支持Aastra、Grandstream、Linksys/Sipura、Mitel、Polycom、SNOM的产品也可胜支持å +¶ä»–非ATA的SIP电话。任䜕电话讟眮成自劚接听的电话应该也可以工䜜比劂é +çœ®å¥œçš„æŽ§åˆ¶å°åˆ†æœºïŒ‰ã€‚" + +#: page.paging.php:93 +#, php-format +msgid "Example usage:
%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally enabled)
" +msgstr "䜿甚范䟋
%snnn:盎接对讲分机号 nnn
%s:å +è®žæ‰€æœ‰åˆ†æœºåŒäœ ç›ŽæŽ¥å¯¹è®²ïŒˆé™€äº†é‚£äº›æ˜Žç¡®æ‹’绝的分机
%snnn:明确的å +è®žåˆ†æœº nnn 䞎䜠盎接对讲即䜿讟眮了拒绝所有分机䞎䜠盎接对讲
%s:犁止所有的分机䞎䜠盎接对讲陀了那些明确å +è®žçš„以倖
%snnn:明确拒绝分机 nnn 䞎䜠盎接对讲即䜿讟眮了å +è®žæ‰€æœ‰åˆ†æœºäžŽäœ ç›ŽæŽ¥å¯¹è®²ïŒ‰
" + +#: page.paging.php:95 +msgid "Intercom mode is currently disabled, it can be enabled in the Feature Codes Panel." +msgstr "盎接对讲暡匏目前被犁甚可以圚功胜代码面版䞭启甚。" + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "删陀䌠呌组 %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "分机冲突" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "曎改䌠呌组" + +#: page.paging.php:141 +#: page.paging.php:228 +msgid "Add Paging Group" +msgstr "添加䌠呌组" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "䌠呌组的分机号" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "这䞪号码甚来代衚歀集䜓䌠呌组" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "䌠呌组描述" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "䞺这䞪䌠呌组讟眮䞀䞪描述性的标题" + +#: page.paging.php:150 +msgid "Device List:" +msgstr "讟倇列衚" + +#: page.paging.php:150 +msgid "Select Device(s) to page. This is the phone that should be paged. In most installations, this is the same as the Extension. If you are configured to use \"Users & Devices\" this is the acutal Device and not the User. Use Ctrl key to select multiple.." +msgstr "é€‰æ‹©é›†äœ“äŒ å‘Œçš„è®Ÿå€‡ïŒŒä»–æ˜¯èŠç”šäºŽé›†äœ“äŒ å‘Œçš„ç”µè¯ã€‚åœšå€§å€šæ•°æƒ +况䞋应该䞎分机䞀样。劂果䜠é +çœ®çš„æ˜¯â€œç”šæˆ·å’Œè®Ÿå€‡â€ïŒŒè¿™å°±æ˜¯å®žé™ +䜿甚的讟倇而䞍是甚户。可以䜿甚Ctrl键来选择倚项。。。" + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "无论对方是吊占线郜区制䌠呌" + +#: page.paging.php:172 +msgid "If selected, will not check if the device is in use before paging it. This means conversations can be interrupted by a page (depending on how the device handles it). This is useful for \"emergency\" paging groups " +msgstr "åŠ‚æžœé€‰äž­äº†è¿™é¡¹ïŒŒäŒ å‘Œæ—¶äžäŒšæ£€æµ‹è®Ÿå€‡æ˜¯åŠæ­£åœšäœ¿ç”šã€‚è¿™æ„å‘³ç€ïŒŒé€šè¯å¯èƒœäŒšè¢«äŒ å‘Œæ‰“æ–­ïŒˆèŠçœ‹è®Ÿå€‡æ€Žä¹ˆå€„ç†è¿™ç§æƒ +况。这对于“玧急”䌠呌组埈有甚。" + +#: page.paging.php:175 +msgid "Duplex" +msgstr "双工" + +#: page.paging.php:176 +msgid "Paging is typically one way for announcements only. Checking this will make the paging duplex, allowing all phones in the paging group to be able to talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "集䜓䌠呌䞀般郜是单向的倚甚于通知å +¬å‘Šã€‚钩选歀项可以让䌠呌成䞺双向的双工以让圚组䞭的所有电话郜可以向所有å +¶ä»–电话发蚀。这䞪功胜看起来有些“即时的电话䌚议”的意味。" + +#: page.paging.php:180 +msgid "Each PBX system can have a single Default Page Group. If specified, extensions can be automatically added (or removed) from this group in the Extensions (or Devices) tab.
Making this group the default will uncheck the option from the current default group if specified." +msgstr "每䞀䞪PBX系统可以有䞀䞪单独的默讀集䜓䌠呌小组。劂果事å +ˆæŒ‡å®šå¥œïŒŒæŸäº›åˆ†æœºå¯ä»¥è‡ªåŠšçš„è¢«åŠ å +¥åˆ°ïŒˆæˆ–从å +¶äž­åˆ é™€ïŒ‰è¿™äžªå°ç»„的分机或讟倇标筟。
劂果把这䞪小组讟眮成默讀小组原来的默讀小组就䞍再成䞺默讀小组自然它圚这䞪项目䞊的钩就没有了。" + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "请蟓å +¥äž€äžªæœ‰æ•ˆçš„集䜓䌠呌分机" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "请选择至少䞀䞪分机" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "集䜓䌠呌组" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "集䜓䌠呌和盎接对讲" + Index: /modules/branches/2.7/paging/i18n/paging.pot =================================================================== --- /modules/branches/2.7/paging/i18n/paging.pot (revision 7332) +++ /modules/branches/2.7/paging/i18n/paging.pot (revision 7332) @@ -0,0 +1,188 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-27 16:24+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:391 +msgid "Page Group: " +msgstr "" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "" + +#: functions.inc.php:552 +msgid "Include" +msgstr "" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "" + +#: functions.inc.php:575 page.paging.php:179 +msgid "Default Page Group" +msgstr "" + +#: functions.inc.php:575 +msgid "" +"You can include or exclude this extension/device from being part of the " +"default page group when creating or editing." +msgstr "" + +#: install.php:4 +msgid "Intercom prefix" +msgstr "" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "" + +#: page.paging.php:79 page.paging.php:85 +msgid "Disabled" +msgstr "" + +#: page.paging.php:90 +msgid "" +"This module is for specific phones that are capable of Paging or Intercom. " +"This section is for configuring group paging, intercom is configured through " +"Feature Codes. Intercom must be enabled on a handset before " +"it will allow incoming calls. It is possible to restrict incoming intercom " +"calls to specific extensions only, or to allow intercom calls from all " +"extensions but explicitly deny from specific extensions.

This " +"module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, " +"SNOM , and possibly other SIP phones (not ATAs). Any phone that is always " +"set to auto-answer should also work (such as the console extension if " +"configured)." +msgstr "" + +#: page.paging.php:93 +#, php-format +msgid "" +"Example usage:
%snnn:Intercom " +"extension nnn
%s:Enable all " +"extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to " +"intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those " +"explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally " +"enabled)
" +msgstr "" + +#: page.paging.php:95 +msgid "" +"Intercom mode is currently disabled, it can be enabled in the Feature Codes " +"Panel." +msgstr "" + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "" + +#: page.paging.php:141 page.paging.php:228 +msgid "Add Paging Group" +msgstr "" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "" + +#: page.paging.php:150 +msgid "Device List:" +msgstr "" + +#: page.paging.php:150 +msgid "" +"Select Device(s) to page. This is the phone that should be paged. In most " +"installations, this is the same as the Extension. If you are configured to " +"use \"Users & Devices\" this is the actual Device and not the User. Use " +"Ctrl key to select multiple.." +msgstr "" + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "" + +#: page.paging.php:172 +msgid "" +"If selected, will not check if the device is in use before paging it. This " +"means conversations can be interrupted by a page (depending on how the " +"device handles it). This is useful for \"emergency\" paging groups " +msgstr "" + +#: page.paging.php:175 +msgid "Duplex" +msgstr "" + +#: page.paging.php:176 +msgid "" +"Paging is typically one way for announcements only. Checking this will make " +"the paging duplex, allowing all phones in the paging group to be able to " +"talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "" + +#: page.paging.php:180 +msgid "" +"Each PBX system can have a single Default Page Group. If specified, " +"extensions can be automatically added (or removed) from this group in the " +"Extensions (or Devices) tab.
Making this group the default will uncheck " +"the option from the current default group if specified." +msgstr "" + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "" Index: /modules/branches/2.7/paging/i18n/it_IT/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/it_IT/LC_MESSAGES/paging.po (revision 7332) +++ /modules/branches/2.7/paging/i18n/it_IT/LC_MESSAGES/paging.po (revision 7332) @@ -0,0 +1,177 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-27 16:24+0200\n" +"PO-Revision-Date: 2008-11-06 14:52+0100\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:391 +msgid "Page Group: " +msgstr "Gruppo Page:" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "Escludi" + +#: functions.inc.php:552 +msgid "Include" +msgstr "Includi" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "Gruppo Page Predefinito" + +#: functions.inc.php:575 +#: page.paging.php:179 +msgid "Default Page Group" +msgstr "Gruppo Page Predefinito" + +#: functions.inc.php:575 +msgid "You can include or exclude this extension/device from being part of the default page group when creating or editing." +msgstr "Puoi includere o escludere questo interno/apparato dal far parte del gruppo page predefinito quando si crea o modifica." + +#: install.php:4 +msgid "Intercom prefix" +msgstr "Prefisso Intercom" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "Permette Intercom" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "Non permette Intercom" + +#: page.paging.php:79 +#: page.paging.php:85 +msgid "Disabled" +msgstr "Disattivato" + +#: page.paging.php:90 +msgid "This module is for specific phones that are capable of Paging or Intercom. This section is for configuring group paging, intercom is configured through Feature Codes. Intercom must be enabled on a handset before it will allow incoming calls. It is possible to restrict incoming intercom calls to specific extensions only, or to allow intercom calls from all extensions but explicitly deny from specific extensions.

This module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM , and possibly other SIP phones (not ATAs). Any phone that is always set to auto-answer should also work (such as the console extension if configured)." +msgstr "Questo modulo Ú valido per i telefoni che sono in grado di utilizzare il Paging o l'Intercom. Questa sezione serve a configurare il gruppo Page, l'intercom si può configurare attraverso i Codici Servizi. L'Intercom deve essere abilitato nell'apparato prima di poter accettare le chiamate in arrivo. E' possibile restringere le chiamate intercom ad interni specifici, o permettere le chiamate intercom da tutti gli interni e negare in maniera esplicita solo alcuni interni.

Al momento sono supportati i telefoni Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, Snom, Thomson e forse altri telefoni a standard SIP (non ATA). Tutti i telefoni che hanno comunque la possibilità di utilizzare l'auto-risposta dovrebbero funzionare (come anche la console se configurata)." + +#: page.paging.php:93 +#, php-format +msgid "Example usage:
%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally enabled)
" +msgstr "Esempi di utilizzo:
%snnn:Chiama in Intercom l'interno nnn
%s:Permette a tutti di chiamare il proprio interno tramite intercom (eccetto quelli negati in maniera esplicita)
%snnn:Permette in maniera esplicita a nnn di poter chiamare il proprio interno tramite intercom (anche se tutti gli altri sono disabilitati)
%s:Nega a tutti di poter chiamare tramite intercom il proprio interno (eccetto quelli abilitati in maniera esplicita)
%snnn:Nega a nnn di poter chiamare tramite intercom il proprio interno (anche se in generale abilitato)
" + +#: page.paging.php:95 +msgid "Intercom mode is currently disabled, it can be enabled in the Feature Codes Panel." +msgstr "La modalità Intercom in questo momento Ú disabilitata, può essere attivata tramite il Pannello Codici Servizi." + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "Elimina Gruppo %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "Interni in conflitto" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "Modifica Gruppo Paging" + +#: page.paging.php:141 +#: page.paging.php:228 +msgid "Add Paging Group" +msgstr "Aggiungi Gruppo Paging" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "Interno Paging" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "Il numero che gli utenti dovranno chiamare per effettuare il page su questo gruppo" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "Descrizione Gruppo" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "Inserire una descrizione per questo Gruppo Page." + +#: page.paging.php:150 +msgid "Device List:" +msgstr "Lista Apparati:" + +#: page.paging.php:150 +msgid "Select Device(s) to page. This is the phone that should be paged. In most installations, this is the same as the Extension. If you are configured to use \"Users & Devices\" this is the actual Device and not the User. Use Ctrl key to select multiple.." +msgstr "Selezionare gli Apparati da includere nel gruppo Page. In generale l'apparato corrisponde all'Interno. Se si utilizza la modalità \"Utenti & Apparati\" (Users & Devices), questo dovrà essere il numero dell'apparato. Utilizzare il tasto Ctrl per selezioni multiple." + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "Forza se occupato" + +#: page.paging.php:172 +msgid "If selected, will not check if the device is in use before paging it. This means conversations can be interrupted by a page (depending on how the device handles it). This is useful for \"emergency\" paging groups " +msgstr "Se selezionato, non verrà controllato se gli apparati sono in uso. Questo significa che una conversazione potrebbe interrompersi durante una chiamata page (dipende in che modo l'apparato gestisce la situazione). Questo Ú utile per gruppi page di \"emergenza\"." + +#: page.paging.php:175 +msgid "Duplex" +msgstr "Duplex" + +#: page.paging.php:176 +msgid "Paging is typically one way for announcements only. Checking this will make the paging duplex, allowing all phones in the paging group to be able to talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "Il Paging di solito Ú con l'audio solo andata, utilizzato per gli annunci. Selezionando questa opzione il paging sarà in modalità duplex, permettendo a tutti i telefoni del gruppo di parlare tra loro. Come se fosse una \"conferenza instantanea\"" + +#: page.paging.php:180 +msgid "Each PBX system can have a single Default Page Group. If specified, extensions can be automatically added (or removed) from this group in the Extensions (or Devices) tab.
Making this group the default will uncheck the option from the current default group if specified." +msgstr "Ogni sistema PBX puo' avere un singolo Gruppo Page Predefinito. Se specificato, gli interni possono essere automaticamente aggiunti (o rimossi) da questo gruppo.
Impostando questo gruppo come predefinito verrà rimossa l'opzione dal gruppo corrente predefinito se esiste." + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "Prego immettere un Interno Paging valido" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "Prego selezionare almeno un interno" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "Gruppo Page" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "Paging e Intercom" + +#~ msgid "" +#~ "There is a problem with install.sql, cannot re-create databases. Contact " +#~ "support\n" +#~ msgstr "" +#~ "C'Ú un problema con install.sql, non posso ricreare il database. " +#~ "Contattare il supporto.\n" +#~ msgid "Database was deleted! Recreated successfully.
\n" +#~ msgstr "Il Database era stato cancellato! Ricreato con successo.
\n" +#~ msgid "extension list:" +#~ msgstr "Lista interni:" +#~ msgid "" +#~ "Select extension(s)to page. If using users and devices mode, this will be " +#~ "the device number to page, potentially confusing if extension numbers and " +#~ "device numbers don't match. Use Ctrl key to select multiple.." +#~ msgstr "" +#~ "Selezionare gli interni da includere nel gruppo Page. Se si utilizza la " +#~ "modalità utenti e apparati (users and devices), questo dovrà essere il " +#~ "numero dell'apparato. Utilizzare il tasto Ctrl per selezioni multiple." +#~ msgid "Used as Destination by %s %s" +#~ msgstr "Usato come Destinazione da %s %s" + Index: /modules/branches/2.7/paging/i18n/ru_RU/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/ru_RU/LC_MESSAGES/paging.po (revision 7343) +++ /modules/branches/2.7/paging/i18n/ru_RU/LC_MESSAGES/paging.po (revision 7343) @@ -0,0 +1,292 @@ +# 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 , 2008. +# +# fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-05 11:01+0200\n" +"PO-Revision-Date: 2008-12-06 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:391 +msgid "Page Group: " +msgstr "¿ÕÙÔÖØÝÓ-ÓàãßßÐ:" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "žáÚÛîçØâì" + +#: functions.inc.php:552 +msgid "Include" +msgstr "²ÚÛîçØâì" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "²ÚÛîçÕÝØï Ò ÔÕäÞÛâÝãî Óàãßßã" + +#: functions.inc.php:575 page.paging.php:179 +msgid "Default Page Group" +msgstr "ŽÕäÞÛâÝÐï ßÕÙÔÖØÝÓ-ÓàãßßÐ" + +#: functions.inc.php:575 +msgid "" +"You can include or exclude this extension/device from being part of the " +"default page group when creating or editing." +msgstr "" +"ŒÞÖÝÞ ÒÚÛîçÐâì ØÛØ ØáÚÛîçÐâì íâÞâ ÒÝãâàÕÝÝØÙ ÝÞÜÕà/ãáâàÞÙáâÒÞ Ø× " +"ÔÕäÞÛâÝÞÙ ßÕÙÔÖØÝÓÞÒÞÙ Óàãßßë ßàØ áÞ×ÔÐÝØØ ØÛØ àÕÔÐÚâØàÞÒÐÝØØ." + +#: install.php:4 +msgid "Intercom prefix" +msgstr "¿àÕäØÚá ØÝâÕàÚÞÜÐ" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "¿ÞÛì×ÞÒÐâÕÛì žÝâÕàÚÞÜ àÐ×àÕèñÝ" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "¿ÞÛì×ÞÒÐâÕÛì žÝâÕàÚÞÜ ×ÐßàÕéñÝ" + +#: page.paging.php:79 page.paging.php:85 +msgid "Disabled" +msgstr "²ëÚÛîçÕÝÞ" + +#: page.paging.php:90 +msgid "" +"This module is for specific phones that are capable of Paging or Intercom. " +"This section is for configuring group paging, intercom is configured through " +"Feature Codes. Intercom must be enabled on a handset before " +"it will allow incoming calls. It is possible to restrict incoming intercom " +"calls to specific extensions only, or to allow intercom calls from all " +"extensions but explicitly deny from specific extensions.

This " +"module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, " +"SNOM , and possibly other SIP phones (not ATAs). Any phone that is always " +"set to auto-answer should also work (such as the console extension if " +"configured)." +msgstr "" +"ÍâÞâ ÜÞÔãÛì ßàÕÔÝÐ×ÝÐçÕÝ ÔÛï âÕå âÕÛÕäÞÝÞÒ, ÚÞâÞàëÕ ØÜÕîâ ÒÞ×ÜÞÖÝÞáâì àÐ×ÓÞÒÞàÐ " +"ÑÕ× ßÞÔÝïâØï âàãÑÚØ ßÞ ÓàÞÜÚÞÙ áÒïר ØÛØ ØÝâÕàÚÞÜã. ÍâÐ áÕÚæØï ÚÞÝäØÓãàØàØàãÕâ ßÕÙÔÖØÝÓ - " +"Óàãßßã Òë×ÞÒÐ ßÞ áÕÛÕÚâÞàÝÞÙ áÒïר, áÐÜ ØÝâÕàÚÞÜ ÚÞÝäØÓãàØàãÕâáï Ò áÕ򾯯 ÁÕàÒØáÝëÕ " +"ÚÞÔë. ÄãÝÚæØï ØÝâÕàÚÞÜÐ ÔÞÛÖÝÐ Ñëâì ÒÚÛîçÕÝÐ ÝÐ âÕÛÕäÞÝÕ ßàÕÖÔÕ, çÕÜ ÑãÔÕâ " +"×ÐÔÕÙáâÒÞÒÐÝÐ ÒÞ×ÜÞÖÝÞáâì ßàØÝØÜÐâì Òë×ÞÒë. µáâì ÒÞ×ÜÞÖÝÞáâì ÞÓàÐÝØçØâì ßàØñÜ ÒåÞÔïéØå ×ÒÞÝÚÞÒ ÝÐ ØÝâÕàÚÞÜ âÞÛìÚÞ á ÞÔÝÞÓÞ " +"ÚÞÝÚàÕâÝÞÓÞ ÒÝãâàÕÝÝÕÓÞ ÝÞÜÕàÐ, ØÛØ ÝÐÞÑÞàÞâ, " +"àÐ×àÕèØâì ØÝâÕàÚÞÜ áÞ ÒáÕå ÝÞÜÕàÞÒ, ÚàÞÜÕ ÝÕÚÞâÞàëå ÚÞÝÚàÕâÝëå.

ÍâÞâ ÜÞÔãÛì " +"åÞàÞèÞ àÐÑÞâÐÕâ á âÕÛÕäÞÝÐÜØ Aastra, Grandstream, Cisco/" +"Linksys/Sipura, Mitel, Polycom, Snom, Ø, ÒÞ×ÜÞÖÝÞ, á ÔàãÓØÜØ " +"SIP âÕÛÕäÞÝÐÜØ (ÝÕ ÐÔÐßâÕàÐÜØ!). »îÑÞÙ Ø× íâØå âÕÛÕäÞÝÞÒ ÜÞÖÝÞ ãáâÐÝÞÒØâì Ò ÐÒâÞÞâÒÕâ ÝÐ " +"ØÝâÕàÚÞÜ, ÚÞâÞàëÙ âÐÚÖÕ ÒßÞÛÝÕ ßàØÕÜÛÕÜ (ÚÐÚ Ø ÚÞÝáÞÛìÝÞÕ àÐáèØàÕÝØÕ, ÕáÛØ ÞÝÞ áÚÞÝäØÓãàÕÝÞ)." + +#: page.paging.php:93 +#, php-format +msgid "" +"Example usage:
%snnn:Intercom " +"extension nnn
%s:Enable all " +"extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to " +"intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those " +"explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally " +"enabled)
" +msgstr "" +"¿àØÜÕà ØáßÞÛì×ÞÒÐÝØï:
%snnn:²ÝãâàÕÝÝØÙ ÝÞÜÕà žÝâÕàÚÞÜÐ " +"nnn
%s:ÀÐ×àÕèØâì ÒáÕÜ ÒÝãâàÕÝÝØÜ ÝÞÜÕàÐÜ " +"Òë×ëÒÐâì ÒÐá ßÞ ÓàÞÜÚÞÙ áÒïר (ÚàÞÜÕ âÕå, ÚÞâÞàëÕ ïÒÝÞ ÞâÚÛÞÝÕÝë)
%snnn:ÏÒÝëÜ ÞÑàÐ×ÞÜ àÐ×àÕèØâì ÒÝãâàÕÝÝÕÜã ÝÞÜÕàã nnn " +"Òë×ëÒÐâì ÒÐá ßÞ ÓàÞÜÚÞÙ áÒïר (ÔÐÖÕ ÕáÛØ ÞáâÐÛìÝëÕ ÞâÚÛîçÕÝë)
%s:·ÐßàÕâØì ÒáÕÜ ÒÝãâàÕÝÝØÜ ÝÞÜÕàÐÜ Òë×ëÒÐâì ÒÐá ßÞ ÓàÞÜÚÞÙ áÒïר (ÚàÞÜÕ âÕå, ÚÞâÞàëÜ àÐ×àÕèÕÝÞ " +"ïÒÝÞ)
%snnn: ÏÒÝëÜ ÞÑàÐ×ÞÜ ×ÐßàÕâØâì ÒÝãâàÕÝÝÕÜã ÝÞÜÕàã nnn Òë×ëÒÐâì ÒÐá ßÞ ÓàÞÜÚÞÙ áÒïר " +"(ÔÐÖÕ ÕáÛØ ÞáâÐÛìÝëÕ ÒÚÛîçÕÝë)
" + +#: page.paging.php:95 +msgid "" +"Intercom mode is currently disabled, it can be enabled in the Feature Codes " +"Panel." +msgstr "" +"ÀÕÖØÜ ØÝâÕàÚÞÜ ÒëÚÛîçÕÝ, ÞÝ ÔÞÛÖÕÝ Ñëâì ×ÐÔÕáâÒÞÒÐÝ Ò ßÐÝÕÛØ ÁÕàÒØáÝëÕ ÚÞÔë" + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "ÃÔÐÛØâì Óàãßßã %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "ºÞÝäÛØÚâ ÒÝãâàÕÝÝØå ÝÞÜÕàÞÒ" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "ŒÞÔØäØæØàÞÒÐâì ßÕÙÔÖØÝÓ-Óàãßßã" + +#: page.paging.php:141 page.paging.php:228 +msgid "Add Paging Group" +msgstr "ŽÞÑÐÒØâì ßÕÙÔÖØÝÓ-Óàãßßã" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "²ÝãâàÕÝÝØÙ ÝÞÜÕà ÔÛï ßÕÙÔÖØÝÓÐ" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "ÍâÞâ ÝÞÜÕà áÛãÖØâ ÔÛï ×ÒÞÝÚÐ Ò íâã Óàãßßã" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "ŸßØáÐÝØÕ Óàãßßë" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "" +"¿àÕÔÛÐÓÐÕâáï áÞ×ÔÐâì ÒÝïâÝÞÕ ÞߨáÐÝØÕ ÔÛï íâÞÙ " +"ßÕÙÔÖØÝÓÞÒÞÙ Óàãßßë." + +#: page.paging.php:150 +msgid "Device List:" +msgstr "ÁߨáÞÚ ãáâàÞÙáâÒ:" + +#: page.paging.php:150 +msgid "" +"Select Device(s) to page. This is the phone that should be paged. In most " +"installations, this is the same as the Extension. If you are configured to " +"use \"Users & Devices\" this is the actual Device and not the User. Use " +"Ctrl key to select multiple.." +msgstr "" +"²ëÑàÐâì ãáâàÞÙáâÒÞ(-ÒÐ) ÔÛï ßÕÙÔÖØÝÓÐ. ÍâÞ âÕÛÕäÞÝØ, ÚÞâÞàëÕ ÔÞÛÖÝë Òë×ëÒÐâìáï. " +"² ÑÞÛìèØÝáâÒÕ áÛãçÐÕÒ íâÞ âÞÖÕ, çâÞ Ø ÒÝãâàÕÝÝØÕ ÝÞÜÕàÐ. µáÛØ áÚÞÝäØÓãàØàÞÒÐÝÞ " +"ØáßÞÛì×ÞÒÐÝØÕ \"¿ÞÛì×ÞÒÐâÕÛØ Ø ÃáâàÞÙáâÒÐ\" âÞ íâÞ ÐÚâãÐÛìÝÕÙ ÔÛï ãáâàÞÙáâÒÐ, Ð " +"ÝÕ ÔÛï ßÞÛì×ÞÒÐâÕÛï. žáßÞÛì×ãÙâÕ Ctrl + ÚÛØÚ ÔÛï ÜÝÞÖÕáâÒÕÝÝÞÓÞ ÒëÔÕÛÕÝØï." + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "ÄÞàáØàÞÒÐâì, ÕáÛØ ×ÐÝïâ." + +#: page.paging.php:172 +msgid "" +"If selected, will not check if the device is in use before paging it. This " +"means conversations can be interrupted by a page (depending on how the " +"device handles it). This is useful for \"emergency\" paging groups " +msgstr "" +"µáÛØ ÞâÜÕçÕÝÞ, âÞ ÝÕ ßàÞØ×ÒÞÔØâáï ßàÞÒÕàÚÐ " +"áâÐâãáÐ ×ÐÝïâ/áÒÞÑÞÔÕÝ ãáâàÞÙáâÒÐ ßÕàÕÔ " +"ßÕÙÔÖØÝÓÞÜ. ÍâÞ Þ×ÝÐçÐÕâ, çâÞ ÕáÛØ ÐÑÞÝÕÝâ " +"àÐ×ÓÞÒÐàØÒÐÕâ Ò íâÞâ ÜÞÜÕÝâ, âÞ àÐ×ÓÞÒÞà ÑãÔÕâ " +"ßàÕàÒÐÝ (áßÞáÞÑÞÜ, ×ÐÒØáïéØÜ ãÖÕ Þâ ÚÞÝÚàÕâÝÞÓÞ " +"ãáâàÞÙáâÒÐ). ÍâÞ ÞÑëçÝÞ ÐÚâãÐÛìÝÞ ÔÛï \"íÚáâàÕÝÝÞÓÞ" +"\" áÞÞÑéÕÝØï ßÞ ÓàÞÜÚÞÙ áÒïר ßÕÙÔÖØÝÓÞÒÞÙ " +"ÓàãßßÕ." + +#: page.paging.php:175 +msgid "Duplex" +msgstr "ŽãßÛÕÚá" + +#: page.paging.php:176 +msgid "" +"Paging is typically one way for announcements only. Checking this will make " +"the paging duplex, allowing all phones in the paging group to be able to " +"talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "" +"¿ÕÙÔÖØÝÓ ÞÑëçÝÞ ÞÔÝÞáâÞàÞÝÝØÙ ÒØÔ áÒïר, âÞÛìÚÞ ÔÛï ÞÑêïÒÛÕÝØÙ. ŸâÜÕâØÒ âãâ, " +"ÜÞÖÝÞ ×ÐÔÕÙáâÒÞÒÐâì ÔãßÛÕÚáÝãî áÒï×ì Ò ÞÑÕ áâÞàÞÝë, àÐ×àÕèÐï ÒáÕÜ âÕÛÕäÞÝÐá Ò " +"ßÕÙÔÖØÝÓÞÒÞÙ ÓàãßßÕ ÓÞÒÞàØâì Ø áÛëèÐâì ÒáÕå. ÍâÞ ÒëÓÛïÔØâ ÚÐÚ \"ÜÓÝÞÒÕÝÝÐï ÚÞÝäÕàÕÝæØï\"" + +#: page.paging.php:180 +msgid "" +"Each PBX system can have a single Default Page Group. If specified, " +"extensions can be automatically added (or removed) from this group in the " +"Extensions (or Devices) tab.
Making this group the default will uncheck " +"the option from the current default group if specified." +msgstr "" +"ºÐÖÔÐï °ÂÁ ÜÞÖÕâ ØÜÕâì ÞÔÝã ÔÕäÞÛâÝãî ßÕÙÔÖØÝÓ-" +"Óàãßßã, µáÛØ ãÚÐ×ÐÝÞ, âÞ ÒÝãâàÕÝÝØÕ ÝÞÜÕàÐ ÑãÔãâ " +"ÔÞÑÐÒÛïâìáï (ØÛØ ãÔÐÛïâìáï) Ò íâã Óàãßßã Ò áÕ򾯯 " +"²ÝãâàÕÝÝØÕ ÝÞÜÕàÐ.
ŽÕÛÐï íâã Óàãßßã ÔÕäÞÛâÝÞÙ " +"ßàÕÔëÔãéØÕ ÔÞÑÐÒÛÕÝØï ÝÞÜÕàÞÒ Ò ÔÕäÞÛâÝãî " +"Óàãßßã ãâàÐâïâ ×ÝÐçÕÝØÕ." + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "¿àØÜÕÝØâì Ø×ÜÕÝÕÝØï" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "²ÒÕÔØâÕ ßàÐÒØÛìÝëÙ ÝÞÜÕà ÔÛï ßÕÙÔÖØÝÓÐ" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "²ëÑÕàØâÕ åÞâï Ñë ÞÔØÝ ÒÝãâàÕÝÝØÙ ÝÞÜÕà" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "¿ÕÙÔÖØÝÓ-ÓàãßßÐ" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "¿ÕÙÔÖØÝÓ Ø ØÝâÕàÚÞÜ" + +#~ msgid "" +#~ "Example usage:
%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly " +#~ "denied)
%snnn:Explicitly allow " +#~ "extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from " +#~ "intercoming you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn " +#~ "to intercom you (even if generally enabled)
" +#~ msgstr "" +#~ "¿àØÜÕà ØáßÞÛì×ÞÒÐÝØï: :
" + +#~ msgid "Delete Group" +#~ msgstr "ÃÔÐÛØâì Óàãßßã" + +#~ msgid "Group Description:" +#~ msgstr "ŸßØáÐÝØÕ Óàãßßë" + +#~ msgid "" +#~ "Select Device(s)to page. This is the phone that should be paged. In most " +#~ "installations, this is the same as the Extension. If you are configured " +#~ "to use \"Users & Devices\" this is the acutal Device and not the User. " +#~ "Use Ctrl key to select multiple.." +#~ msgstr "" +#~ "²ëÑÕàØâÕ ãáâàÞÙáâÒÐ Ò Óàãßßã. ÍâÞ âÕÛÕäÞÝë, ÝÐ " +#~ "ÚÞâÞàëÕ ÑãÔÕâ ØÔâØ Òë×ÞÒ ßÞ ÓàÞÜÚÞÙ áÒïר. ² " +#~ "ÑÞÛìèØÝáâÒÕ ØÝáâÐÛÛïæØÙ, íâÞ âÞÖÕ áÐÜÞÕ, çâÞ Ø " +#~ "ÒÝãâàÕÝÝØÙ ÝÞÜÕà íâÞÓÞ ãáâàÞÙáâÒÐ. µáÛØ " +#~ "áÚÞÝäØÓãàÕÝÞ á ßÞÜÞéìî áÕ򾯯 \"¿ÞÛì×ÞÒÐâÕÛØ Ø " +#~ "ãáâàÞÙáâÒÐ\" âÞ ×ÔÕáì ÐÚâãÐÛìÝÞ áÚÞàÕÕ ãáâàÞÙáâÒÞ, " +#~ "Ð ÝÕ ßÞÛì×ÞÒÐâÕÛì. žáßÞÛì×ãÙâÕ ÜÝÞÖÕáâÒÕÝÝÞÕ " +#~ "ÒëÔÕÛÕÝØÕ çÕàÕ× Ctrl Ø ÚÛØÚ Üëèìî." + +#~ msgid "" +#~ "Paging is typically one way for annoucements only. Checking this will " +#~ "make the paging duplex, allowing all phones in the paging group to be " +#~ "able to talk and be heard by all. This makes it like an \"instant " +#~ "conference\"" +#~ msgstr "" +#~ "ŸÑëçÝÞ ßÕÙÔÖØÝÓ íâÞ áàÕÔáâÒÞ ÞÑêïÒÛÕÝØÙ Ò " +#~ "ÞÔÝÞáâÞàÞÝÝÕÜ ßÞàïÔÚÕ. µáÛØ ÞâÜÕâØâì ×ÔÕáì, âÞ " +#~ "ÒÞ×ÜÞÖÝÐ ÔãßÛÕÚáÝÐï áÒï×ì, âÞ Õáâì ÒáÕ âÕÛÕäÞÝë " +#~ "Ò ÓàãßßÕ ÜÞÓãâ ÞâÒÕçÐâì ÒáÕÜ Ø áÛëèÐâì ÒáÕå Ò ÓàãßßÕ ÞÔÝÞÒàÕÜÕÝÝÞ. ŒÞÖÝÞ áÚÐ×Ðâì, çâÞ íâÞ " +#~ "ÚÐÚ ÑãÔâÞ \"ÜÓÝÞÒÕÝÝÐï ÚÞÝäÕàÕÝæØï\"." Index: /modules/branches/2.7/paging/i18n/es_ES/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/es_ES/LC_MESSAGES/paging.po (revision 7479) +++ /modules/branches/2.7/paging/i18n/es_ES/LC_MESSAGES/paging.po (revision 7479) @@ -0,0 +1,185 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo paging module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-27 16:24+0200\n" +"PO-Revision-Date: 2009-01-21 16:10+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:391 +msgid "Page Group: " +msgstr "" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "" + +#: functions.inc.php:552 +msgid "Include" +msgstr "" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "" + +#: functions.inc.php:575 page.paging.php:179 +msgid "Default Page Group" +msgstr "" + +#: functions.inc.php:575 +msgid "" +"You can include or exclude this extension/device from being part of the " +"default page group when creating or editing." +msgstr "" + +#: install.php:4 +msgid "Intercom prefix" +msgstr "" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "" + +#: page.paging.php:79 page.paging.php:85 +msgid "Disabled" +msgstr "" + +#: page.paging.php:90 +msgid "" +"This module is for specific phones that are capable of Paging or Intercom. " +"This section is for configuring group paging, intercom is configured through " +"Feature Codes. Intercom must be enabled on a handset before " +"it will allow incoming calls. It is possible to restrict incoming intercom " +"calls to specific extensions only, or to allow intercom calls from all " +"extensions but explicitly deny from specific extensions.

This " +"module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, " +"SNOM , and possibly other SIP phones (not ATAs). Any phone that is always " +"set to auto-answer should also work (such as the console extension if " +"configured)." +msgstr "" + +#: page.paging.php:93 +#, php-format +msgid "" +"Example usage:
%snnn:œÞÜÕà ØÝâÕàÚÞÜÐ nnn
%" +#~ "s:ÀÐ×àÕèØâì ÒáÕÜ ÒÝãâàÕÝÝØÜ " +#~ "ÝÞÜÕàÐÜ ×ÒÞÝØâì ÒÐÜ ÝÐ ØÝâÕàÚÞÜ (ÚàÞÜÕ " +#~ "ÝØÖÕáÛÕÔãéØå ×ÐßàÕéñÝÝëå)
%snnn:ÂÞçÝÞ ãÚÐ×Ðâì " +#~ "àÐ×àÕèñÝÝÞÜã ÝÞÜÕàã nnn ×ÒÞÝØâì ÒÐÜ ÝÐ " +#~ "ØÝâÕàÚÞÜ (ÔÐÖÕ ÕáÛØ ÔàãÓØÕ ÞâÚÛîçÕÝë)
%s:·ÐßàÕâØâì ÒáÕÜ " +#~ "ÒÝãâàÕÝÝØÜ ÝÞÜÕàÐÜ ×ÒÞÝØâì ÝÐ ØÝâÕàÚÞÜ " +#~ "(ÚàÞÜÕ ÝØÖÕáÛÕÔãéØå àÐ×àÕèñÝÝëå)
%snnn:·ÐßàÕâØâì " +#~ "×ÒÞÝØâì ÝÐ ØÝâÕàÚÞÜ ÒÝãâàÕÝÝÕÜã ÝÞÜÕàã nnn " +#~ "(ÔÐÖÕ ÕáÛØ ßÞ ÔÕäÞÛâã ÒáÕÜ àÐ×àÕèÕÝÞ)
%snnn:Intercom " +"extension nnn
%s:Enable all " +"extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to " +"intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those " +"explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally " +"enabled)
" +msgstr "" + +#: page.paging.php:95 +msgid "" +"Intercom mode is currently disabled, it can be enabled in the Feature Codes " +"Panel." +msgstr "" + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "" + +#: page.paging.php:141 page.paging.php:228 +msgid "Add Paging Group" +msgstr "" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "" + +#: page.paging.php:150 +msgid "Device List:" +msgstr "" + +#: page.paging.php:150 +msgid "" +"Select Device(s) to page. This is the phone that should be paged. In most " +"installations, this is the same as the Extension. If you are configured to " +"use \"Users & Devices\" this is the acutal Device and not the User. Use " +"Ctrl key to select multiple.." +msgstr "" + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "" + +#: page.paging.php:172 +msgid "" +"If selected, will not check if the device is in use before paging it. This " +"means conversations can be interrupted by a page (depending on how the " +"device handles it). This is useful for \"emergency\" paging groups " +msgstr "" + +#: page.paging.php:175 +msgid "Duplex" +msgstr "" + +#: page.paging.php:176 +msgid "" +"Paging is typically one way for announcements only. Checking this will make " +"the paging duplex, allowing all phones in the paging group to be able to " +"talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "" + +#: page.paging.php:180 +msgid "" +"Each PBX system can have a single Default Page Group. If specified, " +"extensions can be automatically added (or removed) from this group in the " +"Extensions (or Devices) tab.
Making this group the default will uncheck " +"the option from the current default group if specified." +msgstr "" + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "" Index: /modules/branches/2.7/paging/i18n/fr_FR/LC_MESSAGES/paging.po =================================================================== --- /modules/branches/2.7/paging/i18n/fr_FR/LC_MESSAGES/paging.po (revision 8149) +++ /modules/branches/2.7/paging/i18n/fr_FR/LC_MESSAGES/paging.po (revision 8149) @@ -0,0 +1,240 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-27 16:24+0200\n" +"PO-Revision-Date: 2009-04-20 23:31+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:391 +msgid "Page Group: " +msgstr "Groupe Page :" + +#: functions.inc.php:551 +msgid "Exclude" +msgstr "Exclure" + +#: functions.inc.php:552 +msgid "Include" +msgstr "Inclure" + +#: functions.inc.php:572 +msgid "Default Group Inclusion" +msgstr "Inclusion du Groupe par Défaut" + +#: functions.inc.php:575 page.paging.php:179 +msgid "Default Page Group" +msgstr "Groupe Page Par Défaut" + +#: functions.inc.php:575 +msgid "" +"You can include or exclude this extension/device from being part of the " +"default page group when creating or editing." +msgstr "" +"Vous pouvez inclure ou exclure cette extension/ce périphérique dans le " +"groupe page par défaut lors de la création ou de l'édition." + +#: install.php:4 +msgid "Intercom prefix" +msgstr "Préfixe Intercom" + +#: install.php:12 +msgid "User Intercom Allow" +msgstr "Autoriser Utilisateur Intercom" + +#: install.php:20 +msgid "User Intercom Disallow" +msgstr "Ne pas autoriser Utilisateur Intercom" + +#: page.paging.php:79 page.paging.php:85 +msgid "Disabled" +msgstr "Désactiver" + +#: page.paging.php:90 +msgid "" +"This module is for specific phones that are capable of Paging or Intercom. " +"This section is for configuring group paging, intercom is configured through " +"Feature Codes. Intercom must be enabled on a handset before " +"it will allow incoming calls. It is possible to restrict incoming intercom " +"calls to specific extensions only, or to allow intercom calls from all " +"extensions but explicitly deny from specific extensions.

This " +"module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, " +"SNOM , and possibly other SIP phones (not ATAs). Any phone that is always " +"set to auto-answer should also work (such as the console extension if " +"configured)." +msgstr "" +"Ce module est pour les téléphones spécifiques qui sont capable de Paging ou " +"d'Intercom. Cette section permet de configurer le paging de groupe, l'intercom " +"est configuré par le biais des Codes de Caractéristique. " +"L'intercom doit être activé sur un combiné avant qu'il n'autorise les appels " +"entrants. Il est possible de restreindre les appels entrants sur l'intercom à " +"des extensions spécifiques uniquement, ou d'autoriser les appels sur intercom " +"pour toutes les extensions mais d'explicitement les interdire à partir d'extensions " +"spécifiques.

Ce module devrait fonctionner avec Aastra, Grandstream, " +"Linksys/Sipura, Mitel, Polycom, SNOM, et probablement d'autres téléphones SIP " +"(pas les ATA). Tout téléphone qui est toujours configuré pour répondre automatiquement " +"devrait également fonctionner (telle que l'extension console si configurée)." + +#: page.paging.php:93 +#, php-format +msgid "" +"Example usage:
%snnn:Intercom " +"extension nnn
%s:Enable all " +"extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to " +"intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those " +"explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally " +"enabled)
" +msgstr "" +"Exemple d'utilisation :
%snnn:Extension " +"Intercom nnn
%s:Permet à toutes " +"les extensions de vous joindre sur l'intercom (sauf celles explicitement interdites)
%snnn:Autoriser explicitement l'extension nnn à " +"vous joindre sur l'intercom (même si les autres sont désactivées)
%s:Interdire à toutes les extensions de vous joindre sur l'intercom (sauf celles " +"explicitement autorisées)
%snnn:Interdire explicitement à l'extension nnn de vous joindre sur l'intercom (même si généralement " +"activé)
" + +#: page.paging.php:95 +msgid "" +"Intercom mode is currently disabled, it can be enabled in the Feature Codes " +"Panel." +msgstr "" +"Le mode intercom est actuellement désactivé, il peut être activé dans le Panneau " +"Codes de Caractéristiques." + +#: page.paging.php:116 +#, php-format +msgid "Delete Group %s" +msgstr "Supprimer le Groupe %s" + +#: page.paging.php:124 +msgid "Conflicting Extensions" +msgstr "Extensions Conflictuelles" + +#: page.paging.php:141 +msgid "Modify Paging Group" +msgstr "Modifier le Groupe Paging" + +#: page.paging.php:141 page.paging.php:228 +msgid "Add Paging Group" +msgstr "Ajouter un Groupe Paging" + +#: page.paging.php:143 +msgid "Paging Extension" +msgstr "Extension Paging" + +#: page.paging.php:143 +msgid "The number users will dial to page this group" +msgstr "Le numéro que composeront les utilisateurs pour pager ce groupe" + +#: page.paging.php:147 +msgid "Group Description" +msgstr "Description du Groupe" + +#: page.paging.php:147 +msgid "Provide a descriptive title for this Page Group." +msgstr "Titre descriptif pour ce Groupe de Page." + +#: page.paging.php:150 +msgid "Device List:" +msgstr "Liste des Périphériques :" + +#: page.paging.php:150 +msgid "" +"Select Device(s) to page. This is the phone that should be paged. In most " +"installations, this is the same as the Extension. If you are configured to " +"use \"Users & Devices\" this is the actual Device and not the User. Use " +"Ctrl key to select multiple.." +msgstr "" +"Sélectionner les périphériques à pager. Il s'agit du téléphone qui doit être pagé. " +"Dans la plupart des installations, il s'agit en fait de l'extension. Si vous " +"êtes configuré pour utiliser \"Utilisateurs & Périphériques\" il s'agit du périphérique " +"actuel et pas de l'utilisateur. Utilisez la touche Ctrl pour faire un choix multiple..." + +#: page.paging.php:171 +msgid "Force if busy" +msgstr "Forcer si occupé" + +#: page.paging.php:172 +msgid "" +"If selected, will not check if the device is in use before paging it. This " +"means conversations can be interrupted by a page (depending on how the " +"device handles it). This is useful for \"emergency\" paging groups " +msgstr "" +"Si vous sélectionnez cette option, on ne vérifiera pas si le périphérique est " +"en utilisation avant de le pager. Cela signifie que les conversations peuvent " +"être interrompues par un page (dépend de comment le périphérique traite l'évÚnement). " +"C'est utile pour les groupes de paging d'\"urgence\"." + +#: page.paging.php:175 +msgid "Duplex" +msgstr "Duplex" + +#: page.paging.php:176 +msgid "" +"Paging is typically one way for announcements only. Checking this will make " +"the paging duplex, allowing all phones in the paging group to be able to " +"talk and be heard by all. This makes it like an \"instant conference\"" +msgstr "" +"Le paging est en général à sens unique, pour les annonces uniquement. Cocher " +"cette case passera le paging en duplex, autorisant tous les téléphones dans le " +"groupe de paging à parler et être entendus par tous. Cela donne un genre de " +"\"conférence instantanée\"." + +#: page.paging.php:180 +msgid "" +"Each PBX system can have a single Default Page Group. If specified, " +"extensions can be automatically added (or removed) from this group in the " +"Extensions (or Devices) tab.
Making this group the default will uncheck " +"the option from the current default group if specified." +msgstr "" +"Chaque systÚme de PBX peut avoir un seul Groupe de Page par Défaut. Si spécifié, " +"les extensions peuvent être automatiquement ajoutées (ou supprimées) de ce groupe " +"dans l'onglet Extensions (ou Périphériques).
Faire de ce groupe le groupe par " +"défaut décochera l'option de l'actuel groupe par défaut si spécifié." + +#: page.paging.php:190 +msgid "Submit Changes" +msgstr "Appliquer les Modifications" + +#: page.paging.php:199 +msgid "Please enter a valid Paging Extension" +msgstr "Veuillez entrer une Extension de Paging valide" + +#: page.paging.php:200 +msgid "Please select at least one extension" +msgstr "Veuillez sélectionner au moins une extension" + +#: page.paging.php:237 +msgid "Page Group" +msgstr "Groupe de Page" + +#: page.paging.php:240 +msgid "Paging and Intercom" +msgstr "Paging et Intercom" Index: /modules/branches/2.7/paging/uninstall.php =================================================================== --- /modules/branches/2.7/paging/uninstall.php (revision 5241) +++ /modules/branches/2.7/paging/uninstall.php (revision 5241) @@ -0,0 +1,64 @@ +delete(); +unset($fcc); +echo "done
\n"; + +// User intercom enable code +echo "removing featurecode intercom-on.."; +$fcc = new featurecode('paging', 'intercom-on'); +$fcc->delete(); +unset($fcc); +echo "done
\n"; + +// User intercom disable +echo "removing featurecode intercom-off.."; +$fcc = new featurecode('paging', 'intercom-off'); +$fcc->delete(); +unset($fcc); +echo "done
\n"; + +echo "dropping table paging_overview.."; +$sql = "DROP TABLE IF EXISTS paging_overview"; +$result = $db->query($sql); +if(DB::IsError($result)) { + echo "ERROR DELETING TABLE: ".$result->getDebugInfo(); +} +echo "done
\n"; + +echo "dropping table paging_groups.."; +$sql = "DROP TABLE IF EXISTS paging_groups"; +$result = $db->query($sql); +if(DB::IsError($result)) { + echo "ERROR DELETING TABLE: ".$result->getDebugInfo(); +} +echo "done
\n"; + +echo "dropping table paging_phones.."; +$sql = "DROP TABLE IF EXISTS paging_phones"; +$result = $db->query($sql); +if(DB::IsError($result)) { + echo "ERROR DELETING TABLE: ".$result->getDebugInfo(); +} +echo "done
\n"; + +echo "dropping table paging_config.."; +$sql = "DROP TABLE IF EXISTS paging_config"; +$result = $db->query($sql); +if(DB::IsError($result)) { + echo "ERROR DELETING TABLE: ".$result->getDebugInfo(); +} +echo "done
\n"; + +echo "dropping table paging_autoanswer.."; +$sql = "DROP TABLE IF EXISTS paging_autoanswer"; +$result = $db->query($sql); +if(DB::IsError($result)) { + echo "ERROR DELETING TABLE: ".$result->getDebugInfo(); +} +echo "done
\n"; + +?> Index: /modules/branches/2.7/paging/module.xml =================================================================== --- /modules/branches/2.7/paging/module.xml (revision 8230) +++ /modules/branches/2.7/paging/module.xml (revision 8230) @@ -0,0 +1,38 @@ + + paging + Paging and Intercom + 2.6.0.3 + FreePBX + GPLv2+ + setup + Internal Options & Configuration + + *2.6.0.3* #3692 + *2.6.0.2* added publisher/lic + *2.6.0.1* #3734 + *2.6.0.0* #3448, perf improvments in large page groups + *2.5.0.6* localization fixes + *2.5.0.5* #3208, localization + *2.5.0.4* #3138 Sqlite3 fixes + *2.5.0.3* #2530 typo _GLOBALS should be GLOBALS + *2.5.0.2* #2987, #3008 sqlite3 install script, spelling + *2.5.0.1* fix to make sure SIPURI is clear if not default set + *2.5.0.0* #2390, #2723 added configurable dial options (so beep can be removed), VXML_URL and any other custom channel variableoption to autoanswer + *2.4.0.5* #1939, #2843 Mitel Phone Support, Russian Translation, oldstyle module hooks added + *2.4.0.4* #2758 don't show intercom instructions when disabled, bogus codes were displayed + *2.4.0.3* added depends on 2.4.0 + *2.4.0.2* small fix so duplicate extension link is displayed when conflicts are found + *2.4.0.1* #2559 typo in install script, extra \\ needed (you must un-install and re-install or delete paging_autoanswer table entries to take effect) + *2.4.0* CHANGELOG TRUNCATED See SVN Repository + + + 2.4.0 + + Allows creation of paging groups to make announcements using the speaker built into most SIP phones. + Also creates an Intercom feature code that can be used as a prefix to talk directly to one person, as well as optional feature codes to block/allow intercom calls to all users as well as blocking specific users or only allowing specific users. + + Paging and Intercom + + release/2.6/paging-2.6.0.3.tgz + 0644ef1015447f3e7db6fc6bf17a9026 + Index: /modules/branches/2.7/paging/functions.inc.php =================================================================== --- /modules/branches/2.7/paging/functions.inc.php (revision 8220) +++ /modules/branches/2.7/paging/functions.inc.php (revision 8220) @@ -0,0 +1,662 @@ +getCodeActive(); + unset($fcc); + + // Since these are going down channel local, set ALERT_INFO and SIPADDHEADER which will be set in dialparties.agi + // no point in even setting the headers here they will get lost in channel local + // + + /* Set these up once here and in intercom so that autoanswer macro does not have + * to go through this for every single extension which causes a lot of extra overhead + * with big page groups + */ + + $has_answermacro = false; + + $alertinfo = 'Alert-Info: Ring Answer'; + $callinfo = 'Call-Info: \;answer-after=0'; + $sipuri = 'intercom=true'; + $doptions = 'A(beep)'; + $dtime = '5'; + $custom_vars = array(); + $autoanswer_arr = paging_get_autoanswer_defaults(); + foreach ($autoanswer_arr as $autosetting) { + switch (trim($autosetting['var'])) { + case 'ALERTINFO': + $alertinfo = trim($autosetting['setting']); + break; + case 'CALLINFO': + $callinfo = trim($autosetting['setting']); + break; + case 'SIPURI': + $sipuri = trim($autosetting['setting']); + break; + case 'VXML_URL': + $vxml_url = trim($autosetting['setting']); + break; + case 'DOPTIONS': + $doptions = trim($autosetting['setting']); + break; + case 'DTIME': + $dtime = trim($autosetting['setting']); + break; + default: + $key = trim($autosetting['var']); + $custom_vars[$key] = trim($autosetting['setting']); + if (ltrim($custom_vars[$key],'_') == "ANSWERMACRO") { + $has_answermacro = true; + } + break; + } + } + + $extpaging = 'ext-paging'; + if (!empty($intercom_code)) { + $code = '_'.$intercom_code.'.'; + $context = 'ext-intercom'; + $ext->add($context, $code, '', new ext_macro('user-callerid')); + $ext->add($context, $code, '', new ext_setvar('dialnumber', '${EXTEN:'.strlen($intercom_code).'}')); + $ext->add($context, $code, '', new ext_gotoif('$["${DB(AMPUSER/${AMPUSER}/intercom/block)}" = "blocked"]', 'end')); + $ext->add($context, $code, '', new ext_gotoif('$["${DB(DND/${dialnumber})}" = "YES"]', 'end')); + $ext->add($context, $code, '', new ext_gotoif('$["${DB(AMPUSER/${dialnumber}/intercom/${AMPUSER})}" = "allow" ]', 'allow')); + $ext->add($context, $code, '', new ext_gotoif('$["${DB(AMPUSER/${dialnumber}/intercom/${AMPUSER})}" = "deny" ]', 'nointercom')); + $ext->add($context, $code, '', new ext_gotoif('$["${DB(AMPUSER/${dialnumber}/intercom)}" = "disabled" ]', 'nointercom')); + $ext->add($context, $code, 'allow', new ext_dbget('DEVICES','AMPUSER/${dialnumber}/device')); + $ext->add($context, $code, '', new ext_gotoif('$["${DEVICES}" = "" ]', 'end')); + $ext->add($context, $code, '', new ext_setvar('LOOPCNT', '${FIELDQTY(DEVICES,&)}')); + + /* Set these up so that macro-autoanswer doesn't have to + */ + $ext->add($context, $code, '', new ext_setvar('_SIPURI', '')); + if (trim($alertinfo) != "") { + $ext->add($context, $code, '', new ext_setvar('_ALERTINFO', $alertinfo)); + } + if (trim($callinfo) != "") { + $ext->add($context, $code, '', new ext_setvar('_CALLINFO', $callinfo)); + } + if (trim($sipuri) != "") { + $ext->add($context, $code, '', new ext_setvar('_SIPURI', $sipuri)); + } + if (trim($vxml_url) != "") { + $ext->add($context, $code, '', new ext_setvar('_VXML_URL', $vxml_url)); + } + if (trim($doptions) != "") { + $ext->add($context, $code, '', new ext_setvar('_DOPTIONS', $doptions)); + } + foreach ($custom_vars as $key => $value) { + $ext->add($context, $code, '', new ext_setvar('_'.ltrim($key,'_'), $value)); + } + $ext->add($context, $code, '', new ext_setvar('_DTIME', $dtime)); + $ext->add($context, $code, '', new ext_setvar('_ANSWERMACRO', '')); + + $ext->add($context, $code, '', new ext_gotoif('$[${LOOPCNT} > 1 ]', 'pagemode')); + $ext->add($context, $code, '', new ext_macro('autoanswer','${DEVICES}')); + $ext->add($context, $code, 'check', new ext_chanisavail('${DIAL}', 'sj')); + $ext->add($context, $code, '', new ext_dial('${DIAL}','${DTIME},${DOPTIONS}')); + $ext->add($context, $code, 'end', new ext_busy()); + $ext->add($context, $code, '', new ext_macro('hangupcall')); + $ext->add($context, $code, '', new ext_busy(), 'check',101); + $ext->add($context, $code, '', new ext_macro('hangupcall')); + $ext->add($context, $code, 'pagemode', new ext_setvar('ITER', '1')); + $ext->add($context, $code, '', new ext_setvar('DIALSTR', '')); + $ext->add($context, $code, 'begin', new ext_setvar('DIALSTR', '${DIALSTR}&LOCAL/PAGE${CUT(DEVICES,&,${ITER})}@'.$extpaging)); + $ext->add($context, $code, '', new ext_setvar('ITER', '$[${ITER} + 1]')); + $ext->add($context, $code, '', new ext_gotoif('$[${ITER} <= ${LOOPCNT}]', 'begin')); + $ext->add($context, $code, '', new ext_setvar('DIALSTR', '${DIALSTR:1}')); + $ext->add($context, $code, '', new ext_setvar('_AMPUSER', '${AMPUSER}')); + $ext->add($context, $code, '', new ext_page('${DIALSTR},d')); + $ext->add($context, $code, '', new ext_busy()); + $ext->add($context, $code, '', new ext_macro('hangupcall')); + $ext->add($context, $code, 'nointercom', new ext_noop('Intercom disallowed by ${dialnumber}')); + $ext->add($context, $code, '', new ext_playback('intercom&for&extension')); + $ext->add($context, $code, '', new ext_saydigits('${dialnumber}')); + $ext->add($context, $code, '', new ext_playback('is&disabled')); + $ext->add($context, $code, '', new ext_congestion()); + + $extintercomusers = 'ext-intercom-users'; + $userlist = core_users_list(); + if (is_array($userlist)) { + foreach($userlist as $item) { + $ext_intercom_code = $intercom_code.$item[0]; + $ext->add($extintercomusers, $ext_intercom_code, '', new ext_goto($context.',${EXTEN},1')); + } + } + + $context = $extintercomusers; + $ext->addInclude('from-internal-additional', $context); + } + + $fcc = new featurecode('paging', 'intercom-on'); + $oncode = $fcc->getCodeActive(); + unset($fcc); + + if ($oncode) { + $ext->add($context, $oncode, '', new ext_answer('')); + $ext->add($context, $oncode, '', new ext_wait('1')); + $ext->add($context, $oncode, '', new ext_macro('user-callerid')); + $ext->add($context, $oncode, '', new ext_setvar('DB(AMPUSER/${AMPUSER}/intercom)', 'enabled')); + $ext->add($context, $oncode, '', new ext_playback('intercom&enabled')); + $ext->add($context, $oncode, '', new ext_macro('hangupcall')); + + $target = '${EXTEN:'.strlen($oncode).'}'; + $oncode = "_".$oncode."."; + $ext->add($context, $oncode, '', new ext_answer('')); + $ext->add($context, $oncode, '', new ext_wait('1')); + $ext->add($context, $oncode, '', new ext_macro('user-callerid')); + $ext->add($context, $oncode, '', new ext_gotoif('$["${DB(AMPUSER/${AMPUSER}/intercom/'.$target.')}" = "allow" ]}','unset')); + $ext->add($context, $oncode, '', new ext_gotoif('$[${DB_EXISTS(AMPUSER/${EXTEN:3}/device)} != 1]','invaliduser')); + $ext->add($context, $oncode, '', new ext_dbput('AMPUSER/${AMPUSER}/intercom/'.$target, 'allow')); + $ext->add($context, $oncode, '', new ext_playback('intercom&enabled&for&extension&number')); + $ext->add($context, $oncode, '', new ext_saydigits($target)); + $ext->add($context, $oncode, '', new ext_macro('hangupcall')); + $ext->add($context, $oncode, 'unset', new ext_dbdeltree('AMPUSER/${AMPUSER}/intercom/'.$target)); + $ext->add($context, $oncode, '', new ext_playback('intercom&enabled&cancelled&for&extension&number')); + $ext->add($context, $oncode, '', new ext_saydigits($target)); + $ext->add($context, $oncode, '', new ext_macro('hangupcall')); + $ext->add($context, $oncode, 'invaliduser', new ext_playback('extension&number')); + $ext->add($context, $oncode, '', new ext_saydigits($target)); + $ext->add($context, $oncode, '', new ext_playback('is&invalid')); + $ext->add($context, $oncode, '', new ext_macro('hangupcall')); + } + + $fcc = new featurecode('paging', 'intercom-off'); + $offcode = $fcc->getCodeActive(); + unset($fcc); + + if ($offcode) { + $ext->add($context, $offcode, '', new ext_answer('')); + $ext->add($context, $offcode, '', new ext_wait('1')); + $ext->add($context, $offcode, '', new ext_macro('user-callerid')); + $ext->add($context, $offcode, '', new ext_setvar('DB(AMPUSER/${AMPUSER}/intercom)', 'disabled')); + $ext->add($context, $offcode, '', new ext_playback('intercom&disabled')); + $ext->add($context, $offcode, '', new ext_macro('hangupcall')); + + $target = '${EXTEN:'.strlen($offcode).'}'; + $offcode = "_".$offcode."."; + $ext->add($context, $offcode, '', new ext_answer('')); + $ext->add($context, $offcode, '', new ext_wait('1')); + $ext->add($context, $offcode, '', new ext_macro('user-callerid')); + $ext->add($context, $offcode, '', new ext_gotoif('$["${DB(AMPUSER/${AMPUSER}/intercom/'.$target.')}" = "deny" ]}','unset2')); + $ext->add($context, $offcode, '', new ext_gotoif('$[${DB_EXISTS(AMPUSER/${EXTEN:3}/device)} != 1]','invaliduser2')); + $ext->add($context, $offcode, '', new ext_dbput('AMPUSER/${AMPUSER}/intercom/'.$target, 'deny')); + $ext->add($context, $offcode, '', new ext_playback('intercom&disabled&for&extension&number')); + $ext->add($context, $offcode, '', new ext_saydigits($target)); + $ext->add($context, $offcode, '', new ext_macro('hangupcall')); + $ext->add($context, $offcode, 'unset2', new ext_dbdeltree('AMPUSER/${AMPUSER}/intercom/'.$target)); + $ext->add($context, $offcode, '', new ext_playback('intercom&disabled&cancelled&for&extension&number')); + $ext->add($context, $offcode, '', new ext_saydigits($target)); + $ext->add($context, $offcode, '', new ext_macro('hangupcall')); + $ext->add($context, $offcode, 'invaliduser2', new ext_playback('extension&number')); + $ext->add($context, $offcode, '', new ext_saydigits($target)); + $ext->add($context, $offcode, '', new ext_playback('is&invalid')); + $ext->add($context, $offcode, '', new ext_macro('hangupcall')); + } + + /* Create macro-autoanswer that will try to intelligently set the + required parameters to handle paging. Eventually it will use + known device information. + + This macro does the following: + + Input: FreePBX Device number to be called requiring autoanswer + Output: ${DIAL} Channel Variable with the dial string to be called + Appropriate SIP headers added + Other special requirements that may be custom for this device + + 1. Set ${DIAL} to the device's dial string + 2. If there is a device specific macro defined in the DEVICE's object + (DEVICE//autoanswer/macro) then execute that macro and end + 3. Try to identify endpoints by their useragents that may need known + changes and make those changes. These are generated from the + paging_autoanswer table so users can extend them, if any are present + 5. Set the variables and end unless a useragent specific ANSWERMACRO is + defined in which case call it and end. + + This macro is called for intercoming and paging to try and enable the + target device to auto-answer. Devices with special needs can be handled + with the device specific macro. For example, if you have a device that + can not auto-answer except by specifically configuring a line key on + the device that always answers, you could use a device specific macro + to change the dialstring. If you had a set of such devices, you could + standardize on the device numbers (e.g. nnnn for normal calls and 2nnnn + for auto-answer calls). You could then create a general purpose macro + to modify the dial string accordingly. Provisioning tools will be able + to take advantage of setting and creating such an ability. + If you have a set of devices that can be identified with a SIP useragent + then you can use a general macro without setting info in each device. + */ + + $autoanswer_arr = paging_get_autoanswer_useragents(); + + $macro = 'macro-autoanswer'; + $ext->add($macro, "s", '', new ext_setvar('DIAL', '${DB(DEVICE/${ARG1}/dial)}')); + + // If we are in DAHDI compat mode, then we need to substitute DAHDI for ZAP + if ($chan_dahdi) { + $ext->add($macro, "s", '', new ext_execif('$["${DIAL:0:3}" = "ZAP"]', 'Set','DIAL=DAHDI${DIAL:3}')); + } + $ext->add($macro, "s", '', new ext_gotoif('$["${DB(DEVICE/${ARG1}/autoanswer/macro)}" != "" ]', 'macro')); + + // If there are no phone specific auto-answer vars, then we don't care what the phone is below + // + if (!empty($autoanswer_arr)) { + $ext->add($macro, "s", '', new ext_setvar('phone', '${SIPPEER(${CUT(DIAL,/,2)}:useragent)}')); + } + // We used to set all the variables here (ALERTINFO, CALLINFO, etc. That has been moved to each + // paging group and the intercom main macro, since it was redundant for every phone causing a lot + // of overhead with large page groups. + // + + // Defaults are setup, now make specific adjustments for detected phones + // These come from the SQL table as well where installations can make customizations + // + foreach ($autoanswer_arr as $autosetting) { + $useragent = trim($autosetting['useragent']); + $autovar = trim($autosetting['var']); + $data = trim($autosetting['setting']); + switch (ltrim($autovar,'_')) { + case 'ANSWERMACRO': + $has_answermacro = true; + // fall through - no break on purpose + case 'ALERTINFO': + case 'CALLINFO': + case 'SIPURI': + case 'VXML_URL': + case 'DOPTIONS': + case 'DTIME': + default: + if (trim($data) != "") { + $ext->add($macro, "s", '', new ext_execif('$["${phone:0:'.strlen($useragent).'}" = "'.$useragent.'"]', 'Set',$autovar.'='.$data)); + } + break; + } + } + + // Now any adjustments have been made, set the headers and done + // + if ($has_answermacro) { + $ext->add($macro, "s", '', new ext_gotoif('$["${ANSWERMACRO}" != ""]','macro2')); + } + $ext->add($macro, "s", '', new ext_execif('$["${ALERTINFO}" != ""]', 'SipAddHeader','${ALERTINFO}')); + $ext->add($macro, "s", '', new ext_execif('$["${CALLINFO}" != ""]', 'SipAddHeader','${CALLINFO}')); + $ext->add($macro, "s", '', new ext_execif('$["${SIPURI}" != ""]', 'Set','__SIP_URI_OPTIONS=${SIPURI}')); + $ext->add($macro, "s", 'macro', new ext_macro('${DB(DEVICE/${ARG1}/autoanswer/macro)}','${ARG1}'), 'n',2); + if ($has_answermacro) { + $ext->add($macro, "s", 'macro2', new ext_macro('${ANSWERMACRO}','${ARG1}'), 'n',2); + } + + + // Create the paging context that is used in the paging application for each phone to auto-answer + // + $ext->addInclude('from-internal-additional',$extpaging); + + // Normal page version + $ext->add($extpaging, "_PAGE.", '', new ext_gotoif('$[ ${AMPUSER} = ${EXTEN:4} ]','skipself')); + $ext->add($extpaging, "_PAGE.", 'AVAIL', new ext_chanisavail('${DB(DEVICE/${EXTEN:4}/dial)}', 'js')); + $ext->add($extpaging, "_PAGE.", '', new ext_gotoif('$["${DB(DND/${DB(DEVICE/${EXTEN:4}/user)})}" = "YES"]', 'skipself')); + $ext->add($extpaging, "_PAGE.", 'SKIPCHECK', new ext_macro('autoanswer','${EXTEN:4}')); + $ext->add($extpaging, "_PAGE.", '', new ext_dial('${DIAL}','${DTIME},${DOPTIONS}')); + $ext->add($extpaging, "_PAGE.", 'skipself', new ext_hangup()); + $ext->add($extpaging, "_PAGE.", '', new ext_hangup(''), 'AVAIL',101); + + // Force page version + $ext->add($extpaging, "_FPAGE.", '', new ext_gotoif('$[ ${AMPUSER} = ${EXTEN:5} ]','skipself')); + $ext->add($extpaging, "_FPAGE.", 'SKIPCHECK', new ext_macro('autoanswer','${EXTEN:5}')); + $ext->add($extpaging, "_FPAGE.", '', new ext_dial('${DIAL}','${DTIME},${DOPTIONS}')); + $ext->add($extpaging, "_FPAGE.", 'skipself', new ext_hangup()); + + // + // Now get a list of all the paging groups... + $sql = "SELECT page_group, force_page, duplex FROM paging_config"; + $paging_groups = $db->getAll($sql, DB_FETCHMODE_ASSOC); + foreach ($paging_groups as $thisgroup) { + $grp=trim($thisgroup['page_group']); + $pagemode = $thisgroup['force_page'] ? 'FPAGE' : 'PAGE'; + $sql = "SELECT ext FROM paging_groups WHERE page_number='$grp'"; + $all_exts = $db->getAll($sql); + $dialstr=''; + foreach($all_exts as $local_dial) { + if (strtoupper(substr($local_dial[0],-1)) == "X") { + $local_dial[0] = rtrim($local_dial[0],"xX"); + } + + $dialstr .= "LOCAL/$pagemode".trim($local_dial[0])."@".$extpaging."&"; + } + // It will always end with an &, so lets take that off. + $dialstr = rtrim($dialstr, "&"); + + if ($thisgroup['duplex']) { + $dialstr .= ",d"; + } + $ext->add($extpaging, $grp, '', new ext_answer('')); + $ext->add($extpaging, $grp, '', new ext_macro('user-callerid')); + // make AMPUSER inherited here, so we can skip the proper 'self' if using cidnum masquerading + $ext->add($extpaging, $grp, '', new ext_setvar('_AMPUSER', '${AMPUSER}')); + + $ext->add($extpaging, $grp, '', new ext_setvar('_SIPURI', '')); + if (trim($alertinfo) != "") { + $ext->add($extpaging, $grp, '', new ext_setvar('_ALERTINFO', $alertinfo)); + } + if (trim($callinfo) != "") { + $ext->add($extpaging, $grp, '', new ext_setvar('_CALLINFO', $callinfo)); + } + if (trim($sipuri) != "") { + $ext->add($extpaging, $grp, '', new ext_setvar('_SIPURI', $sipuri)); + } + if (trim($vxml_url) != "") { + $ext->add($extpaging, $grp, '', new ext_setvar('_VXML_URL', $vxml_url)); + } + if (trim($doptions) != "") { + $ext->add($extpaging, $grp, '', new ext_setvar('_DOPTIONS', $doptions)); + } + $ext->add($extpaging, $grp, '', new ext_setvar('_DTIME', $dtime)); + $ext->add($extpaging, $grp, '', new ext_setvar('_ANSWERMACRO', '')); + foreach ($custom_vars as $key => $value) { + $ext->add($extpaging, $grp, '', new ext_setvar('_'.ltrim($key,'_'), $value)); + } + $ext->add($extpaging, $grp, '', new ext_setvar('__FORWARD_CONTEXT', 'block-cf')); + + $ext->add($extpaging, $grp, '', new ext_page($dialstr)); + } + + break; + } +} + +function paging_get_autoanswer_defaults() { + global $db; + + $sql = "SELECT * FROM paging_autoanswer WHERE useragent = 'default'"; + $results = $db->getAll($sql,DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + $results = array(); + } + return $results; +} + +function paging_get_autoanswer_useragents($useragent = '') { + global $db; + + $sql = "SELECT * FROM paging_autoanswer WHERE useragent != 'default' "; + if ($useragent != "") { + $sql .= "AND useragent = $useragent "; + } + $results = $db->getAll($sql,DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + $results = array(); + } + return $results; +} + +function paging_list() { + global $db; + + $sql = "SELECT page_group, description FROM paging_config ORDER BY page_group"; + $results = $db->getAll($sql,DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + $results = null; + } else { + foreach ($results as $key => $list) { + $results[$key][0] = $list['page_group']; + } + } + // There should be a checkRange here I think, but I haven't looked into it yet. + // return array('999', '998', '997'); + return $results; +} + +function paging_check_extensions($exten=true) { + global $active_modules; + + $extenlist = array(); + if (is_array($exten) && empty($exten)) { + return $extenlist; + } + + $sql = "SELECT page_group, description FROM paging_config "; + if (is_array($exten)) { + $sql .= "WHERE page_group in ('".implode("','",$exten)."')"; + } + $sql .= " ORDER BY page_group"; + $results = sql($sql,"getAll",DB_FETCHMODE_ASSOC); + + $type = isset($active_modules['paging']['type'])?$active_modules['paging']['type']:'setup'; + foreach ($results as $result) { + $thisexten = $result['page_group']; + $extenlist[$thisexten]['description'] = _("Page Group: ").$result['description']; + $extenlist[$thisexten]['status'] = 'INUSE'; + $extenlist[$thisexten]['edit_url'] = 'config.php?type='.urlencode($type).'setup&display=paging&selection='.urlencode($thisexten).'&action=modify'; + } + return $extenlist; +} + +function paging_get_devs($grp) { + global $db; + + // Just in case someone's trying to be smart with a SQL injection. + $grp = $db->escapeSimple($grp); + + $sql = "SELECT ext FROM paging_groups where page_number='$grp'"; + $results = $db->getAll($sql); + if(DB::IsError($results)) + $results = null; + foreach ($results as $val) + $tmparray[] = $val[0]; + return $tmparray; +} + +function paging_get_pagingconfig($grp) { + global $db; + + // Just in case someone's trying to be smart with a SQL injection. + $grp = $db->escapeSimple($grp); + + $sql = "SELECT * FROM paging_config WHERE page_group='$grp'"; + $results = $db->getRow($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($results)) { + $results = null; + } + $sql = "SELECT * FROM admin WHERE variable='default_page_grp' AND value='$grp'"; + $default_group = $db->getRow($sql, DB_FETCHMODE_ASSOC); + if(DB::IsError($default_group)) { + $results['default_group'] = 0; + } else { + $results['default_group'] = empty($default_group) ? 0 : $default_group['value']; + } + return $results; +} + +function paging_modify($oldxtn, $xtn, $plist, $force_page, $duplex, $description='', $default_group=0) { + global $db; + + // Just in case someone's trying to be smart with a SQL injection. + $xtn = $db->escapeSimple($xtn); + + // Delete it if it's there. + paging_del($oldxtn); + + // Now add it all back in. + paging_add($xtn, $plist, $force_page, $duplex, $description, $default_group); + + // Aaad we need a reload. + needreload(); + +} + +function paging_del($xtn) { + global $db; + $sql = "DELETE FROM paging_groups WHERE page_number='$xtn'"; + $res = $db->query($sql); + if (DB::isError($res)) { + var_dump($res); + die_freepbx("Error in paging_del(): "); + } + + $sql = "DELETE FROM paging_config WHERE page_group='$xtn'"; + $res = $db->query($sql); + if (DB::isError($res)) { + var_dump($res); + die_freepbx("Error in paging_del(): "); + } + sql("DELETE FROM `admin` WHERE variable = 'default_page_grp' AND value = '$xtn'"); + + needreload(); +} + +function paging_add($xtn, $plist, $force_page, $duplex, $description='', $default_group) { + global $db; + + // $plist contains a string of extensions, with \n as a seperator. + // Split that up first. + if (is_array($plist)) { + $xtns = $plist; + } else { + $xtns = explode("\n",$plist); + } + foreach (array_keys($xtns) as $val) { + $val = $db->escapeSimple(trim($xtns[$val])); + // Sanity check input. + + $sql = "INSERT INTO paging_groups(page_number, ext) VALUES ('$xtn', '$val')"; + $db->query($sql); + } + + $description = $db->escapeSimple(trim($description)); + $sql = "INSERT INTO paging_config(page_group, force_page, duplex, description) VALUES ('$xtn', '$force_page', '$duplex', '$description')"; + $db->query($sql); + + if ($default_group) { + sql("DELETE FROM `admin` WHERE variable = 'default_page_grp'"); + sql("INSERT INTO `admin` (variable, value) VALUES ('default_page_grp', '$xtn')"); + } else { + sql("DELETE FROM `admin` WHERE variable = 'default_page_grp' AND value = '$xtn'"); + } + + needreload(); +} + +function paging_check_default($extension) { + $sql = "SELECT ext FROM paging_groups WHERE ext = '$extension' AND page_number = (SELECT value FROM admin WHERE variable = 'default_page_grp' limit 1)"; + $results = sql($sql,"getAll"); + return (count($results) ? 1 : 0); +} + +function paging_set_default($extension, $value) { + $default_group = sql("SELECT value FROM `admin` WHERE variable = 'default_page_grp' limit 1", "getOne"); + if ($default_group == '') { + return false; + } + sql("DELETE FROM paging_groups WHERE ext = '$extension' AND page_number = '$default_group'"); + if ($value == 1) { + sql("INSERT INTO paging_groups (page_number, ext) VALUES ('$default_group', '$extension')"); + } +} + +function paging_configpageinit($pagename) { + global $currentcomponent; + + $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 'devices' or 'extensions' pages. + if ($pagename != 'devices' && $pagename != 'extensions') { + return true; + } + + if ($tech_hardware != null && ($pagename == 'extensions' || $pagename == 'devices')) { + paging_applyhooks(); + $currentcomponent->addprocessfunc('paging_configprocess', 8); + } elseif ($action=="add") { + // We don't need to display anything on an 'add', but we do need to handle returned data. + $currentcomponent->addprocessfunc('paging_configprocess', 8); + } elseif ($extdisplay != '') { + // We're now viewing an extension, so we need to display _and_ process. + paging_applyhooks(); + $currentcomponent->addprocessfunc('paging_configprocess', 8); + } +} + +function paging_applyhooks() { + global $currentcomponent; + + // Add the 'process' function - this gets called when the page is loaded, to hook into + // displaying stuff on the page. + $currentcomponent->addoptlistitem('page_group', '0', _("Exclude")); + $currentcomponent->addoptlistitem('page_group', '1', _("Include")); + $currentcomponent->setoptlistopts('page_group', 'sort', false); + + $currentcomponent->addguifunc('paging_configpageload'); +} + +/* +*/ +// This is called before the page is actually displayed, so we can use addguielem(). +function paging_configpageload() { + global $currentcomponent; + + // Init vars from $_REQUEST[] + $action = isset($_REQUEST['action']) ? $_REQUEST['action']:null; + $extdisplay = isset($_REQUEST['extdisplay']) ? $_REQUEST['extdisplay']:null; + $tech_hardware = isset($_REQUEST['tech_hardware']) ? $_REQUEST['tech_hardware']:''; + + // Don't display this stuff it it's on a 'This xtn has been deleted' page. + if ($action != 'del' && $tech_hardware != 'virtual') { + + $default_group = sql("SELECT value FROM `admin` WHERE variable = 'default_page_grp'", "getOne"); + $section = _("Default Group Inclusion"); + if ($default_group != "") { + $in_default_page_grp = paging_check_default($extdisplay); + $currentcomponent->addguielem($section, new gui_selectbox('in_default_page_grp', $currentcomponent->getoptlist('page_group'), $in_default_page_grp, _('Default Page Group'), _('You can include or exclude this extension/device from being part of the default page group when creating or editing.'), false)); + } + } +} + +function paging_configprocess() { + global $db; + + //create vars from the request + // + $action = isset($_REQUEST['action'])?$_REQUEST['action']:null; + $ext = isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:null; + $extn = isset($_REQUEST['extension'])?$_REQUEST['extension']:null; + $in_default_page_grp = isset($_REQUEST['in_default_page_grp'])?$_REQUEST['in_default_page_grp']:false; + + if (($_REQUEST['display'] == 'devices') && $action == 'add') { + $extdisplay = $_REQUEST['deviceid']; + } else { + $extdisplay = ($ext=='') ? $extn : $ext; + } + + if ($action == "add" || $action == "edit") { + if (!isset($GLOBALS['abort']) || $GLOBALS['abort'] !== true) { + if ($in_default_page_grp !== false) { + paging_set_default($extdisplay, $in_default_page_grp); + } + } + } elseif ($action == "del") { + $sql = "DELETE FROM paging_groups WHERE ext = '$extdisplay'"; + sql($sql); + } +} + +?> Index: /modules/branches/2.7/paging/page.paging.php =================================================================== --- /modules/branches/2.7/paging/page.paging.php (revision 7792) +++ /modules/branches/2.7/paging/page.paging.php (revision 7792) @@ -0,0 +1,244 @@ + + + +getCodeActive(); + unset($fcc); + $fcc = new featurecode('paging', 'intercom-on'); + $oncode = $fcc->getCodeActive(); + unset($fcc); + if ($oncode === '') { + $oncode = "("._("Disabled").")"; + } + $fcc = new featurecode('paging', 'intercom-off'); + $offcode = $fcc->getCodeActive(); + unset($fcc); + if ($offcode === '') { + $offcode = "("._("Disabled").")"; + } +?> +

+Feature Codes. Intercom must be enabled on a handset before it will allow incoming calls. It is possible to restrict incoming intercom calls to specific extensions only, or to allow intercom calls from all extensions but explicitly deny from specific extensions.

This module should work with Aastra, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM , and possibly other SIP phones (not ATAs). Any phone that is always set to auto-answer should also work (such as the console extension if configured).") +?>

%snnn:Intercom extension nnn
%s:Enable all extensions to intercom you (except those explicitly denied)
%snnn:Explicitly allow extension nnn to intercom you (even if others are disabled)
%s:Disable all extensions from intercom you (except those explicitly allowed)
%snnn:Explicitly deny extension nnn to intercom you (even if generally enabled)
"),$intercom_code,$oncode,$oncode,$offcode,$offcode); + } else { + echo _("Intercom mode is currently disabled, it can be enabled in the Feature Codes Panel."); + } +?> +

+ 20) { + $rows = 20; + } + + $delURL = $_SERVER['PHP_SELF']."?type=${type}&display=${display}&action=delete&selection=${xtn}"; + $tlabel = sprintf(_("Delete Group %s"),$xtn); + $label = ' '.$tlabel.''; + echo "".$label.""; + + } else { + $rows = 5; + } + if (!empty($conflict_url)) { + echo "
"._("Conflicting Extensions")."
"; + echo implode('
',$conflict_url); + } + + $config = paging_get_pagingconfig($xtn); + + $force_page = $config['force_page']; + $duplex = $config['duplex']; + $default_group = $config['default_group']; + $description = $config['description']; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; ?> + + + + + + + + + + + + + + + + + + + + +hookHtml; +?> + + + + +
"; + echo ($xtn)?_("Modify Paging Group"):_("Add Paging Group")."
:

"._("Select Device(s) to page. This is the phone that should be paged. In most installations, this is the same as the Extension. If you are configured to use \"Users & Devices\" this is the actual Device and not the User. Use Ctrl key to select multiple..") ?> +

+ + + +
+
tabindex="">
tabindex="">
tabindex="">

" tabindex="">
+ +
+

"._("Paging and Intercom")."

\n"; +} +?> Index: /modules/branches/2.7/paging/install.php =================================================================== --- /modules/branches/2.7/paging/install.php (revision 6895) +++ /modules/branches/2.7/paging/install.php (revision 6895) @@ -0,0 +1,149 @@ +setDescription('Intercom prefix'); +$fcc->setDefault('*80',false); +$fcc->update(); +unset($fcc); + +// User intercom enable code +$fcc = new featurecode('paging', 'intercom-on'); +$fcc->setDescription('User Intercom Allow'); +$fcc->setDefault('*54',false); +$fcc->update(); +unset($fcc); + +// User intercom disable +$fcc = new featurecode('paging', 'intercom-off'); +$fcc->setDescription('User Intercom Disallow'); +$fcc->setDefault('*55',false); +$fcc->update(); +unset($fcc); + +// Remove old tables that were never used +// +$sql = "DROP TABLE IF EXISTS paging_phones"; +$result = $db->query($sql); +if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); +} +$sql = "DROP TABLE IF EXISTS paging_overview"; +$result = $db->query($sql); +if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); +} + +$sql = "CREATE TABLE IF NOT EXISTS paging_groups + ( page_number VARCHAR(50), + ext VARCHAR(25), + PRIMARY KEY (page_number, ext) + )"; +$result = $db->query($sql); +if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); +} + +// Create table used to change defaults and customize +// for certain phone types +// +$sql = " +CREATE TABLE IF NOT EXISTS `paging_autoanswer` ( + `useragent` VARCHAR( 255 ) NOT NULL , + `var` VARCHAR( 20 ) NOT NULL , + `setting` VARCHAR( 255 ) NOT NULL , + PRIMARY KEY ( `useragent` , `var` ) +);"; +$result = $db->query($sql); +if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); +} + +// version 1.6 upgrade +$sql = "SELECT page_group FROM paging_config"; +$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if(DB::IsError($check)) { + // this table wasn't used up to this point, replace it with the new one + $sql = "DROP TABLE IF EXISTS paging_config;"; + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); + } + + $sql = "CREATE TABLE IF NOT EXISTS paging_config + ( page_group VARCHAR(255), + force_page INTEGER(1) NOT NULL, + duplex INTEGER(1) NOT NULL default '0', + description VARCHAR(255) NOT NULL default '', + PRIMARY KEY (page_group) + )"; + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); + } + + // insert default values + $sql = "INSERT INTO paging_config (page_group, force_page, duplex, description) SELECT DISTINCT page_number, 0, 0, '' FROM paging_groups"; + $result = $db->query($sql); + if(DB::IsError($result)) { + die_freepbx($result->getDebugInfo()); + } +} + +// Set the initial default values, if already + +// These are the three most common ways of auto answering. +// If the table is already populated then error will be ignored and user data will not get altered +// +$sql = "INSERT INTO paging_autoanswer (useragent, var, setting) VALUES ('default', 'CALLINFO', 'Call-Info: \\\\;answer-after=0')"; +$result = $db->query($sql); +$sql = "INSERT INTO paging_autoanswer (useragent, var, setting) VALUES ('default', 'ALERTINFO', 'Alert-Info: Ring Answer')"; +$result = $db->query($sql); +$sql = "INSERT INTO paging_autoanswer (useragent, var, setting) VALUES ('default', 'SIPURI', 'intercom=true')"; +$result = $db->query($sql); +$sql = "INSERT INTO paging_autoanswer (useragent, var, setting) VALUES ('Mitel', 'CALLINFO', 'Call-Info: \\\\;answer-after=0')"; +$result = $db->query($sql); + +// Add dulex field +// +$sql = "SELECT duplex FROM paging_config"; +$result = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if (DB::IsError($result)) { + $sql = "ALTER TABLE paging_config ADD duplex INTEGER(1) NOT NULL default '0'"; + $results = $db->query($sql); + if(DB::IsError($results)) { + die_freepbx($results->getMessage()); + } +} + +// Add description field +// +$sql = "SELECT description FROM paging_config"; +$result = $db->getRow($sql, DB_FETCHMODE_ASSOC); +if (DB::IsError($result)) { + $sql = "ALTER TABLE paging_config ADD description VARCHAR(255) NOT NULL default ''"; + $results = $db->query($sql); + if(DB::IsError($results)) { + die_freepbx($results->getMessage()); + } +} +// Make sure primary keys are set, they were not originally. Don't check for error, +// if they exist it will give an error +// sqlite3 does not support adding keys after the fact with ALTER. +// These keys are setup in the CREATE TABLE as of 2.5 anyway, so +// just ignore these queries for sqlite3 +if($amp_conf["AMPDBENGINE"] != "sqlite3") { + $sql = "ALTER TABLE `paging_groups` ADD PRIMARY KEY ( `page_number` , `ext` )"; + $result = $db->query($sql); + + $sql = "ALTER TABLE `paging_config` ADD PRIMARY KEY ( `page_group` )"; + $result = $db->query($sql); +} +?> Index: /modules/branches/2.7/restart/i18n/sv_SE/LC_MESSAGES/restart.po =================================================================== --- /modules/branches/2.7/restart/i18n/sv_SE/LC_MESSAGES/restart.po (revision 8397) +++ /modules/branches/2.7/restart/i18n/sv_SE/LC_MESSAGES/restart.po (revision 8397) @@ -0,0 +1,65 @@ +# 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 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-25 07:17+0200\n" +"PO-Revision-Date: 2009-08-25 07:17+0200\n" +"Last-Translator: Mikael Carlsson \n" +"Language-Team: SWEDISH \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.restart.php:44 page.restart.php:81 +msgid "Restart Phones" +msgstr "Starta om telefoner" + +#: page.restart.php:46 +msgid "Restart requests sent!" +msgstr "OmstartsbegÀran skickad!" + +#: page.restart.php:49 +msgid "" +"Warning: The restart mechanism behavior is vendor specific. Some vendors " +"only restart the phone if there is a change to the phone configuration or if " +"an updated firmware is available via tftp/ftp/http" +msgstr "" +"Varning: Omstartsfunktionen Àr specifik för respektive telefontillverkare. Vissa " +"tillverkare tillåter bara omstart om det har skett en förÀndring av telefonens konfiguration " +"eller om en mjukvaruuppdatering av telefonen skett via tftp/ftp/http." +#: page.restart.php:54 +msgid "Device List:" +msgstr "Enhetslista" + +#: page.restart.php:54 +msgid "" +"Select Device(s) to restart. Currently, only Aastra, Snom, Polycom, " +"Grandstream and Cisco devices are supported. All other devices will not " +"show up in this list. Click the \"Select All\" button to restart all " +"supported devices. " +msgstr "" +"VÀlj enhet(er) som ska startas om. För nÀrvarande Àr endast Aastra, Snom, Polycom, " +"Grandstream och Cisco-enheter som stöds. Andra enhter kommer inte att visas i denna lista. " +"Klicka på \"VÀlj alla\" för att starta om alla enheter som stöds." + +#: module.xml +msgid "Phone Restart" +msgstr "Telefonomstart" Index: /modules/branches/2.7/restart/i18n/restart.pot =================================================================== --- /modules/branches/2.7/restart/i18n/restart.pot (revision 8397) +++ /modules/branches/2.7/restart/i18n/restart.pot (revision 8397) @@ -0,0 +1,60 @@ +# 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 FreePBX +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-25 07:17+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.restart.php:44 page.restart.php:81 +msgid "Restart Phones" +msgstr "" + +#: page.restart.php:46 +msgid "Restart requests sent!" +msgstr "" + +#: page.restart.php:49 +msgid "" +"Warning: The restart mechanism behavior is vendor specific. Some vendors " +"only restart the phone if there is a change to the phone configuration or if " +"an updated firmware is available via tftp/ftp/http" +msgstr "" + +#: page.restart.php:54 +msgid "Device List:" +msgstr "" + +#: page.restart.php:54 +msgid "" +"Select Device(s) to restart. Currently, only Aastra, Snom, Polycom, " +"Grandstream and Cisco devices are supported. All other devices will not " +"show up in this list. Click the \"Select All\" button to restart all " +"supported devices. " +msgstr "" + +#: module.xml +msgid "Phone Restart" +msgstr "" Index: /modules/branches/2.7/restart/module.xml =================================================================== --- /modules/branches/2.7/restart/module.xml (revision 8403) +++ /modules/branches/2.7/restart/module.xml (revision 8403) @@ -0,0 +1,23 @@ + + restart + Bulk Phone Restart + 2.6.0.1 + Schmoozecom.com + GPLv2 + setup + Internal Options & Configuration + + *2.6.0.1* #3912 + *2.6.0.0* Initial release + + + 2.5.0 + + This module allows users to restart one or multiple phones that support being restarted via a SIP NOTIFY command through Asterisk's sip_notify.conf + + + Phone Restart + + release/2.6/restart-2.6.0.1.tgz + f1e42eda9266c98195fe51fa0985f488 + Index: /modules/branches/2.7/restart/page.restart.php =================================================================== --- /modules/branches/2.7/restart/page.restart.php (revision 8396) +++ /modules/branches/2.7/restart/page.restart.php (revision 8396) @@ -0,0 +1,101 @@ + + +
+ +

+\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + if($restarted) { + echo ""; + } + else { + echo ""; + + } + +?> + + + + + +hookHtml; +?> + + + + +

"._("Restart Phones")."

"._("Restart requests sent!")."

"._("Warning: The restart mechanism behavior is vendor specific. Some vendors only restart the phone if there is a change to the phone configuration or if an updated firmware is available via tftp/ftp/http"). "


"._("Select Device(s) to restart. Currently, only Aastra, Snom, Polycom, Grandstream and Cisco devices are supported. All other devices will not show up in this list. Click the \"Select All\" button to restart all supported devices. ") ?> +

+ + +

" tabindex="">
+ + Index: /modules/branches/2.7/restart/functions.inc.php =================================================================== --- /modules/branches/2.7/restart/functions.inc.php (revision 7472) +++ /modules/branches/2.7/restart/functions.inc.php (revision 7472) @@ -0,0 +1,103 @@ +getAll($sql); + if(DB::IsError($results)) + $results = null; + foreach ($results as $val) + $tmparray[] = $val[0]; + return $tmparray; +} + +function get_device_useragent($device) { + global $astman; + $response = $astman->send_request('Command',array('Command'=>"sip show peer $device")); + $astout = explode("\n",$response['data']); + $ua = ""; + foreach($astout as $entry) { + if(eregi("useragent",$entry)) { + list(,$value) = split(":",$entry); + $ua = trim($value); + } + } + if($ua) { + + if(stristr($ua,"Aastra")) { + return "aastra"; + } + if(stristr($ua,"Grandstream")) { + return "grandstream"; + } + if(stristr($ua,"snom")) { + return "snom"; + } + if(stristr($ua,"Cisco")) { + return "cisco"; + } + if(stristr($ua,"Polycom")) { + return "polycom"; + } + } + return null; +} +function restart_device($device) { + $ua = get_device_useragent($device); + switch($ua) { + case "aastra": + sip_notify("aastra-check-cfg",$device); + break; + case "grandstream": + sip_notify("grandstream-check-cfg",$device); + break; + case "snom": + sip_notify("reboot-snom",$device); + break; + case "cisco": + sip_notify("cisco-check-cfg",$device); + break; + case "polycom": + sip_notify("polycom-check-cfg",$device); + break; + default: + break; + + } +} +function sip_notify($event,$device) { + global $astman; + + $command = 'sip notify '.$event; + $command .= ' '.$device; + + // Send command + $res = $astman->Command($command); +} + +?> Index: /modules/branches/2.7/restart/etc/sip_notify.conf =================================================================== --- /modules/branches/2.7/restart/etc/sip_notify.conf (revision 7472) +++ /modules/branches/2.7/restart/etc/sip_notify.conf (revision 7472) @@ -0,0 +1,44 @@ +;--------------------------------------------------------------------------------; +; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ; +; this file must be done via the web gui. There are alternative files to make ; +; custom modifications, details at: http://freepbx.org/configuration_files ; +;--------------------------------------------------------------------------------; +; + +#include sip_notify_custom.conf +#include sip_notify_additional.conf + +; Restart Polycom devices +[polycom-check-cfg] +Event=>check-sync +Content-Length=>0 + +; Restart Sipura devices +[sipura-check-cfg] +Event=>resync +Content-Length=>0 + +; Restart Grandstream devices +[grandstream-check-cfg] +Event=>sys-control + +; Restart Cisco devices +[cisco-check-cfg] +Event=>check-sync +Content-Length=>0 + +; Restart snom devices +[reboot-snom] +Event=>reboot +Content-Length=>0 + +; Restart aastra devices +[aastra-check-cfg] +Event=>check-sync +Content-Length=>0 + +; Send request to Aastra device to poll an XML server +; See Aastra documentation for use +[aastra-xml] +Event=>aastra-xml +Content-Length=>0 Index: /modules/branches/2.7/restart/install.php =================================================================== --- /modules/branches/2.7/restart/install.php (revision 7472) +++ /modules/branches/2.7/restart/install.php (revision 7472) @@ -0,0 +1,7 @@ + Index: /modules/branches/2.7/phonebook/i18n/sv_SE/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/sv_SE/LC_MESSAGES/phonebook.po (revision 6958) +++ /modules/branches/2.7/phonebook/i18n/sv_SE/LC_MESSAGES/phonebook.po (revision 6958) @@ -0,0 +1,153 @@ +# 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 phonebook\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 11:01+0200\n" +"PO-Revision-Date: 2008-09-17 10:41+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" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "Telefonboken" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "borttagen" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "Importerade" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "rader med" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "Tömde telefonboken" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "Är du sÀker pÃ¥ att du vill tömma telefonboken?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "Telefonboken" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "Nummer" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "Namn" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "Kortnummer" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "Är du sÀker pÃ¥ att du vill ta bort denna post?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "Ta bort" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "Redigera" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "Exportera till CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "Töm telefonboken" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "LÀgg till eller byt ut" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "Namn:" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "Skriv in namnet" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "Nummer:" + +#: page.phonebook.php:164 +msgid "Enter the number (For caller ID lookup to work it should match the caller ID received from network)" +msgstr "Skriv in numret (För att nummerpresentationen ska fungera mÃ¥ste detta nummer vara samma som presenteras vid inkommande samtal)" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "Kortnummer" + +#: page.phonebook.php:169 +msgid "Enter a speed dial code
Speeddial module is required to use speeddial codes" +msgstr "Skriv in ett kortnummer
Modulen Kortnummer måste vara installerad och aktiv för att detta ska fungera" + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "Skapa kortnummer?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "Aktivera detta för att automatiskt skapa ett kortnummer för denna post" + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "Importera från CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "Filnamn:" + +#: page.phonebook.php:195 +msgid "Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123" +msgstr "Importera en CSV-fil formaterad enligt detta:
\"Namn\";Nummer;Snabbnummer
Namnen måste vara omslutna med \" och fÀlten måste vara separerade med ';'

T.ex. \"Nils Nilsson\";040123456;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "Ladda upp" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "Skriv in ett giltigt nummer" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "Skriv in ett giltigt namn" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "Skriv in ett giltigt kortnummer eller lÀmna detta fÀlt tomt" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "Asterisk telefonbok" + +msgid "Phonebook" +msgstr "Telefonbok" Index: /modules/branches/2.7/phonebook/i18n/bg_BG/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/bg_BG/LC_MESSAGES/phonebook.po (revision 7479) +++ /modules/branches/2.7/phonebook/i18n/bg_BG/LC_MESSAGES/phonebook.po (revision 7479) @@ -0,0 +1,155 @@ +# 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-09-16 11:01+0200\n" +"PO-Revision-Date: 2009-01-16 19:59+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" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "ТелефПМеМ Указател въвежЎаМе" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "ОзтрОтО" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "ВМесеМО" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "лОМОО Пт" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "ТелефПМеМ Указател ОзпразМеМ" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "СОгурМО лО сте че Оскате Ўа ОзпразМОте телефПММОя указател ?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "ТелефПМеМ Указател въвежЎаМОя" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "НПЌер" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "ИЌе" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "БързП ОзбОраМе" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "СОгурМО лО сте че Оскате Ўа ОзтрОете тПва въвежЎаМе ?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "ИзтрОй" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "РеЎактОрай" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "ИзвеЎО в CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "ИзпразМО ТелефПМеМ Указател" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "ДПбавО ОлО заЌеМО въвежЎаМе" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "ИЌе:" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "ВъвеЎете ОЌе" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "НПЌер:" + +#: page.phonebook.php:164 +msgid "Enter the number (For caller ID lookup to work it should match the caller ID received from network)" +msgstr "ВъвеЎете МПЌер ( За Ўа рабПтО CallerID слеЎеМе трябва Ўа съвпаЎа с МПЌера прОстОгащ Пт Ќрежата )" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "КПЎ за бързП ОзбОраМе:" + +#: page.phonebook.php:169 +msgid "Enter a speed dial code
Speeddial module is required to use speeddial codes" +msgstr "ВъвеЎете кПЎ за бързП ОзбОраМе.
MПЎула БързП ОзбОраМе се ОзОсква за Ўа ОзпПлзвате кПЎПве за бързП ОзбОраМе." + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "УстаМПвО БързП ИзбОраМе?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "МаркОрайте за атПЌатОчМП съзЎаваМе Ма бързП ОзбОраМе за тПзО МПЌер." + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "ВъвеЎО Пт CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "Ѐайл:" + +#: page.phonebook.php:195 +msgid "Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123" +msgstr "ВъвеЎете CSV Ѐайл фПрЌатОраМ кактП слеЎва:
\"ИЌе\";НПЌер;БързП ОзбОраМе
ИЌеМата трябва Ўа са ПграЎеМО с '\"' О пПлетата Ўа са разЎелеМО с ';'

ПрОЌер:
\"ИваМ ИваМПв\";12345678;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "ДПбавО" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "МПля въвеЎете правОлеМ НПЌер" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "МПля въвеЎете правОлМП ИЌе" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "МПля въвеЎете правОлеМ кПЎ за БързП ИзбОраМе ОлО Пставете празМП" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "ТелефПМеМ Указател" + +msgid "Phonebook" +msgstr "ТелефПМеМ Указател" + Index: /modules/branches/2.7/phonebook/i18n/he_IL/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/he_IL/LC_MESSAGES/phonebook.po (revision 2737) +++ /modules/branches/2.7/phonebook/i18n/he_IL/LC_MESSAGES/phonebook.po (revision 2737) @@ -0,0 +1,118 @@ +# Hebrew version for phonebook module of FreePBX +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-28 17:20+0300\n" +"PO-Revision-Date: 2006-09-28 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: phonebook/page.phonebook.php:84 +msgid "Phonebook entry" +msgstr "ךשומת ס׀ך טל׀ונים" + +#: phonebook/page.phonebook.php:84 +msgid "deleted" +msgstr "נמחקה" + +#: phonebook/page.phonebook.php:86 +msgid "Imported" +msgstr "יובאה" + +#: phonebook/page.phonebook.php:86 +msgid "lines of" +msgstr "שוךות מתוך" + +#: phonebook/page.phonebook.php:88 +msgid "Phonebook emptied" +msgstr "ס׀ך הטל׀ונים ׹וקן" + +#: phonebook/page.phonebook.php:101 +msgid "Phonebook entries" +msgstr "ךשומות ס׀ך טל׀ונים" + +#: phonebook/page.phonebook.php:105 +msgid "Number" +msgstr "מס׀ך" + +#: phonebook/page.phonebook.php:106 +msgid "Name" +msgstr "שם" + +#: phonebook/page.phonebook.php:107 +msgid "Speed dial" +msgstr "חיוג מהי׹" + +#: phonebook/page.phonebook.php:119 +msgid "Are you sure you want to delete this entry ?" +msgstr "האם אתה בטוח שאתה ׹ושה למחוק ךשומה זו ?" + +#: phonebook/page.phonebook.php:119 +msgid "Delete" +msgstr "מחק" + +#: phonebook/page.phonebook.php:121 +msgid "Edit" +msgstr "עךוך" + +#: phonebook/page.phonebook.php:128 +msgid "Export in CSV" +msgstr "יישא ל CSV" + +#: phonebook/page.phonebook.php:145 +msgid "Add or replace entry" +msgstr "הוסף או החלף עךך" + +#: phonebook/page.phonebook.php:148 +msgid "Number:" +msgstr "מס׀ך:" + +#: phonebook/page.phonebook.php:149 +msgid "" +"Enter the number (For caller ID lookup to work it should match the caller ID " +"received from network)" +msgstr "הכנס את המס׀ך (כדי שבדיקת זיהוי שיחות תעבוד, המס׀ך ש׹יך להיות תואם למס׀ך המתקבל בשיךות השיחה המזוהה של חבךת הטל׀ונים)" + +#: phonebook/page.phonebook.php:154 +msgid "Name:" +msgstr "שם:" + +#: phonebook/page.phonebook.php:154 +msgid "Enter the name" +msgstr "הכנס את השם" + +#: phonebook/page.phonebook.php:159 +msgid "Speed dial code:" +msgstr "קוד חיוג מהי׹" + +#: phonebook/page.phonebook.php:159 +msgid "" +"Enter a speed dial code
Speeddial module is required to use speeddial " +"codes" +msgstr "הכנס קוד חיוג מהי׹
מודול חיוג מהי׹ דךוש כדי להשתמש בקודי חיוג מהי׹" + +#: phonebook/page.phonebook.php:176 +msgid "Import from CSV" +msgstr "ייבא מ CSV" + +#: phonebook/page.phonebook.php:179 +msgid "File:" +msgstr "קובץ:" + +#: phonebook/page.phonebook.php:180 +msgid "" +"Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
" +"Names should be enclosed by '\"' and fields separated by ';'

" +"Example:
\"John Doe\";12345678;123" +msgstr "" +"ייבא קובץ CSV ל׀י השו׹ה הבא:
\"שם\";מס׀ך;חיוג-מהי׹
" +"שמות ש׹יכים להיות בין סימני '\"', ושדות ש׹יכים להיות מו׀ךדים על ידי ';'

" +"דוגמא:
\"ישךאל ישךאלי\";12345678;123" Index: /modules/branches/2.7/phonebook/i18n/zh_CN/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/zh_CN/LC_MESSAGES/phonebook.po (revision 7440) +++ /modules/branches/2.7/phonebook/i18n/zh_CN/LC_MESSAGES/phonebook.po (revision 7440) @@ -0,0 +1,174 @@ +# 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-09-16 11:01+0200\n" +"PO-Revision-Date: 2009-02-01 14:10+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" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "电话簿条目" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "已删陀" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "富å +¥äº†" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "行" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "ç”µè¯ç°¿å·²æž +空" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "äœ ç¡®å®šèŠæž +空电话簿吗" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "电话簿条目" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "号码" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "名称" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "快速拚号" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "䜠确定芁删陀歀条目吗" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "删陀" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "猖蟑" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "富出到CSV文件" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "æž +空电话簿" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "添加或取代条目" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "姓名" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "请蟓å +¥å§“名" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "号码" + +#: page.phonebook.php:164 +msgid "Enter the number (For caller ID lookup to work it should match the caller ID received from network)" +msgstr "蟓å +¥å·ç ïŒˆäžºäº†è®©æ­€æ¡ç›®åœšäž»å«IDäž­èµ·äœœç”šïŒŒè¿™äžªå·ç å¿ +须䞎圚眑络䞊接收到的䞻叫ID匹é +ïŒ‰" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "快速拚号代码" + +#: page.phonebook.php:169 +msgid "Enter a speed dial code
Speeddial module is required to use speeddial codes" +msgstr "蟓å +¥äž€äžªå¿«é€Ÿæ‹šå·ä»£ç 
䜿甚歀功胜需芁快速拚号暡块" + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "讟眮快速拚号" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "钩选歀项将自劚䞺这䞪号码创建快速拚号" + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "从CSV文件富å +¥" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "文件" + +#: page.phonebook.php:195 +msgid "Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123" +msgstr "富å +¥çš„CSV文件需芁å +·æœ‰è¿™æ ·çš„æ ŒåŒïŒš
\"名字\";号码;快速拚号代码
å +¶äž­åå­—èŠåŒ +含圚䞀对英文的匕号䞭闎各字段甚英文的分号隔匀。

䟋劂
\"John Doe\";12345678;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "䞊䌠" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "请蟓å +¥æœ‰æ•ˆçš„号码" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "请蟓å +¥æœ‰æ•ˆçš„名字" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "请蟓å +¥æœ‰æ•ˆçš„å¿«é€Ÿæ‹šå·ä»£ç ïŒŒæˆ–è€ +䞍填写也可" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "Asterisk电话簿" + +#: module.xml +msgid "Phonebook" +msgstr "电话簿" + Index: /modules/branches/2.7/phonebook/i18n/phonebook.pot =================================================================== --- /modules/branches/2.7/phonebook/i18n/phonebook.pot (revision 6958) +++ /modules/branches/2.7/phonebook/i18n/phonebook.pot (revision 6958) @@ -0,0 +1,160 @@ +# 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. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 11:01+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "" + +#: page.phonebook.php:164 +msgid "" +"Enter the number (For caller ID lookup to work it should match the caller ID " +"received from network)" +msgstr "" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "" + +#: page.phonebook.php:169 +msgid "" +"Enter a speed dial code
Speeddial module is required to use speeddial " +"codes" +msgstr "" + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "" + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "" + +#: page.phonebook.php:195 +msgid "" +"Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
" +"Names should be enclosed by '\"' and fields separated by ';'

" +"Example:
\"John Doe\";12345678;123" +msgstr "" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "" + +#: module.xml +msgid "Phonebook" +msgstr "" Index: /modules/branches/2.7/phonebook/i18n/it_IT/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/it_IT/LC_MESSAGES/phonebook.po (revision 7250) +++ /modules/branches/2.7/phonebook/i18n/it_IT/LC_MESSAGES/phonebook.po (revision 7250) @@ -0,0 +1,155 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 11:01+0200\n" +"PO-Revision-Date: 2008-11-05 19:32+0100\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" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "Voce di rubrica" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "cancellata" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "Importata" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "linee di" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "Rubrica svuotata" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "Sei sicuro di voler svuotare la Rubrica?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "Voci di rubrica" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "Numero" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "Nome" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "Selezione rapida" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "Sei sicuro di voler eliminare questa voce?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "Elimina" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "Modifica" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "Esporta in CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "Svuota Rubrica" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "Aggiungi o sostituisci voce" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "Nome:" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "Inserire il nome" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "Numero:" + +#: page.phonebook.php:164 +msgid "Enter the number (For caller ID lookup to work it should match the caller ID received from network)" +msgstr "Inserire il numero (Per far funzionare la ricerca dell'ID chiamante, deve corrispondere all'ID chiamante ricevuto dalla rete telefonica)" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "Codice Selezione rapida:" + +#: page.phonebook.php:169 +msgid "Enter a speed dial code
Speeddial module is required to use speeddial codes" +msgstr "Immettere un codice di selezione rapida
E' richiesto il modulo Speeddial per far funzionare i codici di selezione rapida" + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "Impostare Selezione Rapida?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "Controllare se il codice di Selezione Rapida per questo numero Ú stato regolarmente creato " + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "Applica" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "Importa dal CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "File:" + +#: page.phonebook.php:195 +msgid "Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123" +msgstr "Importa un file CSV formattato nel seguente modo:
\"Nome\";Numero;Codice
I nomi devono essere inclusi in '\"' e i campi separati da ';'

Esempio:
\"Mario Rossi\";12345678;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "Carica" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "Prego immettere un Numero valido" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "Prego immettere un Nome valido" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "Prego immettere un codice di Selezione Rapida valido oppure lasciarlo vuoto" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "Rubrica" + +#: module.xml +msgid "Phonebook" +msgstr "Rubrica" + Index: /modules/branches/2.7/phonebook/i18n/ru_RU/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/ru_RU/LC_MESSAGES/phonebook.po (revision 7343) +++ /modules/branches/2.7/phonebook/i18n/ru_RU/LC_MESSAGES/phonebook.po (revision 7343) @@ -0,0 +1,172 @@ +# 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 phonebook.new -f UTF-8 -t ISO-8859-5 -o phonebook.po +# fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 11:01+0200\n" +"PO-Revision-Date: 2008-01-16 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "·Ðߨáì Ò âÕÛÕäÞÝÝÞÙ ÚÝØÚÕ" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "ãÔÐÛÕÝÞ" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "žÜßÞàâØàÞÒÐÝÞ" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "áâàÞÚ Ò" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "ÂÕÛÕäÞÝÝÐï ÚÝØÓÐ ÞçØéÕÝÐ" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "ÃÒÕàÕÝë Ò âÞÜ, çâÞ åÞâØâÕ ÞçØáâØâì ÒÐèã âÕÛÕäÞÝÝãî ÚÝØÓã?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "·ÐßØáØ Ò âÕÛÕäÞÝÝÞÙ ÚÝØÓÕ" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "œÞÜÕà" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "žÜï" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "±ëáâàëÙ ÝÐÑÞà" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "²ë åÞâØâÕ ãÔÐÛØâì íâã ×Ðߨáì?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "ÃÔÐÛØâì" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "ÀÕÔÐÚâØàÞÒÐâì" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "ÍÚáßÞàâØàÞÒÐâì Ò äÞàÜÐâ CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "ŸçØáâØâì ÂÕÛÕäÞÝÝãî ÚÝØÓã" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "ŽÞÑÐÒØâì ØÛØ ×ÐÜÕÝØâì ×Ðߨáì" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "žÜï:" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "²ÒÕÔØâÕ ØÜï" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "œÞÜÕà:" + +#: page.phonebook.php:164 +msgid "" +"Enter the number (For caller ID lookup to work it should match the caller ID " +"received from network)" +msgstr "" +"²ÒÕÔØâÕ ÝÞÜÕà (ÔÛï ßÞØáÚÐ ßÞ œÞÜÕàã žŽ " +"ßÞÛãçÕÝÝÞÓÞ Ø× áÕâØ)" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "ºÞÔ ÑëáâàÞÓÞ ÝÐÑÞàÐ:" + +#: page.phonebook.php:169 +msgid "" +"Enter a speed dial code
Speeddial module is required to use speeddial " +"codes" +msgstr "" +"²ÒÕÔØâÕ ÚÞÔ ÑëáâàÞÓÞ ÝÐÑÞàÐ
¿ÞÝÐÔÞÑØâáï " +"ÜÞÔãÛì Speeddial ÔÛï ØáßÞÛì×ÞÒÐÝØï ÒÞ×ÜÞÖÝÞáâØ " +"ÑëáâàÞÓÞ ÝÐÑÞàÐ" + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "ÃáâÐÝÞÒØâì ÑëáâàëÙ ÝÐÑÞà?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "¿àÞÒÕàïâì Õáâì ÛØ ÑëáâàëÙ ÝÐÑÞà ÐÒâÞÜÐâØçÕáÚØ ÔÛï íâÞÓÞ ÝÞÜÕàÐ" + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "¿àØÜÕÝØâì Ø×ÜÕÝØâì" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "žÜßÞàâØàÞÒÐâì Ø× äÐÙÛÐ CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "ÄÐÙÛ:" + +#: page.phonebook.php:195 +msgid "" +"Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
" +"Names should be enclosed by '\"' and fields separated by ';'

" +"Example:
\"John Doe\";12345678;123" +msgstr "" +"žÜßÞàâØàÞÒÐâìäÐÙÛ CSV áäÞàÜÐâØàÞÒÐÝÝëÙ áÛÕÔãîéØÜ " +"ÞÑàÐ×ÞÜ:
\"žÜï\";œÞÜÕà;ºÞÔ ÑëáâàÞÓÞ ÝÐÑÞàÐ
" +"žÜÕÝÐ Ø ÄÐÜØÛØØ ÔÞÛÖÝë Ñëâì ×ÐÚÛîçÕÝë Ò " +"ÔÒÞÙÝëÕ ÚÐÒëçÚØ, Ð ßÞÛï àÐ×ÔÕÛïîâáï áØÜÒÞÛÞÜ " +"âÞçÚÐ á ×ÐßïâÞÙ ';'

œÐßàØÜÕà:
\"²Ðáï " +"¿ÕçÚØÝ\";12345678;777" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "·ÐÓàãרâì" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "²ÒÕÔØâÕ ßàÐÒØÛìÝëÙ ÝÞÜÕà" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "²ÒÕÔØâÕ ßàÐÒØÛìÝÞÕ ØÜï" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "²ÒÕÔØâÕ ßàÐÒØÛìÝëÙ ÚÞÔ ÑëáâàÞÓÞ ÝÐÑÞàÐ" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "ÂÕÛÕäÞÝÝÐï ÚÝØÓÐ °áâÕàØáÚ" + +#: module.xml +msgid "Phonebook" +msgstr "ÂÕÛÕäÞÝÝÐï ÚÝØÓÐ" Index: /modules/branches/2.7/phonebook/i18n/es_ES/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/es_ES/LC_MESSAGES/phonebook.po (revision 7479) +++ /modules/branches/2.7/phonebook/i18n/es_ES/LC_MESSAGES/phonebook.po (revision 7479) @@ -0,0 +1,151 @@ +msgid "" +msgstr "" +"Project-Id-Version: FreePBX - módulo phonebook module spanish translation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-16 11:01+0200\n" +"PO-Revision-Date: 2009-01-23 00:14+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" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "Elemento del listín telefónico" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "Eliminado" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "Importado" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "Líneas de" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "Listín telefónico vaciado" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "¿Está seguro de que desea vaciar el listín telefónico?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "Elementos del listín telefónico" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "Número" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "Nombre" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "Código de acceso directo" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "¿Está seguro de que desea eliminar este elemento?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "Eliminar" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "Editar" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "Exportar a CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "Vaciar listín telefónico" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "Añadir o reemplazar elemento" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "Nombre:" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "Introduzca el nombre." + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "Número:" + +#: page.phonebook.php:164 +msgid "Enter the number (For caller ID lookup to work it should match the caller ID received from network)" +msgstr "Introduzca el número (para que la búsqueda de identificador de llamante funcione, este valor debería coincidir con el identificador de llamante suministrado por la red)" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "Código de marcación rápida:" + +#: page.phonebook.php:169 +msgid "Enter a speed dial code
Speeddial module is required to use speeddial codes" +msgstr "Introduzca un código de marcación rápida.
Es necesario el módulo de 'Marcación rápida' para que funcione." + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "¿Crear código de marcación rápida?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "Marque esta casilla para crear automáticamente un código de marcación rápida para este número." + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "Enviar cambios" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "Importar desde CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "Archivo:" + +#: page.phonebook.php:195 +msgid "Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123" +msgstr "Importar un archivo CSV formateado como sigue:
\"Nombre\";Número;CódigoMarcaciónRapida
Los nombres deben ir entre comillas (\"\") y los campos separados por punto y coma (;).

Por ejemplo:
\"John Doe\";12345678;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "Enviar" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "Por favor, introduzca un número válido." + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "Por favor, introduzca un nombre válido." + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "Por favor, introduzca un código de marcación rápida válido." + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "Listín telefónico de Asterisk" + +#: module.xml +msgid "Phonebook" +msgstr "Listín telefónico" + Index: /modules/branches/2.7/phonebook/i18n/fr_FR/LC_MESSAGES/phonebook.po =================================================================== --- /modules/branches/2.7/phonebook/i18n/fr_FR/LC_MESSAGES/phonebook.po (revision 8152) +++ /modules/branches/2.7/phonebook/i18n/fr_FR/LC_MESSAGES/phonebook.po (revision 8152) @@ -0,0 +1,179 @@ +# 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 Séverine GUTIERREZ, severine@medialsace.fr +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-17 11:09+0200\n" +"PO-Revision-Date: 2009-04-15 22:43+0100\n" +"Last-Translator: Séverine GUTIERREZ \n" +"Language-Team: Français \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.phonebook.php:90 +msgid "Phonebook entry" +msgstr "Entrée de l'annuaire" + +#: page.phonebook.php:90 +msgid "deleted" +msgstr "supprimé" + +#: page.phonebook.php:92 +msgid "Imported" +msgstr "Importé" + +#: page.phonebook.php:92 +msgid "lines of" +msgstr "lignes de" + +#: page.phonebook.php:94 +msgid "Phonebook emptied" +msgstr "Annuaire vidé" + +#: page.phonebook.php:102 +msgid "Are you sure you want to empty your phonebook ?" +msgstr "Êtes-vous sûr de vouloir vider votre annuaire ?" + +#: page.phonebook.php:107 +msgid "Phonebook entries" +msgstr "Entrées de l'annuaire" + +#: page.phonebook.php:111 +msgid "Number" +msgstr "Numéro" + +#: page.phonebook.php:112 +msgid "Name" +msgstr "Nom" + +#: page.phonebook.php:113 +msgid "Speed dial" +msgstr "Numérotation abrégée" + +#: page.phonebook.php:125 +msgid "Are you sure you want to delete this entry ?" +msgstr "Êtes-vous sûr de vouloir supprimer cette entrée ?" + +#: page.phonebook.php:125 +msgid "Delete" +msgstr "Supprimer" + +#: page.phonebook.php:130 +msgid "Edit" +msgstr "Editer" + +#: page.phonebook.php:137 +msgid "Export in CSV" +msgstr "Exporter au format CSV" + +#: page.phonebook.php:137 +msgid "Empty Phonebook" +msgstr "Vider l'Annuaire" + +#: page.phonebook.php:154 +msgid "Add or replace entry" +msgstr "Ajouter ou remplacer une entrée" + +#: page.phonebook.php:158 +msgid "Name:" +msgstr "Nom :" + +#: page.phonebook.php:158 +msgid "Enter the name" +msgstr "Entrez le nom" + +#: page.phonebook.php:163 +msgid "Number:" +msgstr "Numéro :" + +#: page.phonebook.php:164 +msgid "" +"Enter the number (For caller ID lookup to work it should match the caller ID " +"received from network)" +msgstr "" +"Entrez le numéro (Pour que la recherche de l'identifiant de l'interlocuteur fonctionne " +"elle doit correspondre à l'identifiant de l'interlocuteur reçu du réseau)" + +#: page.phonebook.php:169 +msgid "Speed dial code:" +msgstr "Code de numérotation abrégée :" + +#: page.phonebook.php:169 +msgid "" +"Enter a speed dial code
Speeddial module is required to use speeddial " +"codes" +msgstr "" +"Entrez un code de numérotation abrégée
Le module de numérotation abrégée (Speddial) " +"est requis pour utiliser les codes de numérotation abrégée." + +#: page.phonebook.php:174 +msgid "Set Speed Dial?" +msgstr "Définir la numérotation abrégée ?" + +#: page.phonebook.php:174 +msgid "Check to have a speed dial created automatically for this number" +msgstr "Cochez cette case pour créer automatiquement une numérotation abrégée pour ce numéro" + +#: page.phonebook.php:178 +msgid "Submit Changes" +msgstr "Appliquer les modifications" + +#: page.phonebook.php:191 +msgid "Import from CSV" +msgstr "Importer d'un fichier CSV" + +#: page.phonebook.php:194 +msgid "File:" +msgstr "Fichier :" + +#: page.phonebook.php:195 +msgid "" +"Import a CSV File formatted as follows:
\"Name\";Number;Speeddial
" +"Names should be enclosed by '\"' and fields separated by ';'

" +"Example:
\"John Doe\";12345678;123" +msgstr "" +"Importer un fichier CSV formatté comme suit :
\"Nom\";Numéro;Numérotation abrégée
" +"Les noms doivent être encadrés de '\"' et les champs séparés par ';'

" +"Exemple :
\"John Doe\";12345678;123" + +#: page.phonebook.php:200 +msgid "Upload" +msgstr "Upload" + +#: page.phonebook.php:211 +msgid "Please enter a valid Number" +msgstr "Entrez un numéro valide" + +#: page.phonebook.php:212 +msgid "Please enter a valid Name" +msgstr "Entrez un nom valide" + +#: page.phonebook.php:213 +msgid "Please enter a valid Speeddial code or leave it empty" +msgstr "Entrez un code de numérotation abrégée valide ou laissez vide" + +#: module.xml +msgid "Asterisk Phonebook" +msgstr "Annuaire Asterisk" + +#: module.xml +msgid "Phonebook" +msgstr "Annuaire" Index: /modules/branches/2.7/phonebook/module.xml =================================================================== --- /modules/branches/2.7/phonebook/module.xml (revision 7944) +++ /modules/branches/2.7/phonebook/module.xml (revision 7944) @@ -0,0 +1,23 @@ + + phonebook + Phonebook + 2.6.0.0 + FreePBX + GPLv2+ + Provides a phonebook for FreePBX, it can be used as base for Caller ID Lookup and Speed Dial + tool + System Administration + + Asterisk Phonebook + + release/2.6/phonebook-2.6.0.0.tgz + 2515bdf0aebeec2ff87b813c2c17881a + + *2.6.0.0* localizations, misc + *2.5.0.2* localization changes, Swedish + *2.5.0.1* #3009 spelling + *2.5.0* #1821, #2845 tabindex + *2.4.0.1* #2843 Russian Translation + *2.4.0* CHANGELOG TRUNCATED See SVN Repository + + Index: /modules/branches/2.7/phonebook/page.phonebook.php =================================================================== --- /modules/branches/2.7/phonebook/page.phonebook.php (revision 6693) +++ /modules/branches/2.7/phonebook/page.phonebook.php (revision 6693) @@ -0,0 +1,229 @@ + $values) + printf("\"%s\";%s;%s\n", $values['name'], $number, $values['speeddial']); + die_freepbx(); + break; + } +} + +$numbers = phonebook_list(); + +?> + + + + + + +

+'._("Phonebook entry").' '.$itemid.' '._("deleted").' !'; +elseif ($action == 'import') + echo '

'._("Imported").' '.$i.' '._("lines of").' '.$n.' '.'!

'; +elseif ($action == 'empty') + echo '

'._("Phonebook emptied").' !

'; + +if (is_array($numbers)) { + +?> + + + +');"> + + + + + + + + + + + + + + + + $values) { + print(''); + printf('', $num, $values['name'], $values['speeddial']); + printf('', + $_SERVER['PHP_SELF'], urlencode($dispnum), urlencode($num), _("Are you sure you want to delete this entry ?"), _("Delete")); + printf('', + $num, addslashes($values['name']), $values['speeddial'], $num, _("Edit")); + print(''); + } + +?> + + + + + + +

  
%s%s%s%s%s

">
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
Speeddial module is required to use speeddial codes")?>

" tabindex="">
+ + + + + + + + + + + + + + + + + + + +

+ \"Name\";Number;Speeddial
Names should be enclosed by '\"' and fields separated by ';'

Example:
\"John Doe\";12345678;123")?>

" tabindex="">
+ Index: /modules/branches/2.7/phonebook/functions.inc.php =================================================================== --- /modules/branches/2.7/phonebook/functions.inc.php (revision 5896) +++ /modules/branches/2.7/phonebook/functions.inc.php (revision 5896) @@ -0,0 +1,155 @@ +database_show(); + foreach ($list as $k => $v) { + if (isset($v)) { // Somehow, a 'null' value is leaking into astdb. + if (substr($k, 1, 7) == 'cidname') + $numbers['foo'.substr($k, 9)]['name'] = $v ; + if (substr($k, 1, 13) == 'sysspeeddials') + $numbers['foo'.$v]['speeddial'] = substr($k, 15) ; + } + } + + if (isset($numbers) && is_array($numbers)) { + foreach ($numbers as $key => $row) { + $names[$key] = strtolower($row['name']); + } + // Array multisort renumber keys if they are numeric, (casting doesn't work), that's why I added 'foo' in front of the key + // Quite ugly, I know... should recode it + array_multisort($names, SORT_ASC, SORT_STRING, $numbers); + foreach ($numbers as $key => $value) { + $retnumbers[substr($key, 3)] = $value; + } + } + + return isset($retnumbers)?$retnumbers:null; + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } +} + +function phonebook_del($number, $speeddial){ + global $amp_conf; + global $astman; + + if ($astman) { + $astman->database_del("cidname",$number); + if ($speeddial != '') + $astman->database_del("sysspeeddials",$speeddial); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } +} + +function phonebook_empty(){ + global $amp_conf; + global $astman; + + if ($astman) { + $astman->database_deltree("cidname"); + $astman->database_deltree("sysspeeddials"); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + } +} + +function phonebook_add($number, $name, $speeddial, $gensd){ + global $amp_conf; + global $astman; + + if(!phonebook_chk($number)) + return false; + + if ($astman) { + // Was the user a twonk and didn't specify a speeddial? + // Should we really automatically generate a speeddial ? definatly only when gensd is checked + // If yes I think we should start from 99 going down and leave easier speeddials to users + + if ($gensd == "yes"){ + if (empty($speeddial)) { + for ($nbr = 99; $nbr > 0; $nbr--) { + if ($astman->database_get("sysspeeddials",sprintf("%02d",$nbr))===false) { + $speeddial = sprintf("%02d", $nbr); + break; + } + } + } + } + $astman->database_put("cidname",$number, '"'.$name.'"'); + if ($speeddial != '') + $astman->database_put("sysspeeddials",$speeddial, '"'.$number.'"'); + } else { + fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); + + } +} + + +// TODO: ensures post vars is valid +function phonebook_chk($post){ + return true; +} + +/* +* @version V1.01 16 June 2004 (c) Petar Nedyalkov (bu@orbitel.bg). All rights reserved. +* Released under the GPL license. +* http://bu.orbitel.bg/fgetcsvfromline.php +*/ + +function phonebook_fgetcsvfromline ($line, $columnCount, $delimiterChar = ';', $enclosureChar = '"') { + $regExpSpecialChars = array ( + "|" => "\\|", + "&" => "\\&", + "$" => "\\$", + "(" => "\\(", + ")" => "\\)", + "^" => "\\^", + "[" => "\\[", + "]" => "\\]", + "{" => "\\{", + "}" => "\\}", + "." => "\\.", + "*" => "\\*", + "\\" => "\\\\", + "/" => "\\/" + ); + + $matches = array(); + $delimiterChar = strtr($delimiterChar, $regExpSpecialChars); + $enclosureChar = strtr($enclosureChar, $regExpSpecialChars); + + $regExp = "/^"; + for ($i = 0; $i < $columnCount; $i++) { + $regExp .= '('.$enclosureChar.'?)(.*)\\'.(2*$i + 1).$delimiterChar; // construct the regular expression + } + $regExp = substr($regExp, 0, (strlen($regExp) - strlen($delimiterChar)))."/"; // format the regular expression + + if (preg_match($regExp, $line, $matches)) { + $result = array(); + for ($i = 1; $i < count($matches)/2; $i++) { + if (strlen($matches[2*$i]) < 1) + $matches[2*$i] = ""; + $result[$i] = $matches[2*$i]; // get only the fields but not the delimiters + } + return $result; + } + return FALSE; +} + +?> Index: /modules/branches/2.7/timeconditions/i18n/sv_SE/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/sv_SE/LC_MESSAGES/timeconditions.po (revision 7647) +++ /modules/branches/2.7/timeconditions/i18n/sv_SE/LC_MESSAGES/timeconditions.po (revision 7647) @@ -0,0 +1,325 @@ +# Swedish translation by Mikael Carlsson +# Copyright (C) 2007 +# This file is distributed under the same license as the FreePBX package. +# Mikael Carlsson , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: FreePBX timeconditions\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-06 12:39+0200\n" +"PO-Revision-Date: 2009-03-11 18:03+0100\n" +"Last-Translator: Mikael Carlsson \n" +"Language-Team: Svenska\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:18 +#: functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "Tidsvillkor: %s" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "Beskrivningen kan bara inehÃ¥lla alfa-numeriska tecken och den kan inte vara tom" + +#: functions.inc.php:358 +#: functions.inc.php:367 +#: functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "Tidgrupp" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr " borttagen!" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "LÀgg till tidgrupp" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "Description" +msgstr "Beskrivning" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "Detta kommer att visas som namnet för denna tidgrupp." + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "Redigera tidgrupp" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "Ta bort tidgruppen %s" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "AnvÀnds av" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "Ny tid" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "--VÀlj grupp-- " + +#: functions.inc.php:546 +msgid "text" +msgstr "text" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "Startid:" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "Sluttid:" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "Start veckodag:" + +#: functions.inc.php:686 +#: functions.inc.php:749 +msgid "Monday" +msgstr "MÃ¥ndag" + +#: functions.inc.php:693 +#: functions.inc.php:756 +msgid "Tuesday" +msgstr "Tisdag" + +#: functions.inc.php:700 +#: functions.inc.php:763 +msgid "Wednesday" +msgstr "Onsdag" + +#: functions.inc.php:707 +#: functions.inc.php:770 +msgid "Thursday" +msgstr "Torsdag" + +#: functions.inc.php:714 +#: functions.inc.php:777 +msgid "Friday" +msgstr "Fredag" + +#: functions.inc.php:721 +#: functions.inc.php:784 +msgid "Saturday" +msgstr "Lördag" + +#: functions.inc.php:728 +#: functions.inc.php:791 +msgid "Sunday" +msgstr "Söndag" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "Slut veckodag:" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "Startdag:" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "Slutdag:" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "StartmÃ¥nad:" + +#: functions.inc.php:882 +#: functions.inc.php:981 +msgid "January" +msgstr "Januari" + +#: functions.inc.php:889 +#: functions.inc.php:988 +msgid "February" +msgstr "Februari" + +#: functions.inc.php:896 +#: functions.inc.php:995 +msgid "March" +msgstr "Mars" + +#: functions.inc.php:903 +#: functions.inc.php:1002 +msgid "April" +msgstr "April" + +#: functions.inc.php:910 +#: functions.inc.php:1009 +msgid "May" +msgstr "Maj" + +#: functions.inc.php:917 +#: functions.inc.php:1016 +msgid "June" +msgstr "Juni" + +#: functions.inc.php:924 +#: functions.inc.php:1023 +msgid "July" +msgstr "Juli" + +#: functions.inc.php:931 +#: functions.inc.php:1030 +msgid "August" +msgstr "Augusti" + +#: functions.inc.php:938 +#: functions.inc.php:1037 +msgid "September" +msgstr "September" + +#: functions.inc.php:945 +#: functions.inc.php:1044 +msgid "October" +msgstr "Oktober" + +#: functions.inc.php:952 +#: functions.inc.php:1051 +msgid "November" +msgstr "November" + +#: functions.inc.php:959 +#: functions.inc.php:1058 +msgid "December" +msgstr "December" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "SlutmÃ¥nad:" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "konverterar fÀltet time till int.." + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "FEL: kunde inte konvertera fÀlt" + +#: install.php:134 +msgid "OK" +msgstr "OK" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "Kontrollerar om Àldre tidskonditioner behöver uppgraderas.." + +#: install.php:153 +msgid "starting migration" +msgstr "startar migrering" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "Uppgraderade %s och skapade grupp %s" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "%sVARNING:%s Ingen tid definierad för denna kondition, kontrollera detta" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "ingen uppgradering behövs" + +#: page.timeconditions.php:50 +#: page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "LÀgg till tidsvillkor" + +#: page.timeconditions.php:63 +msgid "Time Condition" +msgstr "Tidsvillkor" + +#: page.timeconditions.php:63 +msgid "deleted" +msgstr "raderad" + +#: page.timeconditions.php:66 +msgid "Time Condition:" +msgstr "Tidsvillkor:" + +#: page.timeconditions.php:71 +#, php-format +msgid "Delete Time Condition: %s" +msgstr "Ta bort tidsvillkor: %s" + +#: page.timeconditions.php:89 +msgid "Edit Time Condition" +msgstr "Redigera tidsvillkor" + +#: page.timeconditions.php:96 +msgid "Time Condition name:" +msgstr "Namn för tidsvillkor:" + +#: page.timeconditions.php:96 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "Ge denna tidsvillkor ett kortfattat namn som hjÀlper dig att identifiera den." + +#: page.timeconditions.php:100 +msgid "Time Group:" +msgstr "Tidgrupp" + +#: page.timeconditions.php:100 +msgid "Select a Time Group created under Time Groups. Matching times will be sent to matching destination. If no group is selected, call will always go to no-match destination." +msgstr "VÀlj en tidgrupp skapad under Tidgrupper. Matchande tider kommer att gÃ¥ till respektive destination. Om ingen grupp vÀljs kommer samtalen alltid att gÃ¥ till Destination om tiden inte matchar." + +#: page.timeconditions.php:107 +msgid "Goto Current Time Group" +msgstr "GÃ¥ till aktuell tidgrupp" + +#: page.timeconditions.php:119 +msgid "Destination if time matches" +msgstr "Destination om tiden matchar" + +#: page.timeconditions.php:129 +msgid "Destination if time does not match" +msgstr "Destination om tiden inte matchar" + +#: page.timeconditions.php:141 +msgid "Submit Changes" +msgstr "Spara Àndringar" + +#: page.timeconditions.php:151 +msgid "Please enter a valid Time Conditions Name" +msgstr "Skriv in ett giltigt namn för tidvillkoret" + +#: page.timeconditions.php:152 +msgid "You have not selected a time group to associate with this timecondition. It will go to the un-matching destination until you update it with a valid group" +msgstr "Du har inte valt en tidgrupp för detta tidsvillkoret. Detta innebÀr att Destination, om tiden inte matchar, alltid kommer att vara aktiv." + +#: page.timegroups.php:26 +msgid "Server time:" +msgstr "Servertid:" + +#: module.xml +msgid "Time Conditions" +msgstr "Tidsvillkor" + +msgid "Time Groups" +msgstr "Tidgrupper" + +#: dirty fix for menus +msgid "Add" +msgstr "LÀgg till " + +msgid "Submit" +msgstr "Spara Àndringar" + Index: /modules/branches/2.7/timeconditions/i18n/bg_BG/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/bg_BG/LC_MESSAGES/timeconditions.po (revision 7250) +++ /modules/branches/2.7/timeconditions/i18n/bg_BG/LC_MESSAGES/timeconditions.po (revision 7250) @@ -0,0 +1,330 @@ +# 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-06 12:39+0200\n" +"PO-Revision-Date: 2008-11-03 01:00+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:18 +#: functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "ВреЌевП УслПвОе: %s" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "ОпОсаМОетП трябва Ўа буквеМП-цОфреМП, О Ме трябва Ўа е празМП" + +#: functions.inc.php:358 +#: functions.inc.php:367 +#: functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "ВреЌева Група" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr "ОзтрОта!" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "ДПбавО ВреЌева Група" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "Description" +msgstr "ОпОсаМОе" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "ТПва ще се ОзпОше за ОЌе Ма тазО ВреЌева Група." + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "РеЎактОрай ВреЌева Група" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "ИзтрОй ВреЌева Група %s" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "ИзпПлзваМа Пт" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "НПвП ВреЌе" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "--Изберете група--" + +#: functions.inc.php:546 +msgid "text" +msgstr "текст" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "ВреЌе (час/ЌОМутО) за МачалП:" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "ВреЌе (час/ЌОМутО) за край:" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "ДеМ Пт сеЎЌОцата за МачалП:" + +#: functions.inc.php:686 +#: functions.inc.php:749 +msgid "Monday" +msgstr "ППМеЎелМОк" + +#: functions.inc.php:693 +#: functions.inc.php:756 +msgid "Tuesday" +msgstr "ВтПрМОк" + +#: functions.inc.php:700 +#: functions.inc.php:763 +msgid "Wednesday" +msgstr "СряЎа" + +#: functions.inc.php:707 +#: functions.inc.php:770 +msgid "Thursday" +msgstr "Четвъртък" + +#: functions.inc.php:714 +#: functions.inc.php:777 +msgid "Friday" +msgstr "Петък" + +#: functions.inc.php:721 +#: functions.inc.php:784 +msgid "Saturday" +msgstr "СъбПта" + +#: functions.inc.php:728 +#: functions.inc.php:791 +msgid "Sunday" +msgstr "НеЎеля" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "ДеМ Пт сеЎЌОцата за край:" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "ДеМ Пт Ќесеца за МачалП:" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "ДеМ Пт Ќесеца за край:" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "Месец за МачалП:" + +#: functions.inc.php:882 +#: functions.inc.php:981 +msgid "January" +msgstr "ЯМуарО" + +#: functions.inc.php:889 +#: functions.inc.php:988 +msgid "February" +msgstr "ЀевруарО" + +#: functions.inc.php:896 +#: functions.inc.php:995 +msgid "March" +msgstr "Март" + +#: functions.inc.php:903 +#: functions.inc.php:1002 +msgid "April" +msgstr "АпрОл" + +#: functions.inc.php:910 +#: functions.inc.php:1009 +msgid "May" +msgstr "Май" + +#: functions.inc.php:917 +#: functions.inc.php:1016 +msgid "June" +msgstr "ЮМО" + +#: functions.inc.php:924 +#: functions.inc.php:1023 +msgid "July" +msgstr "ЮлО" + +#: functions.inc.php:931 +#: functions.inc.php:1030 +msgid "August" +msgstr "Август" + +#: functions.inc.php:938 +#: functions.inc.php:1037 +msgid "September" +msgstr "СептеЌврО" + +#: functions.inc.php:945 +#: functions.inc.php:1044 +msgid "October" +msgstr "ОктПЌврО" + +#: functions.inc.php:952 +#: functions.inc.php:1051 +msgid "November" +msgstr "НПеЌврО" + +#: functions.inc.php:959 +#: functions.inc.php:1058 +msgid "December" +msgstr "ДекеЌврО" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "Месец за край:" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "кПМвертОраМе Ма пПлетП вреЌевО услПвОя.." + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "ГРЕККА: ÐœÐµÑƒÑÐ¿ÐµÑ + прО кПМвертОраМе Ма пПлетП" + +#: install.php:134 +msgid "OK" +msgstr "OK" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "ПрПверка за старО вреЌевО услПвОя за ПбМПвяваМе.." + +#: install.php:153 +msgid "starting migration" +msgstr "стартОраМе Ма преЌестваМе" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "ОбМПвеМО %s О съзЎаЎеМО групО %s" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "%sВНИМАНИЕ:%s Не е ЎефОМОраМП вреЌе за тПва услПвОе, ЌПля преразглеЎайте гП" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "Ме е ÐœÐµÐŸÐ±Ñ +ПЎОЌ ПбМПвяваМе" + +#: page.timeconditions.php:50 +#: page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "ДПбавО ВреЌевП УслПвОе" + +#: page.timeconditions.php:63 +msgid "Time Condition" +msgstr "ВреЌевП УслПвОе" + +#: page.timeconditions.php:63 +msgid "deleted" +msgstr "ОзтрОтП" + +#: page.timeconditions.php:66 +msgid "Time Condition:" +msgstr "ВреЌевП УслПвОе:" + +#: page.timeconditions.php:71 +#, php-format +msgid "Delete Time Condition: %s" +msgstr "ИзтрОй ВреЌевП УслПвОе: %s" + +#: page.timeconditions.php:89 +msgid "Edit Time Condition" +msgstr "РеЎактОрай ВреЌевП УслПвОе" + +#: page.timeconditions.php:96 +msgid "Time Condition name:" +msgstr "ИЌе Ма ВреЌевП УслПвОе:" + +#: page.timeconditions.php:96 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "Дайте Ма тПва ВреЌевП УслПвОе ОЌе за Ўа вО пПЌПгМе с ОЎеМтОфОцОраМетП Ќу." + +#: page.timeconditions.php:100 +msgid "Time Group:" +msgstr "ВреЌева Група:" + +#: page.timeconditions.php:100 +msgid "Select a Time Group created under Time Groups. Matching times will be sent to matching destination. If no group is selected, call will always go to no-match destination." +msgstr "Изберете ВреЌева Група съЎаЎеМа в 'ВреЌевО ГрупО'. ПрО съвпаЎаМе Ма вреЌетП ще се Озпраща къЌ ОзбраМПтП МаправлеМОе. АкП Ме е ОзбраМа група, ПбажЎаМОята ще се Ð¿Ñ€ÐµÑ +върлят къЌ МесъвпаЎащО МаправлеМОя." + +#: page.timeconditions.php:107 +msgid "Goto Current Time Group" +msgstr "ОтОЎО Ма Текущата ВреЌева Група" + +#: page.timeconditions.php:119 +msgid "Destination if time matches" +msgstr "НаправлеМОе акП вреЌетП съвпаЎа" + +#: page.timeconditions.php:129 +msgid "Destination if time does not match" +msgstr "НаправлеМОе акП вреЌетП Ме съвпаЎа" + +#: page.timeconditions.php:141 +msgid "Submit Changes" +msgstr "ПрОеЌО ПрПЌеМОте" + +#: page.timeconditions.php:151 +msgid "Please enter a valid Time Conditions Name" +msgstr "МПля въвеЎете правОлМП ИЌе Ма ВреЌевП УслПвОе" + +#: page.timeconditions.php:152 +msgid "You have not selected a time group to associate with this timecondition. It will go to the un-matching destination until you update it with a valid group" +msgstr "Не сте ОзбралО вреЌева група за асПцООраМе с тПва вреЌевП услПвОе. Ще се Ð¿Ñ€ÐµÑ +върлО къЌ МесъвпаЎащО МаправлеМОя ЎПкатП Ме гП ПбМПвОте с кПректМа група." + +#: page.timegroups.php:26 +msgid "Server time:" +msgstr "СървърМП ВреЌе:" + +#: module.xml +msgid "Time Conditions" +msgstr "ВреЌевО УслПвОя" + +msgid "Time Groups" +msgstr "ВреЌевО ГрупО" + +#: dirty fix for menus +msgid "Add" +msgstr "ДПбавО" + +msgid "Submit" +msgstr "ПрОеЌО" + Index: /modules/branches/2.7/timeconditions/i18n/he_IL/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/he_IL/LC_MESSAGES/timeconditions.po (revision 3441) +++ /modules/branches/2.7/timeconditions/i18n/he_IL/LC_MESSAGES/timeconditions.po (revision 3441) @@ -0,0 +1,181 @@ +# Hebrew version for Time Conditions FreePBX Module. +# Copyright (C) 2006 +# This file is distributed under the same license as the PACKAGE package. +# Shimi , 2006. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreePBX 2.2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-10-17 17:20+0300\n" +"PO-Revision-Date: 2006-10-17 17:30+0300\n" +"Last-Translator: Shimi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: page.timeconditions.php:46 page.timeconditions.php:121 +#: page.timeconditions.php:130 +msgid "Add Time Condition" +msgstr "הוס׀ת תנאי זמן" + +#: page.timeconditions.php:57 +msgid "Server time:" +msgstr "שעה בשךת:" + +#: page.timeconditions.php:111 +msgid "Time Condition" +msgstr "תנאי זמן" + +#: page.timeconditions.php:111 +msgid "deleted" +msgstr "נמחק" + +#: page.timeconditions.php:121 +msgid "Time Condition:" +msgstr "תנאי זמן:" + +#: page.timeconditions.php:123 +msgid "Delete Time Condition" +msgstr "מחק תנאי זמן" + +#: page.timeconditions.php:130 +msgid "Edit Time Condition" +msgstr "עךוך תנאי זמן" + +#: page.timeconditions.php:137 +msgid "Time Condition name:" +msgstr "שם תנאי הזמן:" + +#: page.timeconditions.php:137 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "תן לתנאי זמן זה שם ק׊ך שיעזוך לך לזהות אותו." + +#: page.timeconditions.php:141 +msgid "Time to match:" +msgstr "זמן שיש להתאים:" + +#: page.timeconditions.php:141 +msgid "" +"time range|days of week|days of month|months

you can use an * as a " +"wildcard.

ex: 9:00-17:00|mon-fri|*|*" +msgstr "" +"time range|days of week|days of month|months

אתה יכול להשתמש ב * כדי להגיד בכל " +"זמן.

דוגמא: 9:00-17:00|mon-fri|*|*" + +#: page.timeconditions.php:152 +msgid "Time to start:" +msgstr "זמן להתחיל:" + +#: page.timeconditions.php:195 +msgid "Time to finish:" +msgstr "זמן לסיים:" + +#: page.timeconditions.php:234 +msgid "Week Day Start:" +msgstr "יום התחלה בשבוע:" + +#: page.timeconditions.php:244 page.timeconditions.php:283 +msgid "Monday" +msgstr "שני" + +#: page.timeconditions.php:248 page.timeconditions.php:287 +msgid "Tuesday" +msgstr "שלישי" + +#: page.timeconditions.php:252 page.timeconditions.php:291 +msgid "Wednesday" +msgstr "ךביעי" + +#: page.timeconditions.php:256 page.timeconditions.php:295 +msgid "Thursday" +msgstr "חמישי" + +#: page.timeconditions.php:260 page.timeconditions.php:299 +msgid "Friday" +msgstr "שישי" + +#: page.timeconditions.php:264 page.timeconditions.php:303 +msgid "Saturday" +msgstr "שבת" + +#: page.timeconditions.php:268 page.timeconditions.php:307 +msgid "Sunday" +msgstr "ךאשון" + +#: page.timeconditions.php:273 +msgid "Week Day finish:" +msgstr "יום בשבוע לסיים:" + +#: page.timeconditions.php:312 +msgid "Month Day start:" +msgstr "יום בחודש להתחיל:" + +#: page.timeconditions.php:337 +msgid "Month Day finish:" +msgstr "יום בחודש לסיים:" + +#: page.timeconditions.php:354 +msgid "Month start:" +msgstr "חודש להתחיל:" + +#: page.timeconditions.php:372 page.timeconditions.php:430 +msgid "January" +msgstr "ינוא׹" + +#: page.timeconditions.php:376 page.timeconditions.php:434 +msgid "February" +msgstr "׀בךואך" + +#: page.timeconditions.php:380 page.timeconditions.php:438 +msgid "March" +msgstr "מךץ" + +#: page.timeconditions.php:384 page.timeconditions.php:442 +msgid "April" +msgstr "א׀ךיל" + +#: page.timeconditions.php:388 page.timeconditions.php:446 +msgid "May" +msgstr "מאי" + +#: page.timeconditions.php:392 page.timeconditions.php:450 +msgid "June" +msgstr "יוני" + +#: page.timeconditions.php:396 page.timeconditions.php:454 +msgid "July" +msgstr "יולי" + +#: page.timeconditions.php:400 page.timeconditions.php:458 +msgid "August" +msgstr "אוגוסט" + +#: page.timeconditions.php:404 page.timeconditions.php:462 +msgid "September" +msgstr "ס׀טמבך" + +#: page.timeconditions.php:408 page.timeconditions.php:466 +msgid "October" +msgstr "אוקטוב׹" + +#: page.timeconditions.php:411 page.timeconditions.php:470 +msgid "November" +msgstr "נובמב׹" + +#: page.timeconditions.php:415 page.timeconditions.php:474 +msgid "December" +msgstr "דשמב׹" + +#: page.timeconditions.php:421 +msgid "Month finish:" +msgstr "חודש סיום:" + +#: page.timeconditions.php:480 +msgid "Destination if time matches" +msgstr "יעד אם הזמן מתאים" + +#: page.timeconditions.php:490 +msgid "Destination if time does not match" +msgstr "יעד אם הזמן אינו מתאים" Index: /modules/branches/2.7/timeconditions/i18n/zh_CN/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/zh_CN/LC_MESSAGES/timeconditions.po (revision 7440) +++ /modules/branches/2.7/timeconditions/i18n/zh_CN/LC_MESSAGES/timeconditions.po (revision 7440) @@ -0,0 +1,363 @@ +# 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-06 12:39+0200\n" +"PO-Revision-Date: 2009-01-31 14:46+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:18 +#: functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "时闎条件讟眮%s" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "圚描述信息䞭只胜蟓å +¥æ•°å­—和英文字母并䞔描述䞍胜䞺空。" + +#: functions.inc.php:358 +#: functions.inc.php:367 +#: functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "时闎小组" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr " 已删陀" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "添加时闎条件小组" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "Description" +msgstr "描述" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "这将䜜䞺时闎小组的名字星瀺。" + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "猖蟑时闎小组" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "删陀时闎小组%s" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "被谁䜿甚" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "添加时闎" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "--选择䞀䞪小组--" + +#: functions.inc.php:546 +msgid "text" +msgstr "文字" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "匀始时闎" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "终止时闎" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "从星期几匀始" + +#: functions.inc.php:686 +#: functions.inc.php:749 +msgid "Monday" +msgstr "呚䞀" + +#: functions.inc.php:693 +#: functions.inc.php:756 +msgid "Tuesday" +msgstr "呚二" + +#: functions.inc.php:700 +#: functions.inc.php:763 +msgid "Wednesday" +msgstr "呚䞉" + +#: functions.inc.php:707 +#: functions.inc.php:770 +msgid "Thursday" +msgstr "呚四" + +#: functions.inc.php:714 +#: functions.inc.php:777 +msgid "Friday" +msgstr "呚五" + +#: functions.inc.php:721 +#: functions.inc.php:784 +msgid "Saturday" +msgstr "呚å +­" + +#: functions.inc.php:728 +#: functions.inc.php:791 +msgid "Sunday" +msgstr "呚日" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "圚星期几终止" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "圚䞀䞪月的第几倩匀始" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "圚䞀䞪月的第几倩终止" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "匀始月仜" + +#: functions.inc.php:882 +#: functions.inc.php:981 +msgid "January" +msgstr "䞀月" + +#: functions.inc.php:889 +#: functions.inc.php:988 +msgid "February" +msgstr "二月" + +#: functions.inc.php:896 +#: functions.inc.php:995 +msgid "March" +msgstr "䞉月" + +#: functions.inc.php:903 +#: functions.inc.php:1002 +msgid "April" +msgstr "四月" + +#: functions.inc.php:910 +#: functions.inc.php:1009 +msgid "May" +msgstr "五月" + +#: functions.inc.php:917 +#: functions.inc.php:1016 +msgid "June" +msgstr "å +­æœˆ" + +#: functions.inc.php:924 +#: functions.inc.php:1023 +msgid "July" +msgstr "䞃月" + +#: functions.inc.php:931 +#: functions.inc.php:1030 +msgid "August" +msgstr "å +«æœˆ" + +#: functions.inc.php:938 +#: functions.inc.php:1037 +msgid "September" +msgstr "九月" + +#: functions.inc.php:945 +#: functions.inc.php:1044 +msgid "October" +msgstr "十月" + +#: functions.inc.php:952 +#: functions.inc.php:1051 +msgid "November" +msgstr "十䞀月" + +#: functions.inc.php:959 +#: functions.inc.php:1058 +msgid "December" +msgstr "十二月" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "终止月仜" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "正圚将时闎条件控制的time字段蜬换成int敎数。。。" + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "错误无法蜬换字段" + +#: install.php:134 +msgid "OK" +msgstr "完成" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "检查是吊有老的时闎条件讟眮需芁升级。。。" + +#: install.php:153 +msgid "starting migration" +msgstr "匀始迁移" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "升级了%s并䞔创建了小组%s" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "%s譊告%s没有䞺歀条件讟眮时闎请检查" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "无须升级" + +#: page.timeconditions.php:50 +#: page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "添加时闎条件控制" + +#: page.timeconditions.php:63 +msgid "Time Condition" +msgstr "时闎条件" + +#: page.timeconditions.php:63 +msgid "deleted" +msgstr "已删陀" + +#: page.timeconditions.php:66 +msgid "Time Condition:" +msgstr "时闎条件" + +#: page.timeconditions.php:71 +#, php-format +msgid "Delete Time Condition: %s" +msgstr "删陀时闎条件讟眮%s" + +#: page.timeconditions.php:89 +msgid "Edit Time Condition" +msgstr "猖蟑时闎条件" + +#: page.timeconditions.php:96 +msgid "Time Condition name:" +msgstr "时闎条件呜名" + +#: page.timeconditions.php:96 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "䞺时闎条件控制取䞀䞪简短的名字以垮助识别它。" + +#: page.timeconditions.php:100 +msgid "Time Group:" +msgstr "时闎小组" + +#: page.timeconditions.php:100 +msgid "Select a Time Group created under Time Groups. Matching times will be sent to matching destination. If no group is selected, call will always go to no-match destination." +msgstr "选则䜠创建过的䞀䞪时闎小组。呌叫圚匹é +çš„æ—¶é—Žå°†å‘送到匹é +çš„目的地。劂果没有选择小组呌叫总是被发送到倄理未匹é +æƒ +况的目的地。" + +#: page.timeconditions.php:107 +msgid "Goto Current Time Group" +msgstr "蜬到圓前的时闎小组" + +#: page.timeconditions.php:119 +msgid "Destination if time matches" +msgstr "时闎匹é +æ—¶çš„目的地" + +#: page.timeconditions.php:129 +msgid "Destination if time does not match" +msgstr "时闎䞍匹é +æ—¶çš„目的地" + +#: page.timeconditions.php:141 +msgid "Submit Changes" +msgstr "提亀曎改" + +#: page.timeconditions.php:151 +msgid "Please enter a valid Time Conditions Name" +msgstr "请蟓å +¥æœ‰æ•ˆçš„æ—¶é—Žæ¡ä»¶å" + +#: page.timeconditions.php:152 +msgid "You have not selected a time group to associate with this timecondition. It will go to the un-matching destination until you update it with a valid group" +msgstr "䜠尚未选择䞀䞪䞎歀时闎条件讟眮盞å +³çš„æ—¶é—Žå°ç»„。它将发送到倄理未匹é +æƒ +况的目的地盎到䜠䞺它曎新䞀䞪可甚的小组" + +#: page.timegroups.php:26 +msgid "Server time:" +msgstr "服务噚时闎" + +#: module.xml +msgid "Time Conditions" +msgstr "时闎条件讟眮" + +msgid "Time Groups" +msgstr "时闎小组" + +#: dirty fix for menus +msgid "Add" +msgstr "添加" + +msgid "Submit" +msgstr "提亀" + +#~ msgid "Time to match:" +#~ msgstr "芁匹é +çš„æ—¶é—ŽïŒš" +#~ msgid "" +#~ "time range|days of week|days of month|months

you can use an * as a " +#~ "wildcard.

ex: 9:00-17:00|mon-fri|*|*" +#~ msgstr "" +#~ "时闎范囎|䞀呚䞭的某倩|䞀月䞭的某倩|月仜

䜠可以䜿甚*䜜䞺通é +ç¬Šã€‚" +#~ "

䟋劂9:00-17:00|mon-fri|*|*" +#~ msgid "Please enter the Time to Match, or set all to - to match all times." +#~ msgstr "请蟓å +¥èЁ匹é +çš„æ—¶é—ŽïŒŒæˆ–è€ +讟定䞺所有时闎这样甚来匹é +æ‰€æœ‰çš„æ—¶é—Žæ®µã€‚" +#~ msgid "Please select BOTH or NO days, not just one." +#~ msgstr "请选择䞀倩或䞍选择䞍胜只选择䞀倩" +#~ msgid "Please select BOTH or NO days of the month, not just one." +#~ msgstr "请圚䞀䞪月的倩数䞭选择䞀倩或䞍选择䞍胜只选择䞀倩" +#~ msgid "Please select BOTH or NO months, not just one." +#~ msgstr "请选择䞀䞪月仜或䞍选择䞍胜只选择䞀䞪。" + Index: /modules/branches/2.7/timeconditions/i18n/it_IT/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/it_IT/LC_MESSAGES/timeconditions.po (revision 7250) +++ /modules/branches/2.7/timeconditions/i18n/it_IT/LC_MESSAGES/timeconditions.po (revision 7250) @@ -0,0 +1,380 @@ +# 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: 2.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-06 12:39+0200\n" +"PO-Revision-Date: 2008-11-06 14:55+0100\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:18 +#: functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "Condizione Temporale: %s" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "La Descrizione deve essere alfa-numerica, e non può essere lasciata vuota" + +#: functions.inc.php:358 +#: functions.inc.php:367 +#: functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "Gruppo Temporale" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr " eliminato!" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "Aggiungi Gruppo Temporale" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "Description" +msgstr "Descrizione" + +#: functions.inc.php:367 +#: functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "Questo sarà il nome del Gruppo Temporale" + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "Modifica Gruppo Temporale" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "Elimina Gruppo Temporale %s" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "Usato da" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "Nuova Data/Ora" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "--Selezionare un Gruppo--" + +#: functions.inc.php:546 +msgid "text" +msgstr "testo" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "Ora iniziale:" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "Ora finale:" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "Giorno della settimana iniziale:" + +#: functions.inc.php:686 +#: functions.inc.php:749 +msgid "Monday" +msgstr "Lunedì" + +#: functions.inc.php:693 +#: functions.inc.php:756 +msgid "Tuesday" +msgstr "Martedì" + +#: functions.inc.php:700 +#: functions.inc.php:763 +msgid "Wednesday" +msgstr "Mercoledì" + +#: functions.inc.php:707 +#: functions.inc.php:770 +msgid "Thursday" +msgstr "Giovedì" + +#: functions.inc.php:714 +#: functions.inc.php:777 +msgid "Friday" +msgstr "Venerdì" + +#: functions.inc.php:721 +#: functions.inc.php:784 +msgid "Saturday" +msgstr "Sabato" + +#: functions.inc.php:728 +#: functions.inc.php:791 +msgid "Sunday" +msgstr "Domenica" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "Giorno della settimana finale:" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "Giorno del mese iniziale:" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "Giorno del mese finale:" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "Mese iniziale:" + +#: functions.inc.php:882 +#: functions.inc.php:981 +msgid "January" +msgstr "Gennaio" + +#: functions.inc.php:889 +#: functions.inc.php:988 +msgid "February" +msgstr "Febbraio" + +#: functions.inc.php:896 +#: functions.inc.php:995 +msgid "March" +msgstr "Marzo" + +#: functions.inc.php:903 +#: functions.inc.php:1002 +msgid "April" +msgstr "Aprile" + +#: functions.inc.php:910 +#: functions.inc.php:1009 +msgid "May" +msgstr "Maggio" + +#: functions.inc.php:917 +#: functions.inc.php:1016 +msgid "June" +msgstr "Giugno" + +#: functions.inc.php:924 +#: functions.inc.php:1023 +msgid "July" +msgstr "Luglio" + +#: functions.inc.php:931 +#: functions.inc.php:1030 +msgid "August" +msgstr "Agosto" + +#: functions.inc.php:938 +#: functions.inc.php:1037 +msgid "September" +msgstr "Settembre" + +#: functions.inc.php:945 +#: functions.inc.php:1044 +msgid "October" +msgstr "Ottobre" + +#: functions.inc.php:952 +#: functions.inc.php:1051 +msgid "November" +msgstr "Novembre" + +#: functions.inc.php:959 +#: functions.inc.php:1058 +msgid "December" +msgstr "Dicembre" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "Mese finale:" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "conversione campo data timeconditions verso int.." + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "ERRORE: conversione campo fallita" + +#: install.php:134 +msgid "OK" +msgstr "OK" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "Sto controllando per le vecchie condizioni temporali da aggiornare.." + +#: install.php:153 +msgid "starting migration" +msgstr "inizio migrazione" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "Aggiornato %s e creato gruppo %s" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "%sATTENZIONE: %s Nessuna data/ora definita per questa condizione, ricontrollare" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "nessun upgrade necessario" + +#: page.timeconditions.php:50 +#: page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "Aggiungi Condizione Temporale" + +#: page.timeconditions.php:63 +msgid "Time Condition" +msgstr "Condizione Temporale" + +#: page.timeconditions.php:63 +msgid "deleted" +msgstr "eliminata" + +#: page.timeconditions.php:66 +msgid "Time Condition:" +msgstr "Condizione Temporale:" + +#: page.timeconditions.php:71 +#, php-format +msgid "Delete Time Condition: %s" +msgstr "Elimina Condizione Temporale: %s" + +#: page.timeconditions.php:89 +msgid "Edit Time Condition" +msgstr "Modifica Condizione Temporale" + +#: page.timeconditions.php:96 +msgid "Time Condition name:" +msgstr "Nome Condizione Temporale:" + +#: page.timeconditions.php:96 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "Assegnare un nome breve per una facile identificazione." + +#: page.timeconditions.php:100 +msgid "Time Group:" +msgstr "Gruppo Temporale:" + +#: page.timeconditions.php:100 +msgid "Select a Time Group created under Time Groups. Matching times will be sent to matching destination. If no group is selected, call will always go to no-match destination." +msgstr "Selezionare un Gruppo Temporale creato sotto i Gruppi Temporali. La data/ora corrispondente sarà inviata alla destinazione corrispondente. Se non si seleziona un gruppo, la chiamata sarà inviata sempre alla destinazione non corrispondente." + +#: page.timeconditions.php:107 +msgid "Goto Current Time Group" +msgstr "Vai al Gruppo Temporale" + +#: page.timeconditions.php:119 +msgid "Destination if time matches" +msgstr "Destinazione se la condizione esiste" + +#: page.timeconditions.php:129 +msgid "Destination if time does not match" +msgstr "Destinazione se la condizione non esiste" + +#: page.timeconditions.php:141 +msgid "Submit Changes" +msgstr "Conferma Cambiamenti" + +#: page.timeconditions.php:151 +msgid "Please enter a valid Time Conditions Name" +msgstr "Prego immettere un nome valido per questa Condizione Temporale" + +#: page.timeconditions.php:152 +msgid "You have not selected a time group to associate with this timecondition. It will go to the un-matching destination until you update it with a valid group" +msgstr "Non hai selezionato un gruppo temporale da associare a questa condizione. Andrà alla destinazione non corrispondente fino a quando non si aggiorna con un gruppo valido" + +#: page.timegroups.php:26 +msgid "Server time:" +msgstr "Ora server:" + +#: module.xml +msgid "Time Conditions" +msgstr "Condizioni Temporali" + +msgid "Time Groups" +msgstr "Gruppi Temporali" + +#: dirty fix for menus +msgid "Add" +msgstr "Aggiungi" + +msgid "Submit" +msgstr "Conferma" + +#~ msgid "Time to match:" +#~ msgstr "Corrispondenza:" +#~ msgid "" +#~ "time range|days of week|days of month|months

you can use an * as a " +#~ "wildcard.

ex: 9:00-17:00|mon-fri|*|*" +#~ msgstr "" +#~ "Intervallo ora|giorni della settimana|giorni del mese|mesi

si può " +#~ "utilizzare * come carattere jolly.

es: 9:00-17:00|mon-fri|*|*

(mon,tue,wed,thu,fri,sat,sun=
lun,mar,mer,gio,ven,sab,dom)" +#~ msgid "Voicemail" +#~ msgstr "Caselle Vocali" +#~ msgid "Extensions" +#~ msgstr "Interni" +#~ msgid "Day Night Mode" +#~ msgstr "Servizio Giorno/Notte" +#~ msgid "Terminate Call" +#~ msgstr "Termina Chiamata" +#~ msgid "Core" +#~ msgstr "Sistema" +#~ msgid "Conferences" +#~ msgstr "Conferenze" +#~ msgid "Phonebook Directory" +#~ msgstr "Elenco Telefonico" +#~ msgid "Queues" +#~ msgstr "Code" +#~ msgid "Speed dial functions" +#~ msgstr "Selezione breve" +#~ msgid "Custom Contexts" +#~ msgstr "Contesti Personalizzati" +#~ msgid "Extended Routing" +#~ msgstr "Rotte specifiche" +#~ msgid "" +#~ "Custom App
ADVANCED USERS ONLY

Uses Goto() to send caller " +#~ "to a custom context.

The context name should start with \"custom-" +#~ "\", and be in the format custom-context,extension,priority. Example entry:" +#~ "

custom-myapp,s,1

The [custom-myapp] context " +#~ "would need to be created and included in extensions_custom.conf
" +#~ msgstr "" +#~ "Applicazione PersonalizzataSOLO UTENTI AVANZATI
Utilizzare Goto" +#~ "() per inviare la chiamata verso un contesto personalizzato.

Il " +#~ "nome del contesto deve iniziare per \"custom-\" e deve essere nel formato " +#~ "custom-contesto,extension,priorità. Esempio:

custom-app,s,1

Il contesto [custom-app] deve poi essere creato e " +#~ "incluso nel file extensions_custom.conf, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-06 12:39+0200\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=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:18 functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "" + +#: functions.inc.php:358 functions.inc.php:367 functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr "" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "" + +#: functions.inc.php:367 functions.inc.php:387 +msgid "Description" +msgstr "" + +#: functions.inc.php:367 functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "" + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "" + +#: functions.inc.php:546 +msgid "text" +msgstr "" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "" + +#: functions.inc.php:686 functions.inc.php:749 +msgid "Monday" +msgstr "" + +#: functions.inc.php:693 functions.inc.php:756 +msgid "Tuesday" +msgstr "" + +#: functions.inc.php:700 functions.inc.php:763 +msgid "Wednesday" +msgstr "" + +#: functions.inc.php:707 functions.inc.php:770 +msgid "Thursday" +msgstr "" + +#: functions.inc.php:714 functions.inc.php:777 +msgid "Friday" +msgstr "" + +#: functions.inc.php:721 functions.inc.php:784 +msgid "Saturday" +msgstr "" + +#: functions.inc.php:728 functions.inc.php:791 +msgid "Sunday" +msgstr "" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "" + +#: functions.inc.php:882 functions.inc.php:981 +msgid "January" +msgstr "" + +#: functions.inc.php:889 functions.inc.php:988 +msgid "February" +msgstr "" + +#: functions.inc.php:896 functions.inc.php:995 +msgid "March" +msgstr "" + +#: functions.inc.php:903 functions.inc.php:1002 +msgid "April" +msgstr "" + +#: functions.inc.php:910 functions.inc.php:1009 +msgid "May" +msgstr "" + +#: functions.inc.php:917 functions.inc.php:1016 +msgid "June" +msgstr "" + +#: functions.inc.php:924 functions.inc.php:1023 +msgid "July" +msgstr "" + +#: functions.inc.php:931 functions.inc.php:1030 +msgid "August" +msgstr "" + +#: functions.inc.php:938 functions.inc.php:1037 +msgid "September" +msgstr "" + +#: functions.inc.php:945 functions.inc.php:1044 +msgid "October" +msgstr "" + +#: functions.inc.php:952 functions.inc.php:1051 +msgid "November" +msgstr "" + +#: functions.inc.php:959 functions.inc.php:1058 +msgid "December" +msgstr "" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "" + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "" + +#: install.php:134 +msgid "OK" +msgstr "" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "" + +#: install.php:153 +msgid "starting migration" +msgstr "" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "" + +#: page.timeconditions.php:50 page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "" + +#: page.timeconditions.php:63 +msgid "Time Condition" +msgstr "" + +#: page.timeconditions.php:63 +msgid "deleted" +msgstr "" + +#: page.timeconditions.php:66 +msgid "Time Condition:" +msgstr "" + +#: page.timeconditions.php:71 +#, php-format +msgid "Delete Time Condition: %s" +msgstr "" + +#: page.timeconditions.php:89 +msgid "Edit Time Condition" +msgstr "" + +#: page.timeconditions.php:96 +msgid "Time Condition name:" +msgstr "" + +#: page.timeconditions.php:96 +msgid "Give this Time Condition a brief name to help you identify it." +msgstr "" + +#: page.timeconditions.php:100 +msgid "Time Group:" +msgstr "" + +#: page.timeconditions.php:100 +msgid "" +"Select a Time Group created under Time Groups. Matching times will be sent " +"to matching destination. If no group is selected, call will always go to no-" +"match destination." +msgstr "" + +#: page.timeconditions.php:107 +msgid "Goto Current Time Group" +msgstr "" + +#: page.timeconditions.php:119 +msgid "Destination if time matches" +msgstr "" + +#: page.timeconditions.php:129 +msgid "Destination if time does not match" +msgstr "" + +#: page.timeconditions.php:141 +msgid "Submit Changes" +msgstr "" + +#: page.timeconditions.php:151 +msgid "Please enter a valid Time Conditions Name" +msgstr "" + +#: page.timeconditions.php:152 +msgid "" +"You have not selected a time group to associate with this timecondition. It " +"will go to the un-matching destination until you update it with a valid group" +msgstr "" + +#: page.timegroups.php:26 +msgid "Server time:" +msgstr "" + +#: module.xml +msgid "Time Conditions" +msgstr "" + +msgid "Time Groups" +msgstr "" + +#: dirty fix for menus +msgid "Add" +msgstr "" + +msgid "Submit" +msgstr "" Index: /modules/branches/2.7/timeconditions/i18n/ru_RU/LC_MESSAGES/timeconditions.po =================================================================== --- /modules/branches/2.7/timeconditions/i18n/ru_RU/LC_MESSAGES/timeconditions.po (revision 7343) +++ /modules/branches/2.7/timeconditions/i18n/ru_RU/LC_MESSAGES/timeconditions.po (revision 7343) @@ -0,0 +1,391 @@ +# 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: 1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-10-06 12:39+0200\n" +"PO-Revision-Date: 2008-01-16 16:38+0100\n" +"Last-Translator: Alexander Kozyrev \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-5\n" +"Content-Transfer-Encoding: 8bit\n" + +#: functions.inc.php:18 functions.inc.php:87 +#, php-format +msgid "Time Condition: %s" +msgstr "¿àÐÒØÛÞ ßÞ ÒàÕÜÕÝØ: %s" + +#: functions.inc.php:354 +msgid "Description must be alpha-numeric, and may not be left blank" +msgstr "" +"ŸßØáÐÝØÕ ÔÞÛÖÝÞ Ñëâì æØäàÞ-ÑãÚÒÕÝÝÞÕ, Ø ÝÕ " +"ÜÞÖÕâ Ñëâì ßãáâëÜ" + +#: functions.inc.php:358 functions.inc.php:367 functions.inc.php:387 +#: page.timegroups.php:21 +msgid "Time Group" +msgstr "²àÕÜÕÝÝÐï ÓàãßßÐ" + +#: functions.inc.php:358 +msgid " deleted!" +msgstr "ãÔÐÛÕÝÞ!" + +#: functions.inc.php:366 +msgid "Add Time Group" +msgstr "ŽÞÑÐÒØâì ÒàÕÜÕÝÝãî Óàãßßã" + +#: functions.inc.php:367 functions.inc.php:387 +msgid "Description" +msgstr "ŸßØáÐÝØÕ" + +#: functions.inc.php:367 functions.inc.php:387 +msgid "This will display as the name of this Time Group." +msgstr "ŸâÞÑàÐÖÕÝØÕ ÝÐ×ÒÐÝØï íâÞÙ ÒàÕÜÕÝÝÞÙ Óàãßßë" + +#: functions.inc.php:373 +msgid "Edit Time Group" +msgstr "ž×ÜÕÝØâì ÒàÕÜÕÝÝãî Óàãßßã" + +#: functions.inc.php:374 +#, php-format +msgid "Delete Time Group %s" +msgstr "ÃÔÐÛØâì ÒàÕÜÕÝÝãî Óàãßßã %s" + +#: functions.inc.php:383 +msgid "Used By" +msgstr "žáßÞÛì×ãÕâáï" + +#: functions.inc.php:397 +msgid "New Time" +msgstr "œÞÒÞÕ ÒàÕÜï" + +#: functions.inc.php:540 +msgid "--Select a Group--" +msgstr "--²ëÑàÐâì Óàãßßã--" + +#: functions.inc.php:546 +msgid "text" +msgstr "âÕÚáâ" + +#: functions.inc.php:566 +msgid "Time to start:" +msgstr "²àÕÜï ÝÐçÐÛÐ:" + +#: functions.inc.php:621 +msgid "Time to finish:" +msgstr "²àÕÜï ÞÚÞÝçÐÝØï:" + +#: functions.inc.php:671 +msgid "Week Day Start:" +msgstr "ŽÕÝì ÝÕÔÕÛØ, ÝÐçÐÛÞ:" + +#: functions.inc.php:686 functions.inc.php:749 +msgid "Monday" +msgstr "¿ÞÝÕÔÕÛìÝØÚ" + +#: functions.inc.php:693 functions.inc.php:756 +msgid "Tuesday" +msgstr "²âÞàÝØÚ" + +#: functions.inc.php:700 functions.inc.php:763 +msgid "Wednesday" +msgstr "ÁàÕÔÐ" + +#: functions.inc.php:707 functions.inc.php:770 +msgid "Thursday" +msgstr "ÇÕâÒÕàÓ" + +#: functions.inc.php:714 functions.inc.php:777 +msgid "Friday" +msgstr "¿ïâÝØæÐ" + +#: functions.inc.php:721 functions.inc.php:784 +msgid "Saturday" +msgstr "ÁãÑÑÞâÐ" + +#: functions.inc.php:728 functions.inc.php:791 +msgid "Sunday" +msgstr "²ÞáÚàÕáÕÝìÕ" + +#: functions.inc.php:733 +msgid "Week Day finish:" +msgstr "ŽÕÝì ÝÕÔÕÛØ, ÞÚÞÝçÐÝØÕ:" + +#: functions.inc.php:796 +msgid "Month Day start:" +msgstr "ŽÕÝì ÜÕáïæÐ, ÝÐçÐÛÞ:" + +#: functions.inc.php:831 +msgid "Month Day finish:" +msgstr "ŽÕÝì ÜÕáïæÐ, ÞÚÞÝçÐÝØÕ:" + +#: functions.inc.php:850 +msgid "Month start:" +msgstr "ŒÕáïæ, ÝÐçÐÛÞ:" + +#: functions.inc.php:882 functions.inc.php:981 +msgid "January" +msgstr "ÏÝÒÐàì" + +#: functions.inc.php:889 functions.inc.php:988 +msgid "February" +msgstr "ÄÕÒàÐÛì" + +#: functions.inc.php:896 functions.inc.php:995 +msgid "March" +msgstr "ŒÐàâ" + +#: functions.inc.php:903 functions.inc.php:1002 +msgid "April" +msgstr "°ßàÕÛì" + +#: functions.inc.php:910 functions.inc.php:1009 +msgid "May" +msgstr "ŒÐÙ" + +#: functions.inc.php:917 functions.inc.php:1016 +msgid "June" +msgstr "žîÝì" + +#: functions.inc.php:924 functions.inc.php:1023 +msgid "July" +msgstr "žîÛì" + +#: functions.inc.php:931 functions.inc.php:1030 +msgid "August" +msgstr "°ÒÓãáâ" + +#: functions.inc.php:938 functions.inc.php:1037 +msgid "September" +msgstr "ÁÕÝâïÑàì" + +#: functions.inc.php:945 functions.inc.php:1044 +msgid "October" +msgstr "ŸÚâïÑàì" + +#: functions.inc.php:952 functions.inc.php:1051 +msgid "November" +msgstr "œÞïÑàì" + +#: functions.inc.php:959 functions.inc.php:1058 +msgid "December" +msgstr "ŽÕÚÐÑàì" + +#: functions.inc.php:965 +msgid "Month finish:" +msgstr "ŒÕáïæ, ÞÚÞÝçÐÝØÕ:" + +#: install.php:128 +msgid "converting timeconditions time field to int.." +msgstr "ßÞÛÕ ÔÛï ßàÐÒØÛÐ ßÞ ÒàÕÜÕÝØ ÚÞÝÒÕàâØàãÕâáï Ò .." + +#: install.php:132 +msgid "ERROR: failed to convert field " +msgstr "ŸÈž±º°: ÝÕ ãÔÐÛÞáì áÚÞÝÒÕàâØàÞÒÐâì ßÞÛÕ " + +#: install.php:134 +msgid "OK" +msgstr "Ÿº" + +#: install.php:148 +msgid "Checking for old timeconditions to upgrade.." +msgstr "¿àÞÒÕàïÕÜ áâÐàëÕ ßàÐÒØÛÐ ßÞ ÒàÕÜÕÝØ ÔÛï ÞÑÝÞÒÛÕÝØï.." + +#: install.php:153 +msgid "starting migration" +msgstr "ÝÐçØÝÐÕÜ ÜÓàÐæØî" + +#: install.php:159 +#, php-format +msgid "Upgraded %s and created group %s" +msgstr "ŸÑÝÞÒÛÕÝÞ %s Ø áÞ×ÔÐÝÐ ÓàãßßÐ %s" + +#: install.php:161 +#, php-format +msgid "%sWARNING:%s No time defined for this condtion, please review" +msgstr "%s²œžŒ°œžµ:%s œÕ ãÚÐ×ÐÝÞ ÒàÕÜï ÔÛï íâÞÓÞ ßàÐÒØÛÐ, ßàÞáÜÞâàØâÕ ÕÓÞ Õéñ àÐ×" + +#: install.php:166 +msgid "no upgrade needed" +msgstr "ÞÑÝÞÒÛÕÝØï ÝÕ âàÕÑãÕâáï" + +#: page.timeconditions.php:50 page.timeconditions.php:66 +#: page.timeconditions.php:89 +msgid "Add Time Condition" +msgstr "ŽÞÑÐÒØâì ÒàÕÜÕÝÝÞÕ ßàÐÒØÛÞ" + +#: page.timeconditions