[Pkg-voip-commits] r2353 - destar/trunk/debian/patches
Alejandro Rios P.
alerios-guest at costa.debian.org
Thu Sep 7 20:33:20 UTC 2006
Author: alerios-guest
Date: 2006-09-07 20:33:19 +0000 (Thu, 07 Sep 2006)
New Revision: 2353
Removed:
destar/trunk/debian/patches/09_http_server.dpatch
destar/trunk/debian/patches/10_notexecutables.dpatch
destar/trunk/debian/patches/20_fix_changelog.dpatch
destar/trunk/debian/patches/30_pofiles.dpatch
destar/trunk/debian/patches/40_zaptypo.dpatch
destar/trunk/debian/patches/50_portbug.dpatch
Modified:
destar/trunk/debian/patches/00list
Log:
* Updated dpatch patches. Most of them were applied upstream.
Modified: destar/trunk/debian/patches/00list
===================================================================
--- destar/trunk/debian/patches/00list 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/00list 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,7 +1 @@
-09_http_server.dpatch
-10_notexecutables.dpatch
-20_fix_changelog.dpatch
no_medusa.dpatch
-30_pofiles.dpatch
-40_zaptypo.dpatch
-50_portbug.dpatch
Deleted: destar/trunk/debian/patches/09_http_server.dpatch
===================================================================
--- destar/trunk/debian/patches/09_http_server.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/09_http_server.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,16 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 09_http_server.dpatch by Santiago Ruano Rincón <santiago at unicauca.edu.co>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad destar-0.0.167/medusa/http_server.py /tmp/dpep.VFWDMa/destar-0.0.167/medusa/http_server.py
---- destar-0.0.167/medusa/http_server.py 2004-08-17 08:47:38.000000000 -0500
-+++ /tmp/dpep.VFWDMa/destar-0.0.167/medusa/http_server.py 2005-07-29 00:16:48.000000000 -0500
-@@ -1,4 +1,4 @@
--#! /usr/local/bin/python
-+#! /usr/bin/env python
- # -*- Mode: Python -*-
- #
- # Author: Sam Rushing <rushing at nightmare.com>
Deleted: destar/trunk/debian/patches/10_notexecutables.dpatch
===================================================================
--- destar/trunk/debian/patches/10_notexecutables.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/10_notexecutables.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,29 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_notexecutables.dpatch by Santiago Ruano Rincón <santiago at unicauca.edu.co>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad destar-0.2beta~/Makefile destar-0.2beta/Makefile
---- destar-0.2beta~/Makefile 2006-06-20 21:47:32.000000000 +0000
-+++ destar-0.2beta/Makefile 2006-06-20 21:54:31.000000000 +0000
-@@ -48,14 +48,16 @@
- install -d $(PYDIR)
- #cp -a *.py *.ptl misc medusa $(PYDIR)
- install -m 644 *.py *.ptl $(PYDIR)/
-+ install -m 755 Server.py $(PYDIR)/
-+ install -m 755 tests.py $(PYDIR)/
- install -d $(LOCALEDIR)
- cp -fa lang/* $(LOCALEDIR)
- install -d $(PYDIR)/misc
- install -m 644 misc/*.py $(PYDIR)/misc/
-- install -m 644 misc/*.py $(PYDIR)/misc/
- ifneq ($(SYS_MEDUSA),1)
- install -d $(PYDIR)/medusa
-- install medusa/*.py $(PYDIR)/medusa/
-+ install -m 644 medusa/*.py $(PYDIR)/medusa/
-+ install -m 755 medusa/http_server.py $(PYDIR)/medusa/
- endif
- install -m 755 destar $(PYDIR)/destar.py
- install -d $(PAGES_DIR)
Deleted: destar/trunk/debian/patches/20_fix_changelog.dpatch
===================================================================
--- destar/trunk/debian/patches/20_fix_changelog.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/20_fix_changelog.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 99_fix_changelog.dpatch by Santiago Ruano Rincon <santiago at unicauca.edu.co>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: patch to fix two typos in the changelog file
-
- at DPATCH@
-diff -urNad destar-0.2beta~/CHANGELOG.txt destar-0.2beta/CHANGELOG.txt
---- destar-0.2beta~/CHANGELOG.txt 2006-06-20 17:24:22.000000000 +0000
-+++ destar-0.2beta/CHANGELOG.txt 2006-06-20 17:24:57.000000000 +0000
-@@ -232,7 +232,7 @@
-
- 2005-12-22
- *cfg_phone_queue.py: fixed bug #5885: MoH fails in calls from PSTN placed directly on queues.
--*configletx.py: is recommended to use _X. instead of _.
-+*configlets.py: is recommended to use _X. instead of _.
-
- 2005-12-19
- *backend.py: fixed bug on CFIM/CFBS, still needs more testing.
Deleted: destar/trunk/debian/patches/30_pofiles.dpatch
===================================================================
--- destar/trunk/debian/patches/30_pofiles.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/30_pofiles.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,4237 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_pofiles.dpatch by <root at localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad destar-0.2beta~/po/es.po destar-0.2beta/po/es.po
---- destar-0.2beta~/po/es.po 2006-06-17 12:23:57.000000000 +0000
-+++ destar-0.2beta/po/es.po 2006-06-27 05:31:28.000000000 +0000
-@@ -19,7 +19,7 @@
- #: backend.py:63 ../backend.py:63
- #, python-format
- msgid "Warning: There is no %s or %s file yet."
--msgstr "Advertencia: Aún no existe el archivo %s o %s."
-+msgstr "Advertencia: Aún no existe el archivo %s o %s."
-
- #: backend.py:366 ../backend.py:375
- #, python-format
-@@ -46,7 +46,7 @@
- #: ../page_owner_cdr.ptl:143 ../page_owner_cdr.ptl:283
- #: ../page_stats_cdr.ptl:145 ../page_stats_cdr.ptl:285
- msgid "Duration"
--msgstr "Duracion"
-+msgstr "Duración"
-
- #: cdrutils.py:45 page_admin_cdr.ptl:76 page_admin_cdr.ptl:233
- #: page_admin_cdr.ptl:235 page_admin_cdr.ptl:237 page_admin_cdr.ptl:239
-@@ -59,11 +59,11 @@
-
- #: cfg_app_callfw.py:26 ../cfg_app_callfw.py:26
- msgid "Call forwarding"
--msgstr "Habilitar reenvÃÂo de llamadas"
-+msgstr "Habilitar reenvÃo de llamadas"
-
- #: cfg_app_callfw.py:27 ../cfg_app_callfw.py:27
- msgid "Extensions to set/unset call forwarding."
--msgstr "Extensión para programar/desprogramar la redirección de llamadas."
-+msgstr "Extensión para programar/desprogramar la redirección de llamadas."
-
- #: cfg_app_callfw.py:28 cfg_opt_music.py:28 cfg_opt_user.py:34
- #: configlets.py:419 configlets.py:600 configlets.py:658 configlets.py:798
-@@ -77,11 +77,11 @@
-
- #: cfg_app_callfw.py:28 ../cfg_app_callfw.py:33
- msgid "Call Forwarding Unconditional"
--msgstr "ReenvÃÂo de llamadas incondicional"
-+msgstr "ReenvÃo de llamadas incondicional"
-
- #: cfg_app_callfw.py:28 ../cfg_app_callfw.py:33
- msgid "Call Forwarding if Busy/Unavailable"
--msgstr "Redirigir llamadas si está ocupado o no disponible"
-+msgstr "Redirigir llamadas si está ocupado o no disponible"
-
- #: cfg_app_callfw.py:29 ../cfg_app_callfw.py:34
- msgid "Setting preffix"
-@@ -119,12 +119,12 @@
- #: ../configlets.py:576 ../configlets.py:880 ../configlets.py:1007
- #: ../configlets.py:1028 ../page_stats_phone.ptl:65
- msgid "Extension"
--msgstr "Extensión"
-+msgstr "Extensión"
-
- #: cfg_app_conference.py:28 cfg_app_meetme.py:28 ../cfg_app_conference.py:33
- #: ../cfg_app_meetme.py:32
- msgid "Conference number"
--msgstr "Número de Conferencia"
-+msgstr "Número de Conferencia"
-
- #: cfg_app_directory.py:26 cfg_opt_music.py:29 ../cfg_app_directory.py:26
- #: ../cfg_opt_music.py:32
-@@ -133,7 +133,7 @@
-
- #: cfg_app_directory.py:27 ../cfg_app_directory.py:28
- msgid "This application allows you to dial by name."
--msgstr "Esta aplicación le permite marcar deletreando el nombre."
-+msgstr "Esta aplicación le permite marcar deletreando el nombre."
-
- #: cfg_app_dnd.py:26 ../cfg_app_dnd.py:26
- msgid "Set/Unset DND"
-@@ -141,16 +141,16 @@
-
- #: cfg_app_dnd.py:27 ../cfg_app_dnd.py:28
- msgid "Extensions to set/unset 'Do Not Disturb'."
--msgstr "Extensión para programar/desprogramar 'No molestar'."
-+msgstr "Extensión para programar/desprogramar 'No molestar'."
-
- #: cfg_app_dnd.py:29 ../cfg_app_dnd.py:33
- msgid "Setting extension"
--msgstr "Extensión para programar"
-+msgstr "Extensión para programar"
-
- #: cfg_app_dnd.py:42 configlets.py:455 ../cfg_app_dnd.py:50
- #: ../configlets.py:608
- msgid "Extension already in use"
--msgstr "La extensión ya está en uso"
-+msgstr "La extensión ya está en uso"
-
- #: cfg_app_echo.py:26 ../cfg_app_echo.py:26
- msgid "Echo test"
-@@ -161,8 +161,8 @@
- "The echo test immediately plays back what you speek. You can\n"
- "\t\t\t use this to find out how much echo you have."
- msgstr ""
--"La prueba de eco reproduce inmediatamente lo que usted está hablando. Puede "
--"usarla para determinar la cantidad de eco que está experimentando."
-+"La prueba de eco reproduce inmediatamente lo que usted está hablando. Puede "
-+"usarla para determinar la cantidad de eco que está experimentando."
-
- #: cfg_app_meetme.py:26 ../cfg_app_meetme.py:26
- msgid "Meeting room"
-@@ -170,7 +170,7 @@
-
- #: cfg_app_meetme.py:28 ../cfg_app_meetme.py:32
- msgid "If empty, will be the same as the extension"
--msgstr "Si se omite, será igual al número de la extensión"
-+msgstr "Si se omite, será igual al número de la extensión"
-
- #: cfg_app_meetme.py:29 ../cfg_app_meetme.py:33
- msgid "PIN"
-@@ -186,14 +186,14 @@
- #: ../cfg_trunk_zappbx.py:39 ../cfg_trunk_zappri.py:49 ../cfg_trunk_zap.py:38
- #: ../page_admin_panel.ptl:27
- msgid "Operator Panel"
--msgstr "Pánel de Operadora"
-+msgstr "Pánel de Operadora"
-
- #: cfg_app_meetme.py:32 cfg_trunk_iax.py:48 cfg_trunk_sip.py:40
- #: cfg_trunk_zappri.py:46 cfg_trunk_zap.py:36 ../cfg_app_meetme.py:36
- #: ../cfg_trunk_iax.py:50 ../cfg_trunk_sip.py:45 ../cfg_trunk_zappbx.py:40
- #: ../cfg_trunk_zappri.py:50 ../cfg_trunk_zap.py:39
- msgid "Show this trunk in the panel"
--msgstr "Mostrar esta troncal en el pánel de operadora"
-+msgstr "Mostrar esta troncal en el pánel de operadora"
-
- #: cfg_app_milliwatt.py:26 ../cfg_app_milliwatt.py:26
- msgid "Milliwatt test"
-@@ -207,16 +207,16 @@
-
- #: cfg_app_music.py:26 ../cfg_app_music.py:26
- msgid "Listen to music-on-hold"
--msgstr "Escuchar música en espera"
-+msgstr "Escuchar música en espera"
-
- #: cfg_app_music.py:27 ../cfg_app_music.py:28
- msgid "Play Play Music On Hold until you hang up."
--msgstr "Reproducir música en espera hasta que cuelge."
-+msgstr "Reproducir música en espera hasta que cuelge."
-
- #: cfg_app_music.py:29 cfg_ivr_autoatt.py:34 cfg_phone_queue.py:33
- #: ../cfg_app_music.py:33 ../cfg_ivr_autoatt.py:46 ../cfg_phone_queue.py:53
- msgid "Music-on-hold class"
--msgstr "Tipo de Música en Espera"
-+msgstr "Tipo de Música en Espera"
-
- #: cfg_app_parking.py:26 ../cfg_app_parking.py:26
- msgid "Park calls"
-@@ -224,7 +224,7 @@
-
- #: cfg_app_parking.py:27 ../cfg_app_parking.py:28
- msgid "Call Parking extension"
--msgstr "Extensión para el parqueo de llamadas"
-+msgstr "Extensión para el parqueo de llamadas"
-
- #: cfg_app_parking.py:29 ../cfg_app_parking.py:33
- msgid "Parking places"
-@@ -245,12 +245,12 @@
-
- #: cfg_app_play.py:29 ../cfg_app_play.py:33
- msgid "Don't specify an extension"
--msgstr "Por favor no especifique una extensión"
-+msgstr "Por favor no especifique una extensión"
-
- #: cfg_app_play.py:37 cfg_app_record.py:49 cfg_opt_loadmodule.py:39
- #: ../cfg_app_play.py:45 ../cfg_app_record.py:57 ../cfg_opt_loadmodule.py:40
- msgid "Please don't specify an extension"
--msgstr "Por favor no especifique una extensión"
-+msgstr "Por favor no especifique una extensión"
-
- #: cfg_app_record.py:26 ../cfg_app_record.py:26
- msgid "Record sound"
-@@ -262,7 +262,7 @@
- "\t\t\ta second or dial '#' to stop the recording."
- msgstr ""
- "Permite grabar un arhivo de sonido. Usted puede colgar, hacer silencio por "
--"un segundo, o marcar # para detener la grabación."
-+"un segundo, o marcar # para detener la grabación."
-
- #: cfg_app_record.py:32 ../cfg_app_record.py:36
- msgid "Sound format"
-@@ -270,7 +270,7 @@
-
- #: cfg_app_record.py:33 ../cfg_app_record.py:37
- msgid "GSM compression"
--msgstr "Compresión GSM"
-+msgstr "Compresión GSM"
-
- #: cfg_app_record.py:34 ../cfg_app_record.py:38
- msgid "PCM format 'ulaw'"
-@@ -290,7 +290,7 @@
-
- #: cfg_app_record.py:38 ../cfg_app_record.py:42
- msgid "WAV-File with GSM 6.10 compression, mono 8000 Hz"
--msgstr "Archivo WAV con compresión GSM 6.10, mono 8000 Hz"
-+msgstr "Archivo WAV con compresión GSM 6.10, mono 8000 Hz"
-
- #: cfg_app_saytime.py:26 ../cfg_app_saytime.py:26 ../cfg_app_saytime.py:27
- msgid "Say time"
-@@ -311,15 +311,15 @@
-
- #: cfg_app_voicemail.py:26 ../cfg_app_voicemail.py:26
- msgid "Voicemail dialog"
--msgstr "Diálogo de correo de voz"
-+msgstr "Diálogo de correo de voz"
-
- #: cfg_app_voicemail.py:27 ../cfg_app_voicemail.py:28
- msgid "Extension to enter the voicemail system."
--msgstr "Extensión para entrar al sistema de correo de voz."
-+msgstr "Extensión para entrar al sistema de correo de voz."
-
- #: cfg_app_voicemail.py:29 ../cfg_app_voicemail.py:33
- msgid "Ask for user mailbox?"
--msgstr "ÿSolicitar el buzón de mensajes del usuario?"
-+msgstr "¿Solicitar el buzón de mensajes del usuario?"
-
- #: cfg_dialout_normal.py:27 ../cfg_dialout_normal.py:27
- msgid "Normal dialout entry"
-@@ -327,7 +327,7 @@
-
- #: cfg_dialout_normal.py:28 ../cfg_dialout_normal.py:29
- msgid "Used to route calls through trunks"
--msgstr "Usado para enrutar las llamadas a través de las troncales"
-+msgstr "Usado para enrutar las llamadas a través de las troncales"
-
- #: cfg_dialout_normal.py:31 cfg_ivr_autoatt.py:32 cfg_ivr_raw.py:29
- #: cfg_opt_manager.py:28 cfg_opt_music.py:27 cfg_opt_oppanel.py:32
-@@ -357,15 +357,15 @@
-
- #: cfg_dialout_normal.py:32 ../cfg_dialout_normal.py:35
- msgid "Pattern"
--msgstr "Patrón"
-+msgstr "Patrón"
-
- #: cfg_dialout_normal.py:33 ../cfg_dialout_normal.py:38
- msgid "Maximum call time in seconds"
--msgstr "Tamaño máximo de las llamadas en segundos"
-+msgstr "Tamaño máximo de las llamadas en segundos"
-
- #: cfg_dialout_normal.py:34 ../cfg_dialout_normal.py:39
- msgid "Ringing time in seconds"
--msgstr "Duración del timbre en segundos"
-+msgstr "Duración del timbre en segundos"
-
- #: cfg_dialout_normal.py:36 ../cfg_dialout_normal.py:42
- msgid "Trunks to use for routing this dialout entry"
-@@ -379,23 +379,23 @@
-
- #: cfg_dialout_normal.py:53
- msgid "Price for this pattern"
--msgstr "Precio para este patrón"
-+msgstr "Precio para este patrón"
-
- #: cfg_ivr_autoatt.py:27 ../cfg_ivr_autoatt.py:27
- msgid "Auto attendant"
--msgstr "Operadora automática"
-+msgstr "Operadora automática"
-
- #: cfg_ivr_autoatt.py:28 ../cfg_ivr_autoatt.py:29
- msgid "Basic auto-attendant."
--msgstr "Operadora automática básica"
-+msgstr "Operadora automática básica"
-
- #: cfg_ivr_autoatt.py:33 ../cfg_ivr_autoatt.py:39
- msgid "Max. time for incoming calls in seconds"
--msgstr "Máximo tiempo para llamadas en segundo"
-+msgstr "Máximo tiempo para llamadas en segundo"
-
- #: cfg_ivr_autoatt.py:33 ../cfg_ivr_autoatt.py:40
- msgid "(0 or empty means no time restriction)"
--msgstr "(0 o vacÃÂo significa no restricción de tiempo)"
-+msgstr "(0 o vacÃo significa no restricción de tiempo)"
-
- #: cfg_ivr_autoatt.py:36 ../cfg_ivr_autoatt.py:52
- msgid "File to play in the background"
-@@ -407,11 +407,11 @@
-
- #: cfg_ivr_autoatt.py:38 ../cfg_ivr_autoatt.py:62
- msgid "Pause between each playback"
--msgstr "Pausa entre cada reproducción"
-+msgstr "Pausa entre cada reproducción"
-
- #: cfg_ivr_autoatt.py:39 ../cfg_ivr_autoatt.py:66
- msgid "Extension to ring after file playing"
--msgstr "Extensión a timbrar después de reproducir el archivo"
-+msgstr "Extensión a timbrar después de reproducir el archivo"
-
- #: cfg_ivr_autoatt.py:41 ../cfg_ivr_autoatt.py:76
- msgid "IVR to jump on special dates"
-@@ -419,16 +419,16 @@
-
- #: cfg_ivr_autoatt.py:43 ../cfg_ivr_autoatt.py:83
- msgid "Times string"
--msgstr "Patrón de horario"
-+msgstr "Patrón de horario"
-
- #: cfg_ivr_autoatt.py:43 ../cfg_ivr_autoatt.py:84
- msgid "i.e. <hours>|<weekdays>|<monthdays>|<months> (comma separated)"
- msgstr ""
--"ej. <horas>|<dÃÂas de las semana>|<dÃÂas del mes>|<mes> (separados por comas)"
-+"ej. <horas>|<dÃas de las semana>|<dÃas del mes>|<mes> (separados por comas)"
-
- #: cfg_ivr_autoatt.py:44
- msgid "Allow calling to all extensions?"
--msgstr "ÿPermitir llamar a todas las extensiones?"
-+msgstr "¿Permitir llamar a todas las extensiones?"
-
- #: cfg_ivr_autoatt.py:61 ../cfg_ivr_autoatt.py:122
- msgid "File should be played at least one time"
-@@ -449,11 +449,11 @@
-
- #: cfg_opt_did.py:26 ../cfg_opt_did.py:26
- msgid "Direct inward dialing (DID) number"
--msgstr "Número de DID (Direct Inward Dialing)"
-+msgstr "Número de DID (Direct Inward Dialing)"
-
- #: cfg_opt_did.py:28
- msgid "Used to route a DID to an extension or Auto-Attendant."
--msgstr "Usado para enrutar un DID a una extensión u operadora automática"
-+msgstr "Usado para enrutar un DID a una extensión u operadora automática"
-
- #: cfg_opt_did.py:31 ../cfg_opt_did.py:36
- msgid "DID"
-@@ -475,7 +475,7 @@
- #: ../cfg_trunk_iax.py:54 ../cfg_trunk_sip.py:49 ../cfg_trunk_zappbx.py:50
- #: ../cfg_trunk_zappri.py:58 ../cfg_trunk_zap.py:47
- msgid "Phone"
--msgstr "Teléfono"
-+msgstr "Teléfono"
-
- #: cfg_opt_did.py:35 cfg_trunk_iax.py:52 cfg_trunk_sip.py:44
- #: cfg_trunk_zappri.py:54 cfg_trunk_zap.py:44 ../cfg_opt_did.py:48
-@@ -488,7 +488,7 @@
- #: cfg_trunk_iaxtel.py:43 ../cfg_opt_did.py:51 ../cfg_trunk_capimsn.py:35
- #: ../cfg_trunk_fwdiax.py:50 ../cfg_trunk_iaxtel.py:49
- msgid "Phone to ring"
--msgstr "Teléfono a timbrar"
-+msgstr "Teléfono a timbrar"
-
- #: cfg_opt_did.py:38 cfg_trunk_iax.py:55 cfg_trunk_sip.py:47
- #: cfg_trunk_zappri.py:57 cfg_trunk_zap.py:47 ../cfg_opt_did.py:57
-@@ -505,11 +505,11 @@
-
- #: cfg_opt_did.py:64 ../cfg_opt_did.py:93
- msgid "DID already in use for that trunk."
--msgstr "DID ya está en uso para esta troncal"
-+msgstr "DID ya está en uso para esta troncal"
-
- #: cfg_opt_enum.py:26 ../cfg_opt_enum.py:26
- msgid "ENUM search domain"
--msgstr "Dominio de búsqueda de ENUM"
-+msgstr "Dominio de búsqueda de ENUM"
-
- #: cfg_opt_enum.py:27 ../cfg_opt_enum.py:30
- msgid "Domain to search for ENUM entries"
-@@ -518,11 +518,11 @@
- #: cfg_opt_loadmodule.py:26 ../cfg_opt_loadmodule.py:26
- #: ../cfg_opt_loadmodule.py:27
- msgid "Load module"
--msgstr "Cargar Módulo"
-+msgstr "Cargar Módulo"
-
- #: cfg_opt_loadmodule.py:27 ../cfg_opt_loadmodule.py:28
- msgid "Module to load"
--msgstr "Módulo a cargar"
-+msgstr "Módulo a cargar"
-
- #: cfg_opt_logger.py:25 ../cfg_opt_logger.py:30
- msgid "Errors"
-@@ -538,11 +538,11 @@
-
- #: cfg_opt_logger.py:28 ../cfg_opt_logger.py:33
- msgid "Verbose messages"
--msgstr "Mensajes de información"
-+msgstr "Mensajes de información"
-
- #: cfg_opt_logger.py:29 ../cfg_opt_logger.py:34
- msgid "Debug output"
--msgstr "Salida de depuración"
-+msgstr "Salida de depuración"
-
- #: cfg_opt_logger.py:39 ../cfg_opt_logger.py:25 ../cfg_opt_logger.py:26
- msgid "Logger options"
-@@ -554,7 +554,7 @@
- "make it more (or less) verbose:"
- msgstr ""
- "Asterisk puede emitir muchos eventos a su consola o a un archivo de "
--"registro, aquÃÂ usted puede manipular el nivel de detalle:"
-+"registro, aquà usted puede manipular el nivel de detalle:"
-
- #: cfg_opt_logger.py:42 ../cfg_opt_logger.py:44
- msgid "Console output"
-@@ -566,7 +566,7 @@
-
- #: cfg_opt_logger.py:54 ../cfg_opt_logger.py:56
- msgid "Log to syslog via facility"
--msgstr "Registrar en el archivo syslog a través del recurso"
-+msgstr "Registrar en el archivo syslog a través del recurso"
-
- #: cfg_opt_logger.py:59 ../cfg_opt_logger.py:61
- msgid "What kind of messages to log"
-@@ -575,19 +575,19 @@
- #: cfg_opt_manager.py:27 page_config.ptl:80 ../cfg_opt_manager.py:26
- #: ../page_config.ptl:80
- msgid "Management API access"
--msgstr "Acceso del API de Gestión"
-+msgstr "Acceso del API de Gestión"
-
- #: cfg_opt_manager.py:29 ../cfg_opt_manager.py:32
- msgid "Secret"
--msgstr "Contraseña"
-+msgstr "Contraseña"
-
- #: cfg_opt_manager.py:30 ../cfg_opt_manager.py:33
- msgid "IP disable mask"
--msgstr "Deshabilitar máscara IP"
-+msgstr "Deshabilitar máscara IP"
-
- #: cfg_opt_manager.py:31 ../cfg_opt_manager.py:34
- msgid "IP enable mask"
--msgstr "Habilitar máscara IP"
-+msgstr "Habilitar máscara IP"
-
- #: cfg_opt_manager.py:32 ../cfg_opt_manager.py:35
- msgid "Read"
-@@ -599,23 +599,23 @@
-
- #: cfg_opt_music.py:26 ../cfg_opt_music.py:26
- msgid "Background music directory"
--msgstr "Directorio de música de fondo"
-+msgstr "Directorio de música de fondo"
-
- #: cfg_opt_oppanel.py:28 ../cfg_opt_oppanel.py:29
- msgid "Configure Asternic Flash Operator Panel"
--msgstr "Configurar el Pánel de Operadora Asternic"
-+msgstr "Configurar el Pánel de Operadora Asternic"
-
- #: cfg_opt_oppanel.py:33 ../cfg_opt_oppanel.py:35
- msgid "FQDN/IP to access the panel via web"
--msgstr "Nombre de domino para acceder al pánel via web"
-+msgstr "Nombre de domino para acceder al pánel via web"
-
- #: cfg_opt_oppanel.py:34 ../cfg_opt_oppanel.py:36
- msgid "Security Code"
--msgstr "Código de seguridad"
-+msgstr "Código de seguridad"
-
- #: cfg_opt_oppanel.py:35 ../cfg_opt_oppanel.py:37
- msgid "Manager agent"
--msgstr "Agente de gestión"
-+msgstr "Agente de gestión"
-
- #: cfg_opt_oppanel.py:37 ../cfg_opt_oppanel.py:39
- msgid "Frequency in seconds to poll for sip and iax status"
-@@ -624,19 +624,19 @@
-
- #: cfg_opt_pickup.py:27 ../cfg_opt_pickup.py:27 ../cfg_opt_pickup.py:28
- msgid "Pickup Extension"
--msgstr "Extensión para toma de llamadas"
-+msgstr "Extensión para toma de llamadas"
-
- #: cfg_opt_pickup.py:28 ../cfg_opt_pickup.py:29
- msgid "Extension to dial to pick-up a call in the same group."
--msgstr "Extensión a marcar para tomar una llamada del grupo"
-+msgstr "Extensión a marcar para tomar una llamada del grupo"
-
- #: cfg_opt_rawcfg.py:26 ../cfg_opt_rawcfg.py:26
- msgid "Raw config file snippet"
--msgstr "Archivo de configuración original fragmentado"
-+msgstr "Archivo de configuración original fragmentado"
-
- #: cfg_opt_rawcfg.py:30 ../cfg_opt_rawcfg.py:33
- msgid "Section/Context"
--msgstr "Sección/Contexto"
-+msgstr "Sección/Contexto"
-
- #: cfg_opt_rtp.py:26 ../cfg_opt_rtp.py:26 ../cfg_opt_rtp.py:27
- msgid "RTP options"
-@@ -668,7 +668,7 @@
-
- #: cfg_opt_settings.py:52 ../cfg_opt_settings.py:52
- msgid "Belgium"
--msgstr "Bélgica"
-+msgstr "Bélgica"
-
- #: cfg_opt_settings.py:64 ../cfg_opt_settings.py:64
- msgid "Brazil"
-@@ -684,7 +684,7 @@
-
- #: cfg_opt_settings.py:98 ../cfg_opt_settings.py:98
- msgid "Spain"
--msgstr "España"
-+msgstr "España"
-
- #: cfg_opt_settings.py:110 ../cfg_opt_settings.py:110
- msgid "Finland"
-@@ -708,7 +708,7 @@
-
- #: cfg_opt_settings.py:166 ../cfg_opt_settings.py:166
- msgid "Japan"
--msgstr "Japón"
-+msgstr "Japón"
-
- #: cfg_opt_settings.py:178 ../cfg_opt_settings.py:178
- msgid "Netherlands"
-@@ -748,7 +748,7 @@
-
- #: cfg_opt_settings.py:285 ../cfg_opt_settings.py:285
- msgid "United States / North America"
--msgstr "Estados Unidos / Norteamérica"
-+msgstr "Estados Unidos / Norteamérica"
-
- #: cfg_opt_settings.py:296 ../cfg_opt_settings.py:296
- msgid "South Africa"
-@@ -761,13 +761,13 @@
-
- #: cfg_opt_settings.py:317 ../cfg_opt_settings.py:320
- msgid "Country"
--msgstr "PaÃÂs"
-+msgstr "PaÃs"
-
- #: cfg_opt_settings.py:318 ../cfg_opt_settings.py:321
- msgid "The country is used for generating dialtone, ringtone, busytone etc"
- msgstr ""
--"El PaÃÂs se utiliza para generar el tono de marcado, timbre, tono de "
--"invitación a marcar, etc."
-+"El PaÃs se utiliza para generar el tono de marcado, timbre, tono de "
-+"invitación a marcar, etc."
-
- #: cfg_opt_settings.py:322 ../cfg_opt_settings.py:325
- msgid "language"
-@@ -775,7 +775,7 @@
-
- #: cfg_opt_settings.py:323 ../cfg_opt_settings.py:326
- msgid "The language is used for voice prompts"
--msgstr "El lenguaje se usa para los diálogos de voz"
-+msgstr "El lenguaje se usa para los diálogos de voz"
-
- #: cfg_opt_sip_audio.py:27 ../cfg_opt_sip_audio.py:27
- #: ../cfg_opt_sip_audio.py:28
-@@ -788,33 +788,33 @@
-
- #: cfg_opt_sip_audio.py:30 ../cfg_opt_sip_audio.py:33
- msgid "Allow alaw codec"
--msgstr "Permitir códec Ley A"
-+msgstr "Permitir códec Ley A"
-
- #: cfg_opt_sip_audio.py:31 ../cfg_opt_sip_audio.py:34
- msgid "Allow ulaw codec"
--msgstr "Permitir códec Ley U"
-+msgstr "Permitir códec Ley U"
-
- #: cfg_opt_sip_audio.py:32 ../cfg_opt_sip_audio.py:35
- msgid "Allow ilbc codec"
--msgstr "Permitir códec ilbc"
-+msgstr "Permitir códec ilbc"
-
- #: cfg_opt_sip_audio.py:33 ../cfg_opt_sip_audio.py:36
- msgid "Allow gsm codec"
--msgstr "Permitir códec gsm"
-+msgstr "Permitir códec gsm"
-
- #: cfg_opt_sip_audio.py:34 ../cfg_opt_sip_audio.py:37
- msgid "Allow g729 codec"
--msgstr "Permitir códec g729"
-+msgstr "Permitir códec g729"
-
- #: cfg_opt_sip_audio.py:35 ../cfg_opt_sip_audio.py:38
- msgid "g729 pass-thru unless license obtained"
- msgstr ""
--"Sólo reenvÃÂo y no trascodificación de g729 a menos que se obtenga una "
-+"Sólo reenvÃo y no trascodificación de g729 a menos que se obtenga una "
- "licencia"
-
- #: cfg_opt_sip_audio.py:36 ../cfg_opt_sip_audio.py:39
- msgid "Allow g723.1 codec"
--msgstr "Permitir códec g723.1"
-+msgstr "Permitir códec g723.1"
-
- #: cfg_opt_sip_audio.py:37 ../cfg_opt_sip_audio.py:40
- msgid "g723.1 pass-thru"
-@@ -822,7 +822,7 @@
-
- #: cfg_opt_sip_audio.py:45 ../cfg_opt_sip_audio.py:48
- msgid "You should choose at least one codec"
--msgstr "Usted debe seleccionar al menos un códec"
-+msgstr "Usted debe seleccionar al menos un códec"
-
- #: cfg_opt_user.py:26 page_config.ptl:68 ../cfg_opt_user.py:25
- #: ../page_config.ptl:68
-@@ -834,19 +834,19 @@
- #: ../cfg_opt_user.py:32 ../cfg_phone_epygi.py:45 ../cfg_phone_iax.py:42
- #: ../cfg_phone_mgcp.py:42 ../cfg_phone_sip.py:43 ../cfg_trunk_iax.py:43
- msgid "Password"
--msgstr "Contraseña"
-+msgstr "Contraseña"
-
- #: cfg_opt_user.py:31 ../cfg_opt_user.py:33
- msgid "Associated IP address of PC"
--msgstr "Dirección IP asociada al PC"
-+msgstr "Dirección IP asociada al PC"
-
- #: cfg_opt_user.py:31 ../cfg_opt_user.py:33
- msgid "Trusted for auto-login"
--msgstr "Confiable para inicio de sesión automático"
-+msgstr "Confiable para inicio de sesión automático"
-
- #: cfg_opt_user.py:32 ../cfg_opt_user.py:34
- msgid "Associated phone"
--msgstr "Teléfono Asociado"
-+msgstr "Teléfono Asociado"
-
- #: cfg_opt_user.py:35 page_user_info.ptl:49 page_user.ptl:46
- #: ../cfg_opt_user.py:38 ../page_user_info.ptl:49 ../page_user.ptl:46
-@@ -874,11 +874,11 @@
- #: ../cfg_opt_voicemail.py:27 ../cfg_phone_epygi.py:107 ../cfg_phone_iax.py:87
- #: ../cfg_phone_mgcp.py:96 ../cfg_phone_sip.py:107 ../cfg_phone_zap.py:94
- msgid "Voicemail settings"
--msgstr "Configuración de correo de voz"
-+msgstr "Configuración de correo de voz"
-
- #: cfg_opt_voicemail.py:27 ../cfg_opt_voicemail.py:30
- msgid "Recording settings"
--msgstr "Configuración de grabación"
-+msgstr "Configuración de grabación"
-
- #: cfg_opt_voicemail.py:28 ../cfg_opt_voicemail.py:31
- msgid "File format for voicemail messages"
-@@ -886,30 +886,30 @@
-
- #: cfg_opt_voicemail.py:30 ../cfg_opt_voicemail.py:33
- msgid "Maximal message length (in seconds)"
--msgstr "Tamaño máximo de los mensajes (en segundos)"
-+msgstr "Tamaño máximo de los mensajes (en segundos)"
-
- #: cfg_opt_voicemail.py:31 ../cfg_opt_voicemail.py:34
- msgid "Minimal message length (in seconds)"
--msgstr "Tamaño mÃÂnimo de los mensajes (en segundos)"
-+msgstr "Tamaño mÃnimo de los mensajes (en segundos)"
-
- #: cfg_opt_voicemail.py:32 ../cfg_opt_voicemail.py:35
- msgid "Seconds of silence to end the recording"
--msgstr "Segundos de silencio para la grabación"
-+msgstr "Segundos de silencio para la grabación"
-
- #: cfg_opt_voicemail.py:33 ../cfg_opt_voicemail.py:36
- msgid ""
- "Silence threshold (what we consider silence, the lower, the more sensitive)"
- msgstr ""
--"Umbral de silencio (lo que consideramos silencio;entre más bajo, más "
-+"Umbral de silencio (lo que consideramos silencio;entre más bajo, más "
- "sensible)"
-
- #: cfg_opt_voicemail.py:35 ../cfg_opt_voicemail.py:38
- msgid "Playback settings"
--msgstr "Configuración de Reproducción"
-+msgstr "Configuración de Reproducción"
-
- #: cfg_opt_voicemail.py:36 ../cfg_opt_voicemail.py:39
- msgid "Max number of failed login attempts"
--msgstr "Máximo número de intentos de inicio de sesión"
-+msgstr "Máximo número de intentos de inicio de sesión"
-
- #: cfg_opt_voicemail.py:37 ../cfg_opt_voicemail.py:40
- msgid "Seconds to skip forward/backward"
-@@ -939,7 +939,7 @@
- #: cfg_opt_zap_phone.py:26 ../cfg_opt_zap_phone.py:26
- #: ../cfg_opt_zap_phone.py:27
- msgid "Zaptel Phone Options"
--msgstr "Opciones de teléfono Zaptel"
-+msgstr "Opciones de teléfono Zaptel"
-
- #: cfg_opt_zap_phone.py:28 ../cfg_opt_zap_phone.py:31
- msgid "Use ADSI for menu phones"
-@@ -963,7 +963,7 @@
-
- #: cfg_opt_zap_phone.py:33 ../cfg_opt_zap_phone.py:36
- msgid "Allow call forwards"
--msgstr "Habilitar reenvÃÂo de llamadas"
-+msgstr "Habilitar reenvÃo de llamadas"
-
- #: cfg_opt_zap_phone.py:34 ../cfg_opt_zap_phone.py:37
- msgid "Read caller number with *69"
-@@ -971,7 +971,7 @@
-
- #: cfg_opt_zappri.py:28 ../cfg_opt_zappri.py:28 ../cfg_opt_zappri.py:29
- msgid "Zaptel configuration for PRI"
--msgstr "Configuración de Zaptel para PRI"
-+msgstr "Configuración de Zaptel para PRI"
-
- #: cfg_opt_zappri.py:31 ../cfg_opt_zappri.py:33
- msgid "Zaptel span"
-@@ -983,11 +983,11 @@
-
- #: cfg_opt_zappri.py:32 ../cfg_opt_zappri.py:34
- msgid "Zaptel timing parameter"
--msgstr "Parámetro de temporización de Zaptel"
-+msgstr "Parámetro de temporización de Zaptel"
-
- #: cfg_opt_zappri.py:32 ../cfg_opt_zappri.py:34
- msgid "Read zaptel documentation"
--msgstr "Lea la documentación de zaptel"
-+msgstr "Lea la documentación de zaptel"
-
- #: cfg_opt_zappri.py:33 ../cfg_opt_zappri.py:35
- msgid "Line Build Out (dB)"
-@@ -1053,7 +1053,7 @@
-
- #: cfg_opt_zappri.py:46 ../cfg_opt_zappri.py:48
- msgid "Coding"
--msgstr "Codificación"
-+msgstr "Codificación"
-
- #: cfg_opt_zappri.py:47 ../cfg_opt_zappri.py:49
- msgid "AMI (T1/E1)"
-@@ -1079,7 +1079,7 @@
-
- #: cfg_opt_zappri.py:50 ../cfg_opt_zappri.py:52
- msgid "Signaling channel"
--msgstr "Canal de señalización"
-+msgstr "Canal de señalización"
-
- #: cfg_opt_zappri.py:50 ../cfg_opt_zappri.py:52
- msgid "i.e. 16"
-@@ -1100,7 +1100,7 @@
-
- #: cfg_phone_ext.py:27 ../cfg_phone_ext.py:28
- msgid "Set an 'alias' extension to a phone"
--msgstr "Establecer una extensión \"alias\" al teléfono"
-+msgstr "Establecer una extensión \"alias\" al teléfono"
-
- #: cfg_phone_ext.py:31 ../cfg_phone_ext.py:44
- msgid "This can be used to set operator(o) or fax(fax) extensions."
-@@ -1109,25 +1109,25 @@
-
- #: cfg_phone_ext.py:33 ../cfg_phone_ext.py:48
- msgid "Calls to the extension"
--msgstr "Llamadas a la extensión"
-+msgstr "Llamadas a la extensión"
-
- #: cfg_phone_ext.py:34 ../cfg_phone_ext.py:52
- msgid "Real phone to ring"
--msgstr "Teléfono a timbrar"
-+msgstr "Teléfono a timbrar"
-
- #: cfg_phone_iax.py:27 ../cfg_phone_iax.py:27
- msgid "Normal IAX phone"
--msgstr "Teléfono IAX estándar"
-+msgstr "Teléfono IAX estándar"
-
- #: cfg_phone_iax.py:31 cfg_phone_mgcp.py:29 cfg_phone_sip.py:32
- #: ../cfg_phone_iax.py:47 ../cfg_phone_mgcp.py:47 ../cfg_phone_sip.py:48
- msgid "IP address of phone"
--msgstr "Direción IP del teléfono"
-+msgstr "Direción IP del teléfono"
-
- #: cfg_phone_iax.py:33 cfg_phone_mgcp.py:37 cfg_phone_zap.py:34
- #: ../cfg_phone_iax.py:56 ../cfg_phone_mgcp.py:76 ../cfg_phone_zap.py:63
- msgid "Allow direct dialling from outside?"
--msgstr "ÿPermitir llamadas directas desde el exterior?"
-+msgstr "¿Permitir llamadas directas desde el exterior?"
-
- #: cfg_phone_iax.py:35 cfg_phone_mgcp.py:39 cfg_phone_sip.py:40
- #: cfg_phone_zap.py:36 ../cfg_phone_epygi.py:70 ../cfg_phone_iax.py:62
-@@ -1145,12 +1145,12 @@
- #: cfg_phone_zap.py:38 ../cfg_phone_epygi.py:80 ../cfg_phone_iax.py:72
- #: ../cfg_phone_mgcp.py:92 ../cfg_phone_sip.py:80 ../cfg_phone_zap.py:79
- msgid "Call group number"
--msgstr "Número del grupo de llamadas"
-+msgstr "Número del grupo de llamadas"
-
- #: cfg_phone_iax.py:40 cfg_phone_sip.py:49 ../cfg_phone_epygi.py:101
- #: ../cfg_phone_iax.py:81 ../cfg_phone_sip.py:101
- msgid "Show this extension in the panel"
--msgstr "Mostrar esta extensión en el pánel"
-+msgstr "Mostrar esta extensión en el pánel"
-
- #: cfg_phone_iax.py:43 cfg_phone_mgcp.py:44 cfg_phone_sip.py:52
- #: cfg_phone_zap.py:44 ../cfg_phone_epygi.py:112 ../cfg_phone_iax.py:91
-@@ -1162,7 +1162,7 @@
- #: cfg_phone_zap.py:45 ../cfg_phone_epygi.py:117 ../cfg_phone_iax.py:96
- #: ../cfg_phone_mgcp.py:106 ../cfg_phone_sip.py:117 ../cfg_phone_zap.py:104
- msgid "Signal waiting mail"
--msgstr "Correo de espera de señal"
-+msgstr "Correo de espera de señal"
-
- #: cfg_phone_iax.py:45 cfg_phone_mgcp.py:46 cfg_phone_sip.py:54
- #: cfg_phone_zap.py:46 ../cfg_phone_epygi.py:122 ../cfg_phone_iax.py:101
-@@ -1178,7 +1178,7 @@
- #: cfg_phone_zap.py:48 ../cfg_phone_epygi.py:132 ../cfg_phone_iax.py:110
- #: ../cfg_phone_mgcp.py:116 ../cfg_phone_sip.py:132 ../cfg_phone_zap.py:114
- msgid "Calls from the phone"
--msgstr "Llamadas desde el teléfono"
-+msgstr "Llamadas desde el teléfono"
-
- #: cfg_phone_iax.py:49 cfg_phone_sip.py:57 cfg_phone_zap.py:49
- #: ../cfg_phone_epygi.py:136 ../cfg_phone_iax.py:114 ../cfg_phone_sip.py:136
-@@ -1203,19 +1203,19 @@
- #: cfg_phone_zap.py:52 ../cfg_phone_epygi.py:149 ../cfg_phone_iax.py:127
- #: ../cfg_phone_mgcp.py:133 ../cfg_phone_sip.py:149 ../cfg_phone_zap.py:131
- msgid "Enable time restriction?"
--msgstr "ÿHabilitar la restricción de tiempo?"
-+msgstr "¿Habilitar la restricción de tiempo?"
-
- #: cfg_phone_mgcp.py:26 ../cfg_phone_mgcp.py:26
- msgid "Normal MGCP phone"
--msgstr "Teléfono MGCP estándar"
-+msgstr "Teléfono MGCP estándar"
-
- #: cfg_phone_mgcp.py:27 ../cfg_phone_mgcp.py:40
- msgid ""
- "If you haven't configured a name for your phone please use the IP address "
- "here."
- msgstr ""
--"Si usted no ha configurado un nombre para su teléfono, por favor use la "
--"dirección IP aquÃÂ."
-+"Si usted no ha configurado un nombre para su teléfono, por favor use la "
-+"dirección IP aquÃ."
-
- #: cfg_phone_mgcp.py:33 ../cfg_phone_mgcp.py:56
- msgid "NAT"
-@@ -1223,7 +1223,7 @@
-
- #: cfg_phone_mgcp.py:34 ../cfg_phone_mgcp.py:61
- msgid "Three way calling"
--msgstr "Llamada de tres vÃÂas"
-+msgstr "Llamada de tres vÃas"
-
- #: cfg_phone_mgcp.py:35 ../cfg_phone_mgcp.py:66
- msgid "Enable Call transfer"
-@@ -1231,11 +1231,11 @@
-
- #: cfg_phone_mgcp.py:36 ../cfg_phone_mgcp.py:71
- msgid "Enable Call forward"
--msgstr "Habilitar reenvÃÂo de llamadas"
-+msgstr "Habilitar reenvÃo de llamadas"
-
- #: cfg_phone_mgcp.py:49 ../cfg_phone_mgcp.py:120
- msgid "Caller-Id-Number"
--msgstr "Número del Identificador de Llamante"
-+msgstr "Número del Identificador de Llamante"
-
- #: cfg_phone_mgcp.py:50 ../cfg_phone_mgcp.py:124
- msgid "Caller-Id-Name"
-@@ -1247,7 +1247,7 @@
-
- #: cfg_phone_queue.py:32 ../cfg_phone_queue.py:48 ../cfg_phone_hunt.py:35
- msgid "Timeout"
--msgstr "Tiempo lÃÂmite"
-+msgstr "Tiempo lÃmite"
-
- #: cfg_phone_queue.py:35 ../cfg_phone_queue.py:59
- msgid "Strategy:"
-@@ -1264,11 +1264,11 @@
- #: cfg_phone_queue.py:38 ../cfg_phone_queue.py:63
- msgid ""
- "Least recent - ring interface which was least recently called by this queue"
--msgstr "Timbrar a la extensión que lleve más tiempo sin contestar"
-+msgstr "Timbrar a la extensión que lleve más tiempo sin contestar"
-
- #: cfg_phone_queue.py:39 ../cfg_phone_queue.py:64
- msgid "Fewest calls - ring the one with fewest completed calls from this queue"
--msgstr "Timbrar a la extensión que menos llamadas haya contestado"
-+msgstr "Timbrar a la extensión que menos llamadas haya contestado"
-
- #: cfg_phone_queue.py:40 ../cfg_phone_queue.py:65
- msgid "Random - ring random interface"
-@@ -1276,11 +1276,11 @@
-
- #: cfg_phone_queue.py:41 ../cfg_phone_queue.py:66
- msgid "Round robin with memory - remember where we left off last ring pass"
--msgstr "Timbrar uno por uno, empezando donde se quedó en la última vuelta"
-+msgstr "Timbrar uno por uno, empezando donde se quedó en la última vuelta"
-
- #: cfg_phone_queue.py:44 ../cfg_phone_queue.py:70 ../cfg_phone_hunt.py:36
- msgid "How long to wait before trying all the members again?"
--msgstr "ÿCuanto tiempo esperar antes de intentar timbrar de nuevo?"
-+msgstr "¿Cuanto tiempo esperar antes de intentar timbrar de nuevo?"
-
- #: cfg_phone_queue.py:46
- msgid "Anounces"
-@@ -1288,23 +1288,23 @@
-
- #: cfg_phone_queue.py:47
- msgid "Anounce queue position to caller?"
--msgstr "ÿAnunciar la posición en la cola al llamante?"
-+msgstr "¿Anunciar la posición en la cola al llamante?"
-
- #: cfg_phone_queue.py:48 ../cfg_phone_queue.py:84
- msgid ""
- "How often to announce queue position and/or estimated holdtime to caller"
- msgstr ""
--"Frecuencia de anuncio de la posición en la cola y el tiempo estimado de "
--"contestación"
-+"Frecuencia de anuncio de la posición en la cola y el tiempo estimado de "
-+"contestación"
-
- #: cfg_phone_queue.py:49 ../cfg_phone_queue.py:89
- msgid "Include estimated hold time in position announcements?"
- msgstr ""
--"ÿIncluir el tiempo estimado de contestación en los anuncios de posición?"
-+"¿Incluir el tiempo estimado de contestación en los anuncios de posición?"
-
- #: cfg_phone_queue.py:50 ../cfg_phone_queue.py:91
- msgid "Yes"
--msgstr "SÃÂ"
-+msgstr "SÃ"
-
- #: cfg_phone_queue.py:51 ../cfg_phone_queue.py:92
- msgid "No"
-@@ -1312,7 +1312,7 @@
-
- #: cfg_phone_queue.py:52 ../cfg_phone_queue.py:93
- msgid "Only Once"
--msgstr "Sólo una vez"
-+msgstr "Sólo una vez"
-
- #: cfg_phone_queue.py:56 ../cfg_phone_queue.py:97
- msgid "Monitoring"
-@@ -1320,7 +1320,7 @@
-
- #: cfg_phone_queue.py:57 ../cfg_phone_queue.py:102
- msgid "Monitor answered calls?"
--msgstr "ÿMonitorear la llamadas contestadas?"
-+msgstr "¿Monitorear la llamadas contestadas?"
-
- #: cfg_phone_queue.py:58 ../cfg_phone_queue.py:106
- msgid "Monitor file format"
-@@ -1344,11 +1344,11 @@
-
- #: cfg_phone_queue.py:64 ../cfg_phone_queue.py:115
- msgid "Otherwise it will use ${UNIQUEID}"
--msgstr "De lo contrario, se usará ${UNIQUEID}"
-+msgstr "De lo contrario, se usará ${UNIQUEID}"
-
- #: cfg_phone_queue.py:67 ../cfg_phone_queue.py:129
- msgid "Show this queue in the panel"
--msgstr "Mostrar esta cola en el pánel"
-+msgstr "Mostrar esta cola en el pánel"
-
- #: cfg_phone_queue.py:84 ../cfg_phone_queue.py:149
- msgid "You should select a frequency"
-@@ -1356,11 +1356,11 @@
-
- #: cfg_phone_sip.py:28 ../cfg_phone_sip.py:27
- msgid "Normal SIP phone"
--msgstr "Teléfono SIP estándar"
-+msgstr "Teléfono SIP estándar"
-
- #: cfg_phone_sip.py:33 ../cfg_phone_epygi.py:54 ../cfg_phone_sip.py:53
- msgid "Is the trunk behind NAT ?"
--msgstr "ÿEstá la troncal tras un NAT?"
-+msgstr "¿Está la troncal tras un NAT?"
-
- #: cfg_phone_sip.py:35 ../cfg_phone_epygi.py:63 ../cfg_phone_sip.py:62
- msgid "DTMF mode:"
-@@ -1372,7 +1372,7 @@
-
- #: cfg_phone_sip.py:37 ../cfg_phone_epygi.py:66 ../cfg_phone_sip.py:66
- msgid "In Band (only with ulaw/alaw)"
--msgstr "En Banda (sólo con Ley U/Ley A)"
-+msgstr "En Banda (sólo con Ley U/Ley A)"
-
- #: cfg_phone_sip.py:38 ../cfg_phone_epygi.py:67 ../cfg_phone_sip.py:67
- msgid "SIP INFO"
-@@ -1388,22 +1388,22 @@
-
- #: cfg_phone_zap.py:27 ../cfg_phone_zap.py:27
- msgid "Normal ZAP phone"
--msgstr "Teléfono ZAP normal"
-+msgstr "Teléfono ZAP normal"
-
- #: cfg_phone_zap.py:30 cfg_trunk_zap.py:30 ../cfg_phone_zap.py:43
- #: ../cfg_trunk_zappbx.py:34 ../cfg_trunk_zap.py:33
- msgid "Zaptel channel number"
--msgstr "Número del canal Zaptel"
-+msgstr "Número del canal Zaptel"
-
- #: cfg_phone_zap.py:31 cfg_trunk_zappri.py:31 cfg_trunk_zap.py:31
- #: ../cfg_phone_zap.py:48 ../cfg_trunk_zappbx.py:35 ../cfg_trunk_zappri.py:35
- #: ../cfg_trunk_zap.py:34
- msgid "Signalling type"
--msgstr "Tipo de señalización"
-+msgstr "Tipo de señalización"
-
- #: cfg_phone_zap.py:41 ../cfg_phone_zap.py:88
- msgid "Show this phone in the panel"
--msgstr "Mostrar esta extensión en el pánel"
-+msgstr "Mostrar esta extensión en el pánel"
-
- #: cfg_trunk_capimsn.py:26 ../cfg_trunk_capimsn.py:26
- msgid "ISDN using CAPI, incoming"
-@@ -1417,7 +1417,7 @@
- #: ../cfg_trunk_capimsn.py:34 ../cfg_trunk_capi.py:37
- #: ../cfg_trunk_zaphfc.py:37
- msgid "Subscriber number"
--msgstr "Número de Suscriptor"
-+msgstr "Número de Suscriptor"
-
- #: cfg_trunk_capimsn.py:70 ../cfg_trunk_capimsn.py:68
- msgid "MSN already assigned"
-@@ -1454,20 +1454,20 @@
- "Usted puede registrarse gratuitamente en\n"
- "\t\t\thttp://freeworlddialup.com y obtener un identificador de FWD a donde \n"
- "\t\t\tlas otras personas lo pueden contactar. Estas llamadas son gratuitas "
--"también.\n"
-+"también.\n"
- "\n"
- "\t\t\tCuando usted tiene una cuenta, debe habilitar el soporte IAX para FWD "
- "en \n"
- "\t\t\thttp://www.freeworlddialup.com/advanced/iax para usar esta\n"
--"\t\t\t'lÃÂnea telefónica'."
-+"\t\t\t'lÃnea telefónica'."
-
- #: cfg_trunk_fwdiax.py:38 ../cfg_trunk_fwdiax.py:41
- msgid "FWD number"
--msgstr "Número de FWD"
-+msgstr "Número de FWD"
-
- #: cfg_trunk_fwdiax.py:39 ../cfg_trunk_fwdiax.py:42
- msgid "FWD password"
--msgstr "Contraseña de FWD"
-+msgstr "Contraseña de FWD"
-
- #: cfg_trunk_fwdiax.py:41 ../cfg_trunk_fwdiax.py:44
- msgid "Calls to FWD"
-@@ -1485,14 +1485,14 @@
-
- #: cfg_trunk_iax.py:27 ../cfg_trunk_iax.py:27
- msgid "Standard IAX Trunk"
--msgstr "Troncal IAX estándar"
-+msgstr "Troncal IAX estándar"
-
- #: cfg_trunk_iax.py:29 ../cfg_trunk_iax.py:29
- msgid ""
- "Used to setup an IAX trunk to another Asterisk server or an IAX termination."
- msgstr ""
- "Se usa para configurar una troncal IAX a otro servidor Asterisk o a una "
--"terminación IAX."
-+"terminación IAX."
-
- #: cfg_trunk_iax.py:33 ../cfg_trunk_iax.py:35
- msgid "IAX host"
-@@ -1512,11 +1512,11 @@
-
- #: cfg_trunk_iax.py:38 ../cfg_trunk_iax.py:40
- msgid "Authentication"
--msgstr "Autenticación"
-+msgstr "Autenticación"
-
- #: cfg_trunk_iax.py:39 ../cfg_trunk_iax.py:41
- msgid "Authentication Method"
--msgstr "Método de autenticación"
-+msgstr "Método de autenticación"
-
- #: cfg_trunk_iax.py:40 ../cfg_trunk_iax.py:42
- msgid "Plain text"
-@@ -1532,16 +1532,16 @@
-
- #: cfg_trunk_iax.py:41 ../cfg_trunk_iax.py:43
- msgid "For 'Plain' or 'MD5' only"
--msgstr "Sólo para \"Texto plano\" o \"RSA\""
-+msgstr "Sólo para \"Texto plano\" o \"RSA\""
-
- #: cfg_trunk_iax.py:42 ../cfg_trunk_iax.py:44
- msgid "Public key from remote server"
--msgstr "Llave pública del servidor remoto"
-+msgstr "Llave pública del servidor remoto"
-
- #: cfg_trunk_iax.py:42 cfg_trunk_iax.py:43 ../cfg_trunk_iax.py:44
- #: ../cfg_trunk_iax.py:45
- msgid "For 'RSA' only"
--msgstr "Sólo para \"RSA\""
-+msgstr "Sólo para \"RSA\""
-
- #: cfg_trunk_iax.py:43 ../cfg_trunk_iax.py:45
- msgid "Private local key"
-@@ -1549,7 +1549,7 @@
-
- #: cfg_trunk_iax.py:45 ../cfg_trunk_iax.py:47
- msgid "Enable trunking?"
--msgstr "ÿHabilitar trunking?"
-+msgstr "¿Habilitar trunking?"
-
- #: cfg_trunk_iax.py:50 ../cfg_trunk_iax.py:52
- msgid "Calls from IAX trunk"
-@@ -1559,7 +1559,7 @@
- #: cfg_trunk_zap.py:45 ../cfg_trunk_iax.py:55 ../cfg_trunk_sip.py:50
- #: ../cfg_trunk_zappbx.py:51 ../cfg_trunk_zappri.py:59 ../cfg_trunk_zap.py:48
- msgid "Extension to ring"
--msgstr "Extensión a timbrar"
-+msgstr "Extensión a timbrar"
-
- #: cfg_trunk_iaxtel.py:26 ../cfg_trunk_iaxtel.py:26
- msgid "VOIP-Provider Iaxtel"
-@@ -1572,17 +1572,17 @@
- "\t\t\tpeople can call you. These calls are free of charge, too.'."
- msgstr ""
- "Usted puede registrarse gratuitamente en\n"
--"\t\t\thttp://www.iaxtel.com y obtener un número IAX donde \n"
-+"\t\t\thttp://www.iaxtel.com y obtener un número IAX donde \n"
- "\t\t\tlas otras personas lo pueden contactar. Estas llamadas son gratuitas "
--"también."
-+"también."
-
- #: cfg_trunk_iaxtel.py:34 ../cfg_trunk_iaxtel.py:40
- msgid "IAXTEL number"
--msgstr "Número IAXTEL"
-+msgstr "Número IAXTEL"
-
- #: cfg_trunk_iaxtel.py:35 ../cfg_trunk_iaxtel.py:41
- msgid "IAXTEL password"
--msgstr "Contraseña IAXTEL"
-+msgstr "Contraseña IAXTEL"
-
- #: cfg_trunk_iaxtel.py:37 ../cfg_trunk_iaxtel.py:43
- msgid "Calls to IAXTEL"
-@@ -1594,7 +1594,7 @@
-
- #: cfg_trunk_sip.py:27 ../cfg_trunk_sip.py:27
- msgid "Standard SIP Trunk"
--msgstr "Troncal SIP estándar"
-+msgstr "Troncal SIP estándar"
-
- #: cfg_trunk_sip.py:29 ../cfg_trunk_sip.py:30
- msgid "Used to setup a SIP trunk to a SIP provider or a different SIP server."
-@@ -1608,7 +1608,7 @@
-
- #: cfg_trunk_sip.py:34 ../cfg_trunk_sip.py:37
- msgid "SIP password"
--msgstr "Contraseña SIP"
-+msgstr "Contraseña SIP"
-
- #: cfg_trunk_sip.py:35 ../cfg_trunk_sip.py:38
- msgid "SIP host"
-@@ -1616,11 +1616,11 @@
-
- #: cfg_trunk_sip.py:36 ../cfg_trunk_sip.py:40
- msgid "Enable forward address type?"
--msgstr "ÿPermitir reenvÃÂo de tipo de dirección?"
-+msgstr "¿Permitir reenvÃo de tipo de dirección?"
-
- #: cfg_trunk_sip.py:37 ../cfg_trunk_sip.py:41
- msgid "Is the trunk behind NAT?"
--msgstr "ÿEstá la troncal tras un NAT?"
-+msgstr "¿Está la troncal tras un NAT?"
-
- #: cfg_trunk_sip.py:42 cfg_trunk_zappri.py:52 cfg_trunk_zap.py:42
- #: ../cfg_trunk_sip.py:47 ../cfg_trunk_zappbx.py:48
-@@ -1637,15 +1637,15 @@
-
- #: cfg_trunk_zaphfc.py:31 ../cfg_trunk_zaphfc.py:34
- msgid "Number of cards"
--msgstr "Número de tarjetas"
-+msgstr "Número de tarjetas"
-
- #: cfg_trunk_zappri.py:28 ../cfg_trunk_zappri.py:28
- msgid "Standard ZAP PRI trunk"
--msgstr "Troncal ZAP PRI estándar"
-+msgstr "Troncal ZAP PRI estándar"
-
- #: cfg_trunk_zappri.py:32 ../cfg_trunk_zappri.py:36
- msgid "PRI signalling, CPE side"
--msgstr "Señalización del PRI, lado del consumidor"
-+msgstr "Señalización del PRI, lado del consumidor"
-
- #: cfg_trunk_zappri.py:32 ../cfg_trunk_zappri.py:36
- msgid "PRI signalling, Network side"
-@@ -1684,18 +1684,18 @@
-
- #: cfg_trunk_zappri.py:86 ../cfg_trunk_zappri.py:90
- msgid "Group already in use"
--msgstr "El grupo ya está en uso"
-+msgstr "El grupo ya está en uso"
-
- #: cfg_trunk_zap.py:27 ../cfg_trunk_zap.py:27
- msgid "Standard ZAP trunk"
--msgstr "Troncal ZAP estándar"
-+msgstr "Troncal ZAP estándar"
-
- #: configlets.py:428 configlets.py:665 configlets.py:805 ../configlets.py:581
- #: ../configlets.py:873 ../configlets.py:874 ../configlets.py:999
- #: ../configlets.py:1021 ../configlets.py:585 ../configlets.py:888
- #: ../configlets.py:889 ../configlets.py:1013 ../configlets.py:1035
- msgid "None"
--msgstr "Ningúno(a)"
-+msgstr "Ningúno(a)"
-
- #: configlets.py:465 ../configlets.py:620 ../configlets.py:624
- msgid "Name already in use"
-@@ -1704,7 +1704,7 @@
- #: configlets.py:551 configlets.py:818 ../configlets.py:716
- #: ../configlets.py:1034 ../configlets.py:720 ../configlets.py:1048
- msgid "Info"
--msgstr "Información"
-+msgstr "Información"
-
- #: configlets.py:600 ../configlets.py:800 ../configlets.py:804
- msgid "Dial Command"
-@@ -1712,22 +1712,22 @@
-
- #: configlets.py:628 ../configlets.py:828 ../configlets.py:832
- msgid "You should select a phone to ring to"
--msgstr "Usted debe seleccionar un teléfono para timbrar"
-+msgstr "Usted debe seleccionar un teléfono para timbrar"
-
- #: configlets.py:693 ../configlets.py:780 ../configlets.py:784
- msgid "Password:"
--msgstr "Contraseña:"
-+msgstr "Contraseña:"
-
- #: language.py:48 ../language.py:67
- msgid "This menu will contain all sorts of administration stuff:"
--msgstr "Este menú tendrá todo tipo de funciones administrativas:"
-+msgstr "Este menú tendrá todo tipo de funciones administrativas:"
-
- #: panelutils.py:74 ../panelutils.py:74
- msgid ""
- "0,No timeout|300,5 minutes|600,10 minutes|1200,20 minutes|2400,40 minutes|"
- "3000,50 minutes"
- msgstr ""
--"0,Sin tiempo lÃÂmite|300,5 minutos|600,10 minutos|1200,20 minutos|2400,40 "
-+"0,Sin tiempo lÃmite|300,5 minutos|600,10 minutos|1200,20 minutos|2400,40 "
- "minutos|3000,50 minutos"
-
- #: panelutils.py:98 ../panelutils.py:98
-@@ -1760,11 +1760,11 @@
-
- #: ConfigHelper.ptl:93 ../ConfigHelper.ptl:95
- msgid "Add more"
--msgstr "Añadir más"
-+msgstr "Añadir más"
-
- #: ConfigHelper.ptl:112 UserPage.ptl:64 ../ConfigHelper.ptl:113
- msgid "Invalid URL"
--msgstr "URL inválida"
-+msgstr "URL inválida"
-
- #: ConfigHelper.ptl:118 page_config_edit.ptl:43 ../ConfigHelper.ptl:118
- #: ../page_config_edit.ptl:43
-@@ -1807,22 +1807,22 @@
-
- #: Missing.ptl:32
- msgid "Admin"
--msgstr "Administración"
-+msgstr "Administración"
-
- #: Missing.ptl:35 Options.ptl:30 page_config.ptl:26 page_config.ptl:68
- #: page_config.ptl:80 page_config.ptl:86 page_config.ptl:92
- #: ../page_config.ptl:26 ../page_config.ptl:68 ../page_config.ptl:80
- #: ../page_config.ptl:86 ../page_config.ptl:92
- msgid "Configuration"
--msgstr "Configuración"
-+msgstr "Configuración"
-
- #: Missing.ptl:40
- msgid "Page missing"
--msgstr "Página no encontrada"
-+msgstr "Página no encontrada"
-
- #: Missing.ptl:41
- msgid "This page is on my TODO list :-)"
--msgstr "Está página está en desarrollo"
-+msgstr "Está página está en desarrollo"
-
- #: Options.ptl:30 page_config_options.ptl:26 page_config.ptl:68
- #: page_config.ptl:80 ../page_config_options.ptl:26 ../page_config.ptl:68
-@@ -1933,7 +1933,7 @@
- #: page_admin_cdr.ptl:108 ../page_owner_cdr.ptl:144 ../page_stats_cdr.ptl:146
- #: ../page_owner_cdr.ptl:145 ../page_stats_cdr.ptl:147
- msgid "Number of records to show:"
--msgstr "Número de registros a mostrar:"
-+msgstr "Número de registros a mostrar:"
-
- #: page_admin_cdr.ptl:109
- msgid "Order by:"
-@@ -1978,7 +1978,7 @@
-
- #: page_admin_cdr.ptl:222
- msgid "Duration_in_minutes"
--msgstr "Duración_en_minutos"
-+msgstr "Duración_en_minutos"
-
- #: page_admin_cdr.ptl:225
- msgid "Cost_of_call"
-@@ -1998,7 +1998,7 @@
-
- #: page_admin_cdr.ptl:240 ../StatsHelper.ptl:163
- msgid "Failed"
--msgstr "Falló"
-+msgstr "Falló"
-
- #: page_admin_cdr.ptl:241
- msgid "start"
-@@ -2017,11 +2017,11 @@
-
- #: page_admin_panel.ptl:28 ../page_admin_panel.ptl:28
- msgid "Asternic Flash Operator Panel"
--msgstr "Pánel de Operadora Flash Asternic"
-+msgstr "Pánel de Operadora Flash Asternic"
-
- #: page_admin_panel.ptl:43 ../page_admin_panel.ptl:43
- msgid "You don't have a panel configured yet"
--msgstr "Usted no tiene un pánel configurado en este momento."
-+msgstr "Usted no tiene un pánel configurado en este momento."
-
- #: page_admin_panel.ptl:47 ../page_admin_panel.ptl:47
- msgid "You have a panel configured "
-@@ -2029,7 +2029,7 @@
-
- #: page_admin_panel.ptl:49 ../page_admin_panel.ptl:49
- msgid "here"
--msgstr "aquÃÂ"
-+msgstr "aquÃ"
-
- #: page_admin_pbxstate.ptl:26 UserPage.ptl:105 ../page_admin_pbxstate.ptl:26
- msgid "PBX State"
-@@ -2045,7 +2045,7 @@
- #: ../page_user_quickdiallist.ptl:76 ../page_user_settings.ptl:105
- #: ../page_user_state.ptl:138
- msgid "Asterisk is not running!"
--msgstr "áAsterisk no está corriendo!"
-+msgstr "¡Asterisk no está corriendo!"
-
- #: page_admin_pbxstate.ptl:85 page_config_reload.ptl:49
- #: page_user_settings.ptl:110 page_user_state.ptl:143 UserUI.ptl:221
-@@ -2053,19 +2053,19 @@
- #: ../page_user_quickdiallist.ptl:81 ../page_user_settings.ptl:110
- #: ../page_user_state.ptl:143
- msgid "The manager access is not working!"
--msgstr "áEl acceso de gestión no está funcionando!"
-+msgstr "¡El acceso de gestión no está funcionando!"
-
- #: page_admin.ptl:25 ../page_admin.ptl:25
- msgid "Administration"
--msgstr "Administración"
-+msgstr "Administración"
-
- #: page_admin.ptl:26 ../page_owner.ptl:26
- msgid "Perform administrative actions to PBX and extensions"
--msgstr "Realizar acciones de adminstración a la PBX y extensiones"
-+msgstr "Realizar acciones de adminstración a la PBX y extensiones"
-
- #: page_config_add.ptl:26 ../page_config_add.ptl:26
- msgid "Add a new configlet"
--msgstr "Añadir un nuevo configlet"
-+msgstr "Añadir un nuevo configlet"
-
- #: page_config_applications.ptl:26 ../page_config_applications.ptl:26
- msgid "Applications"
-@@ -2077,7 +2077,7 @@
-
- #: page_config_backup.ptl:27 ../page_admin_backup.ptl:27
- msgid "Backup a config file"
--msgstr "Hacer copia de seguridad de un archivo de configuración"
-+msgstr "Hacer copia de seguridad de un archivo de configuración"
-
- #: page_config_backup.ptl:44 ../page_admin_backup.ptl:44
- #, python-format
-@@ -2121,19 +2121,19 @@
- #: page_config_phones.ptl:26 page_config.ptl:86 ../page_config_phones.ptl:26
- #: ../page_config.ptl:86
- msgid "Phones"
--msgstr "Teléfonos"
-+msgstr "Teléfonos"
-
- #: page_config_phones.ptl:27 ../page_config_phones.ptl:27
- msgid "Phones and their settings"
--msgstr "Teléfonos y sus configuraciones"
-+msgstr "Teléfonos y sus configuraciones"
-
- #: page_config.ptl:27 ../page_config.ptl:27
- msgid "Modify Asterisk configuration"
--msgstr "Modificar la configuración de Asterisk"
-+msgstr "Modificar la configuración de Asterisk"
-
- #: page_config.ptl:42 ../page_config.ptl:42
- msgid "Configuration tips"
--msgstr "Pistas para la configuración"
-+msgstr "Pistas para la configuración"
-
- #: page_config.ptl:66 ../page_config.ptl:66
- msgid ""
-@@ -2195,7 +2195,7 @@
-
- #: page_config.ptl:116 ../page_config.ptl:116
- msgid "Category"
--msgstr "CategorÃÂa"
-+msgstr "CategorÃa"
-
- #: page_config.ptl:132 ../page_config.ptl:132
- msgid "Other things you can configure:"
-@@ -2219,11 +2219,11 @@
-
- #: page_config_trunks.ptl:27 ../page_config_trunks.ptl:27
- msgid "Telephone company lines and VoIP-Trunks"
--msgstr "LÃÂneas de la compañÃÂa de teléfono y troncales VoIP"
-+msgstr "LÃneas de la compañÃa de teléfono y troncales VoIP"
-
- #: page_config_trunks.ptl:46 ../page_config_trunks.ptl:46
- msgid "You should add at least one phone to configure trunks"
--msgstr "Usted debe añadir al menos un teléfono para configurar troncales"
-+msgstr "Usted debe añadir al menos un teléfono para configurar troncales"
-
- #: page_config_up.ptl:26 ../page_config_up.ptl:26
- msgid "Moves a configlet one position up"
-@@ -2235,15 +2235,15 @@
-
- #: page_config_users.ptl:27 ../page_config_users.ptl:27
- msgid "Users and Mailboxes"
--msgstr "Usuarios y Buzónes de mensajes"
-+msgstr "Usuarios y Buzónes de mensajes"
-
- #: page_config_viewconf.ptl:29 ../page_admin_viewconf.ptl:29
- msgid "View Configuration"
--msgstr "Mirar configuración"
-+msgstr "Mirar configuración"
-
- #: page_config_viewconf.ptl:30 ../page_admin_viewconf.ptl:30
- msgid "Show Asterisk configuration files"
--msgstr "Mostrar los archivos de configuración de Asterisk"
-+msgstr "Mostrar los archivos de configuración de Asterisk"
-
- #: page_config_viewconf.ptl:87 ../page_admin_viewconf.ptl:87
- msgid "Show"
-@@ -2251,7 +2251,7 @@
-
- #: page_config_viewconf.ptl:94 ../page_admin_viewconf.ptl:94
- msgid "Asterisk configuration files"
--msgstr "Archivos de configuración de Asterisk"
-+msgstr "Archivos de configuración de Asterisk"
-
- #: page_config_viewconf.ptl:101 ../page_admin_viewconf.ptl:101
- msgid "Nothing to Show"
-@@ -2259,11 +2259,11 @@
-
- #: page_config_viewconf.ptl:103 ../page_admin_viewconf.ptl:103
- msgid "There is nothing configured yet."
--msgstr "No existe configuración en el momento"
-+msgstr "No existe configuración en el momento"
-
- #: page_debug.ptl:25 ../page_debug.ptl:25
- msgid "Debug"
--msgstr "Depuración"
-+msgstr "Depuración"
-
- #: page_debug.ptl:26 ../page_debug.ptl:26
- msgid "Various functions to debug DeStar, mostly useful for programmers"
-@@ -2279,28 +2279,28 @@
-
- #: page_login.ptl:27 UserPage.ptl:111 ../page_login.ptl:26
- msgid "Login"
--msgstr "Inicio de Sesión"
-+msgstr "Inicio de Sesión"
-
- #: page_login.ptl:28 ../page_login.ptl:27
- msgid "Login into DeStar"
--msgstr "Iniciar sesión en DeStar"
-+msgstr "Iniciar sesión en DeStar"
-
- #: page_login.ptl:43 UserUI.ptl:154 ../page_login.ptl:42
- msgid "User or phone name/number"
--msgstr "Nombre/Número del teléfono o usuario"
-+msgstr "Nombre/Número del teléfono o usuario"
-
- #: page_login.ptl:44 UserUI.ptl:155 ../page_login.ptl:43
- msgid "Password or PIN"
--msgstr "Contraseña o PIN"
-+msgstr "Contraseña o PIN"
-
- #: page_login.ptl:56 UserUI.ptl:167 ../page_login.ptl:55
- msgid "Invalid username or password"
--msgstr "Nombre de usuario o Contraseña incorrectos"
-+msgstr "Nombre de usuario o Contraseña incorrectos"
-
- #: page_logout.ptl:25 Templates.ptl:227 ../page_logout.ptl:25
- #: ../Templates.ptl:259 ../Templates.ptl:260
- msgid "Logout"
--msgstr "Cerrar Sesión"
-+msgstr "Cerrar Sesión"
-
- #: page_logout.ptl:26 ../page_logout.ptl:26
- msgid "Logout and become a guest user"
-@@ -2312,7 +2312,7 @@
-
- #: page_main.ptl:29 ../page_main.ptl:29
- msgid "DeStar main page"
--msgstr "Página Principal de Destar"
-+msgstr "Página Principal de Destar"
-
- #: page_main.ptl:137 ../page_main.ptl:137
- msgid "Access Denied"
-@@ -2320,11 +2320,11 @@
-
- #: page_main.ptl:139 ../page_main.ptl:139
- msgid "You don't have access to this page."
--msgstr "Usted no tiene acceso a esta ubicación."
-+msgstr "Usted no tiene acceso a esta ubicación."
-
- #: page_user_info.ptl:26 ../page_user_info.ptl:26
- msgid "User Info"
--msgstr "Información del Usuario"
-+msgstr "Información del Usuario"
-
- #: page_user_info.ptl:27 ../page_user_info.ptl:27
- msgid "Your access rights in DeStar"
-@@ -2333,7 +2333,7 @@
- #: page_user_info.ptl:43 page_user.ptl:40 UserUI.ptl:174
- #: ../page_user_info.ptl:43 ../page_user.ptl:40
- msgid "You are now logged in as user"
--msgstr "Usted ha iniciado sesión como el usuario"
-+msgstr "Usted ha iniciado sesión como el usuario"
-
- #: page_user_info.ptl:48 page_user.ptl:45 ../page_user_info.ptl:48
- #: ../page_user.ptl:45
-@@ -2353,7 +2353,7 @@
- #: page_user_info.ptl:58 page_user.ptl:55 UserUI.ptl:181
- #: ../page_user_info.ptl:58 ../page_user.ptl:55
- msgid "You are not logged in."
--msgstr "Usted no ha iniciado una sesión."
-+msgstr "Usted no ha iniciado una sesión."
-
- #: page_user_info.ptl:60 page_user.ptl:57 UserUI.ptl:183
- #: ../page_user_info.ptl:60 ../page_user.ptl:57
-@@ -2362,15 +2362,15 @@
-
- #: page_user_info.ptl:64 UserUI.ptl:187 ../page_user_info.ptl:64
- msgid "access all public accessible info pages"
--msgstr "Acceder a todas las páginas de información públicas"
-+msgstr "Acceder a todas las páginas de información públicas"
-
- #: page_user_info.ptl:68 UserUI.ptl:191 ../page_user_info.ptl:68
- msgid "change your personal phone settings"
--msgstr "Cambiar la configuración de su teléfono personal"
-+msgstr "Cambiar la configuración de su teléfono personal"
-
- #: page_user_info.ptl:72 UserUI.ptl:195 ../page_user_info.ptl:72
- msgid "change phone settings of other people"
--msgstr "Cambiar la configuración de teléfono de otros usuarios"
-+msgstr "Cambiar la configuración de teléfono de otros usuarios"
-
- #: page_user_info.ptl:76 UserUI.ptl:199 ../page_user_info.ptl:76
- msgid "configure the PBX"
-@@ -2379,11 +2379,11 @@
- #: page_user_info.ptl:80 UserUI.ptl:203 ../page_user_info.ptl:80
- msgid "access debug pages to help program DeStar"
- msgstr ""
--"acceder a páginas de registro o log de DeStar para ayudar con su desarrollo"
-+"acceder a páginas de registro o log de DeStar para ayudar con su desarrollo"
-
- #: page_user_info.ptl:83 UserUI.ptl:206 ../page_user_info.ptl:83
- msgid "Have fun!"
--msgstr "áDiviértase!"
-+msgstr "¡Diviértase!"
-
- #: page_user.ptl:26 ../page_user.ptl:26
- msgid "Perform tasks allowed by users"
-@@ -2391,15 +2391,15 @@
-
- #: page_user.ptl:61 ../page_user.ptl:61
- msgid "Access all public accessible info pages"
--msgstr "Acceder a todas las páginas de información públicas"
-+msgstr "Acceder a todas las páginas de información públicas"
-
- #: page_user.ptl:65 ../page_user.ptl:65
- msgid "Change your personal phone settings"
--msgstr "Cambiar la configuración de su teléfono personal"
-+msgstr "Cambiar la configuración de su teléfono personal"
-
- #: page_user.ptl:69 ../page_user.ptl:69
- msgid "Change phone settings of other people"
--msgstr "Cambiar la configuración de teléfono de otros usuarios"
-+msgstr "Cambiar la configuración de teléfono de otros usuarios"
-
- #: page_user.ptl:73 ../page_user.ptl:73
- msgid "Configure the PBX"
-@@ -2408,15 +2408,15 @@
- #: page_user.ptl:77 ../page_user.ptl:77
- msgid "Access debug pages to help program DeStar"
- msgstr ""
--"Acceder a páginas de registro o log de DeStar para ayudar con su desarrollo"
-+"Acceder a páginas de registro o log de DeStar para ayudar con su desarrollo"
-
- #: page_user_settings.ptl:27 ../page_user_settings.ptl:27
- msgid "Phone Settings"
--msgstr "Configuración del teléfono"
-+msgstr "Configuración del teléfono"
-
- #: page_user_settings.ptl:28 ../page_user_settings.ptl:28
- msgid "Set your phone settings"
--msgstr "Cambiar la configuración de su teléfono personal"
-+msgstr "Cambiar la configuración de su teléfono personal"
-
- #: page_user_settings.ptl:56 UserUI.ptl:43 ../page_user_settings.ptl:56
- msgid "Enable 'do not disturb'"
-@@ -2424,11 +2424,11 @@
-
- #: page_user_settings.ptl:57 UserUI.ptl:44 ../page_user_settings.ptl:57
- msgid "Immediate call forwarding to"
--msgstr "Redirección inmediata de llamadas a"
-+msgstr "Redirección inmediata de llamadas a"
-
- #: page_user_settings.ptl:58 UserUI.ptl:46 ../page_user_settings.ptl:58
- msgid "Forward call when busy/unavailable to"
--msgstr "Si está ocupado/indisponible, redireccionar a"
-+msgstr "Si está ocupado/indisponible, redireccionar a"
-
- #: page_user_settings.ptl:59 ../page_user_settings.ptl:59
- msgid "Seconds of incoming ring time"
-@@ -2440,21 +2440,21 @@
-
- #: page_user_settings.ptl:64 ../page_user_settings.ptl:64
- msgid "Extension Password"
--msgstr "Contraseña de la extensión"
-+msgstr "Contraseña de la extensión"
-
- #: page_user_settings.ptl:95 ../page_user_settings.ptl:95
- msgid "Could not create destar configuration file."
--msgstr "No fue posible crear el archivo de configuración de destar"
-+msgstr "No fue posible crear el archivo de configuración de destar"
-
- #: page_user_settings.ptl:117 page_user_state.ptl:150
- #: ../page_user_quickdiallist.ptl:88 ../page_user_settings.ptl:118
- #: ../page_user_state.ptl:151
- msgid "You don't have an associated phone"
--msgstr "Usted no tiene un teléfono asociado"
-+msgstr "Usted no tiene un teléfono asociado"
-
- #: page_user_state.ptl:27 ../page_user_state.ptl:27
- msgid "Phone State"
--msgstr "Estado del Teléfono"
-+msgstr "Estado del Teléfono"
-
- #: page_user_state.ptl:28 ../page_user_state.ptl:28
- msgid "Status of your phone"
-@@ -2466,7 +2466,7 @@
-
- #: page_user_state.ptl:57 UserUI.ptl:84 ../page_user_state.ptl:57
- msgid "Last updated"
--msgstr "ÃÅ¡ltima Actualización"
-+msgstr "Ãltima Actualización"
-
- #: page_user_state.ptl:69 UserUI.ptl:96 ../page_user_state.ptl:69
- msgid "Registration status"
-@@ -2474,11 +2474,11 @@
-
- #: page_user_state.ptl:69 UserUI.ptl:96 ../page_user_state.ptl:69
- msgid "PeerStatus"
--msgstr "Estado del teléfono"
-+msgstr "Estado del teléfono"
-
- #: page_user_state.ptl:75 UserUI.ptl:102 ../page_user_state.ptl:75
- msgid "Channel ID"
--msgstr "Identificación del Canal"
-+msgstr "Identificación del Canal"
-
- #: page_user_state.ptl:75 UserUI.ptl:102 ../page_user_state.ptl:75
- msgid "Channel"
-@@ -2486,12 +2486,12 @@
-
- #: page_user_state.ptl:81 UserUI.ptl:108 ../page_user_state.ptl:81
- msgid "Called extension"
--msgstr "Extensión llamada"
-+msgstr "Extensión llamada"
-
- #: page_user_state.ptl:87 UserUI.ptl:114 ../page_user_state.ptl:87
- #: ../cfg_opt_music.py:33
- msgid "Application"
--msgstr "Aplicación"
-+msgstr "Aplicación"
-
- #: page_user_state.ptl:100 UserUI.ptl:127 ../page_owner_cdr.ptl:140
- #: ../page_stats_cdr.ptl:142 ../page_stats_phone.ptl:46
-@@ -2526,7 +2526,7 @@
-
- #: Templates.ptl:256 ../Templates.ptl:288 ../Templates.ptl:289
- msgid "You don't have access to this page"
--msgstr "Usted no tiene acceso a esta ubicación"
-+msgstr "Usted no tiene acceso a esta ubicación"
-
- #: UserPage.ptl:30
- msgid "Asterisk state"
-@@ -2534,19 +2534,19 @@
-
- #: UserPage.ptl:33
- msgid "User info"
--msgstr "Información del Usuario"
-+msgstr "Información del Usuario"
-
- #: UserPage.ptl:38
- msgid "Phone state"
--msgstr "Estado del Teléfono"
-+msgstr "Estado del Teléfono"
-
- #: UserPage.ptl:40 UserPage.ptl:68
- msgid "Phone settings"
--msgstr "Configuración del teléfono"
-+msgstr "Configuración del teléfono"
-
- #: UserPage.ptl:74
- msgid "Phone status"
--msgstr "Estado del teléfono"
-+msgstr "Estado del teléfono"
-
- #: UserPage.ptl:83
- msgid "User functions"
-@@ -2555,12 +2555,12 @@
- #: UserPage.ptl:85
- msgid "This menu will contain all sorts of phone user specific stuff:"
- msgstr ""
--"Este menú tendrá todo tipo de funciones para el usuario de teléfono:"
-+"Este menú tendrá todo tipo de funciones para el usuario de teléfono:"
-
- #: UserPage.ptl:88
- msgid "Phone status (number of voicemails, call forwarding etc)"
- msgstr ""
--"Estado del teléfono (número de correos de voz, redirección de llamadas, "
-+"Estado del teléfono (número de correos de voz, redirección de llamadas, "
- "etc)"
-
- #: UserPage.ptl:89
-@@ -2569,7 +2569,7 @@
-
- #: UserPage.ptl:90
- msgid "Set CFIM (call-forwarding)"
--msgstr "Habilitar CFIM (redirección-de-llamadas)"
-+msgstr "Habilitar CFIM (redirección-de-llamadas)"
-
- #: UserPage.ptl:91
- msgid "Set CFBS (call-forward if busy/unavailable)"
-@@ -2577,15 +2577,15 @@
-
- #: UserPage.ptl:92
- msgid "See last n calls made"
--msgstr "Ver últimas n llamadas hechas"
-+msgstr "Ver últimas n llamadas hechas"
-
- #: UserPage.ptl:93
- msgid "See last n calls received"
--msgstr "Ver las últimas n llamadas recibidas"
-+msgstr "Ver las últimas n llamadas recibidas"
-
- #: UserPage.ptl:94
- msgid "Maintain personal phone directory"
--msgstr "Mantenimiento del directorio telefónico personal"
-+msgstr "Mantenimiento del directorio telefónico personal"
-
- #: UserPage.ptl:95
- msgid "Initiate call from the web"
-@@ -2597,11 +2597,11 @@
-
- #: UserPage.ptl:137
- msgid "Logged in"
--msgstr "Sesión iniciada"
-+msgstr "Sesión iniciada"
-
- #: UserPage.ptl:157
- msgid "Wrong phone id"
--msgstr "Identificador de teléfono incorrecto"
-+msgstr "Identificador de teléfono incorrecto"
-
- #: UserUI.ptl:45
- msgid "Seconds of ring time"
-diff -urNad destar-0.2beta~/po/fr.po destar-0.2beta/po/fr.po
---- destar-0.2beta~/po/fr.po 2006-06-17 12:23:57.000000000 +0000
-+++ destar-0.2beta/po/fr.po 2006-06-27 05:31:28.000000000 +0000
-@@ -28,15 +28,15 @@
-
- #: cfg_app_callfw.py:26 ../cfg_app_callfw.py:26
- msgid "Call forwarding"
--msgstr "Transfère d'appel"
-+msgstr "Transfère d'appel"
-
- #: cfg_app_callfw.py:27 ../cfg_app_callfw.py:27
- msgid "Extensions to set/unset call forwarding."
--msgstr "Extensions d'activation/désactivation de transfère d'appel"
-+msgstr "Extensions d'activation/désactivation de transfère d'appel"
-
- #: cfg_app_callfw.py:28 ../cfg_app_callfw.py:28
- msgid "New extensions to set/unset call forwarding"
--msgstr "Nouvelles extensions d'activation/désactivation de transfère d'appel"
-+msgstr "Nouvelles extensions d'activation/désactivation de transfère d'appel"
-
- #: cfg_app_callfw.py:31 cfg_opt_music.py:31 cfg_opt_user.py:36
- #: configlets.py:589 configlets.py:817 configlets.py:874 configlets.py:995
-@@ -50,28 +50,28 @@
-
- #: cfg_app_callfw.py:31 ../cfg_app_callfw.py:33
- msgid "Call Forwarding Unconditional"
--msgstr "Transfère d'appel inconditionnel"
-+msgstr "Transfère d'appel inconditionnel"
-
- #: cfg_app_callfw.py:31 ../cfg_app_callfw.py:33
- msgid "Call Forwarding if Busy/Unavailable"
--msgstr "Transfère d'appel si Occupé/Non disponible"
-+msgstr "Transfère d'appel si Occupé/Non disponible"
-
- #: cfg_app_callfw.py:32 ../cfg_app_callfw.py:34
- msgid "Setting preffix"
--msgstr "Préfix d'activation"
-+msgstr "Préfix d'activation"
-
- #: cfg_app_callfw.py:33 cfg_app_dnd.py:33 ../cfg_app_callfw.py:35
- #: ../cfg_app_dnd.py:34
- msgid "Unsetting extension"
--msgstr "Extension de désactivation"
-+msgstr "Extension de désactivation"
-
- #: cfg_app_conference.py:26 ../cfg_app_conference.py:26
- msgid "Conference room"
--msgstr "Salle de conférence"
-+msgstr "Salle de conférence"
-
- #: cfg_app_conference.py:27 ../cfg_app_conference.py:27
- msgid "New conference room"
--msgstr "Nouvelle salle de conférence"
-+msgstr "Nouvelle salle de conférence"
-
- #: cfg_app_conference.py:30 cfg_app_directory.py:31 cfg_app_echo.py:32
- #: cfg_app_meetme.py:30 cfg_app_milliwatt.py:32 cfg_app_music.py:31
-@@ -101,32 +101,32 @@
- #: cfg_app_conference.py:31 cfg_app_meetme.py:31 ../cfg_app_conference.py:33
- #: ../cfg_app_meetme.py:32
- msgid "Conference number"
--msgstr "Numéro de conférence"
-+msgstr "Numéro de conférence"
-
- #: cfg_app_directory.py:26 cfg_opt_music.py:32 ../cfg_app_directory.py:26
- #: ../cfg_opt_music.py:32
- msgid "Directory"
--msgstr "Répertoire"
-+msgstr "Répertoire"
-
- #: cfg_app_directory.py:27 ../cfg_app_directory.py:27
- msgid "New Directory"
--msgstr "Nouveau répertoire"
-+msgstr "Nouveau répertoire"
-
- #: cfg_app_directory.py:28 ../cfg_app_directory.py:28
- msgid "This application allows you to dial by name."
--msgstr "Cette application vous autorise la numérotation par nom"
-+msgstr "Cette application vous autorise la numérotation par nom"
-
- #: cfg_app_dnd.py:26 ../cfg_app_dnd.py:26
- msgid "Set/Unset DND"
--msgstr "Active/Désactive 'Ne pas déranger'"
-+msgstr "Active/Désactive 'Ne pas déranger'"
-
- #: cfg_app_dnd.py:27 ../cfg_app_dnd.py:27
- msgid "New extensions to Set/Unset Do not disturb"
--msgstr "Nouvelle extensions pour activer/désactiver 'Ne pas déranger'"
-+msgstr "Nouvelle extensions pour activer/désactiver 'Ne pas déranger'"
-
- #: cfg_app_dnd.py:28 ../cfg_app_dnd.py:28
- msgid "Extensions to set/unset 'Do Not Disturb'."
--msgstr "Extensions pour activer/désactiver 'Ne pas déranger'"
-+msgstr "Extensions pour activer/désactiver 'Ne pas déranger'"
-
- #: cfg_app_dnd.py:32 ../cfg_app_dnd.py:33
- msgid "Setting extension"
-@@ -135,11 +135,11 @@
- #: cfg_app_dnd.py:45 configlets.py:625 ../cfg_app_dnd.py:50
- #: ../configlets.py:608
- msgid "Extension already in use"
--msgstr "Extension déja utilisée"
-+msgstr "Extension déja utilisée"
-
- #: cfg_app_echo.py:26 ../cfg_app_echo.py:26
- msgid "Echo test"
--msgstr "Test d'écho"
-+msgstr "Test d'écho"
-
- #: cfg_app_echo.py:27 ../cfg_app_echo.py:27
- msgid "New Echo test extension"
-@@ -150,20 +150,20 @@
- "The echo test immediately plays back what you speek. You can\n"
- "\t\t\t use this to find out how much echo you have."
- msgstr ""
--"Le test d'écho joue immédiatement ce que vous dites. Vous pouvez\n"
--"\t\t\t utiliser celui-ci pour établir votre quantité d'écho."
-+"Le test d'écho joue immédiatement ce que vous dites. Vous pouvez\n"
-+"\t\t\t utiliser celui-ci pour établir votre quantité d'écho."
-
- #: cfg_app_meetme.py:26 ../cfg_app_meetme.py:26
- msgid "Meeting room"
--msgstr "Salle de réunion"
-+msgstr "Salle de réunion"
-
- #: cfg_app_meetme.py:27 ../cfg_app_meetme.py:27
- msgid "New meeting room"
--msgstr "Nouvelle salle de réunion"
-+msgstr "Nouvelle salle de réunion"
-
- #: cfg_app_meetme.py:31 ../cfg_app_meetme.py:32
- msgid "If empty, will be the same as the extension"
--msgstr "Si vide, sera le même que l'extension"
-+msgstr "Si vide, sera le même que l'extension"
-
- #: cfg_app_meetme.py:32 ../cfg_app_meetme.py:33
- msgid "PIN"
-@@ -180,7 +180,7 @@
- #: ../cfg_trunk_zappbx.py:39 ../cfg_trunk_zappri.py:49 ../cfg_trunk_zap.py:38
- #: ../page_admin_panel.ptl:27
- msgid "Operator Panel"
--msgstr "Panneau de l'opérateur"
-+msgstr "Panneau de l'opérateur"
-
- #: cfg_app_meetme.py:34 cfg_trunk_iax.py:50 cfg_trunk_sip.py:45
- #: cfg_trunk_zappbx.py:40 cfg_trunk_zappri.py:50 cfg_trunk_zap.py:39
-@@ -202,8 +202,8 @@
- "Generate a Constant 1000Hz tone at 0dbm (mu-law). Used for\n"
- "\t\t\tmeasuring."
- msgstr ""
--"Génère un son constant de 1000Hz à 0dbm (mu-law). Utilisé pour\n"
--"\t\t\tl'évalutation."
-+"Génère un son constant de 1000Hz à 0dbm (mu-law). Utilisé pour\n"
-+"\t\t\tl'évalutation."
-
- #: cfg_app_music.py:26 ../cfg_app_music.py:26
- msgid "Listen to music-on-hold"
-@@ -254,16 +254,16 @@
-
- #: cfg_app_play.py:32 ../cfg_app_play.py:33
- msgid "Don't specify an extension"
--msgstr "Ne spécifie pas une extention"
-+msgstr "Ne spécifie pas une extention"
-
- #: cfg_app_play.py:40 cfg_app_record.py:52 cfg_opt_loadmodule.py:40
- #: ../cfg_app_play.py:45 ../cfg_app_record.py:57 ../cfg_opt_loadmodule.py:40
- msgid "Please don't specify an extension"
--msgstr "Svp ne spécifiez pas une extension"
-+msgstr "Svp ne spécifiez pas une extension"
-
- #: cfg_app_quickdial_global.py:26 ../cfg_app_quickdial_global.py:26
- msgid "Global Quick Dial List"
--msgstr "Numérotation rapide globale"
-+msgstr "Numérotation rapide globale"
-
- #: cfg_app_quickdial_global.py:27 ../cfg_app_quickdial_global.py:27
- msgid ""
-@@ -273,17 +273,17 @@
- "calling estension has been assigned a dialout with the quick dial lookup "
- "option activated."
- msgstr ""
--"Extensions pour ajouter/supprimer de la liste de numérotation rapid. "
--"L'extension ajoutée sera de la forme prefix+2_digits_key+*"
--"+final_destination. L'extension supprimée sera de la forme prefix"
--"+2_digits_key. La liste globale fonctionne seulement si l'extension appelée "
--"a été assignée à un appel vers l'extérieur avec l'option recherche de "
--"numérotation rapide activée"
-+"Extensions pour ajouter/supprimer de la liste de numérotation rapid. "
-+"L'extension ajoutée sera de la forme prefix+2_digits_key+*"
-+"+final_destination. L'extension supprimée sera de la forme prefix"
-+"+2_digits_key. La liste globale fonctionne seulement si l'extension appelée "
-+"a été assignée à un appel vers l'extérieur avec l'option recherche de "
-+"numérotation rapide activée"
-
- #: cfg_app_quickdial_global.py:28 ../cfg_app_quickdial_global.py:28
- msgid "New extensions to add/remove from global quick dial list"
- msgstr ""
--"Nouvelle extension à ajouter/supprimer de la liste de numérotation rapide"
-+"Nouvelle extension à ajouter/supprimer de la liste de numérotation rapide"
-
- #: cfg_app_quickdial_global.py:32 cfg_opt_user.py:32 cfg_phone_epygi.py:40
- #: cfg_phone_iax.py:37 cfg_phone_mgcp.py:37 cfg_phone_sip.py:38
-@@ -301,17 +301,17 @@
- #: cfg_app_quickdial_global.py:33 ../cfg_app_quickdial_global.py:34
- msgid "don't use ** because it is for private quick dial list"
- msgstr ""
--"N'utilisez pas ** car c'est réservé pour la liste privée de numérota "
-+"N'utilisez pas ** car c'est réservé pour la liste privée de numérota "
- "rapide"
-
- #: cfg_app_quickdial_global.py:34 cfg_app_quickdial_phone.py:33
- #: ../cfg_app_quickdial_global.py:35 ../cfg_app_quickdial_phone.py:34
- msgid "Unsetting prefix"
--msgstr "Préfix de désactivation"
-+msgstr "Préfix de désactivation"
-
- #: cfg_app_quickdial_phone.py:26 ../cfg_app_quickdial_phone.py:26
- msgid "Private Quick Dial List"
--msgstr "Liste privée de numérotation rapide"
-+msgstr "Liste privée de numérotation rapide"
-
- #: cfg_app_quickdial_phone.py:27 ../cfg_app_quickdial_phone.py:27
- msgid ""
-@@ -322,25 +322,26 @@
- "extension has an assigned dialout entry which pattern matches the final "
- "destination."
- msgstr ""
--"Extensions pour ajouter/supprimer de la liste de numérotation rapid. "
--"L'extension ajoutée sera de la forme prefix+2_digits_key+*"
--"+final_destination. L'extension supprimée sera de la forme prefix"
--"+2_digits_key. La liste personnelle de numérotation rapide fonctionne pour "
--"toutes les extensions, en numérotant **+2_digits_key et seulement si "
--"l'extension est associée à une entrée d'appel vers l'extérieur dont le "
-+"Extensions pour ajouter/supprimer de la liste de numérotation rapid. "
-+"L'extension ajoutée sera de la forme prefix+2_digits_key+*"
-+"+final_destination. L'extension supprimée sera de la forme prefix"
-+"+2_digits_key. La liste personnelle de numérotation rapide fonctionne pour "
-+"toutes les extensions, en numérotant **+2_digits_key et seulement si "
-+"l'extension est associée à une entrée d'appel vers l'extérieur dont le "
- "pattern matche la destination finale"
-
- #: cfg_app_quickdial_phone.py:28 ../cfg_app_quickdial_phone.py:28
- msgid "New extensions to add/remove from personal quick dial list"
- msgstr ""
- "Nouvelle extension pour ajouter/supprimer de la liste personnelle de "
--"numérotation rapide"
-+"numérotation rapide"
-
- #: cfg_app_quickdial_phone.py:32 ../cfg_app_quickdial_phone.py:33
- msgid "don't use ** because it is for accesing the quick dial list"
- msgstr ""
--"N'utilisez pas ** car c'est réservé à l'accès de la liste de "
--"numérotation rapide"
-+"N'utilisez pas ** car c'est réservé à l'accès de la liste de numérotation "
-+"rapide"
-+
-
- #: cfg_app_record.py:26 ../cfg_app_record.py:26
- msgid "Record sound"
-@@ -355,9 +356,9 @@
- "Allows you to record a sound file. You can hang up, be silent for\n"
- "\t\t\ta second or dial '#' to stop the recording."
- msgstr ""
--"Vous autorise à enregistre un fichier de son. Vous pouvez raccrocher, être "
-+"Vous autorise à enregistre un fichier de son. Vous pouvez raccrocher, être "
- "silentieux pour\n"
--"\t\t\tune seconde ou composer '#' pour arrêter l'enregistrement"
-+"\t\t\tune seconde ou composer '#' pour arrêter l'enregistrement"
-
- #: cfg_app_record.py:35 ../cfg_app_record.py:36
- msgid "Sound format"
-@@ -407,31 +408,31 @@
-
- #: cfg_app_voicemail.py:26 ../cfg_app_voicemail.py:26
- msgid "Voicemail dialog"
--msgstr "Dialogue de boite à message"
-+msgstr "Dialogue de boite à message"
-
- #: cfg_app_voicemail.py:27 ../cfg_app_voicemail.py:27
- msgid "New voicemail dialog"
--msgstr "Nouveau dialogue de boite à message"
-+msgstr "Nouveau dialogue de boite à message"
-
- #: cfg_app_voicemail.py:28 ../cfg_app_voicemail.py:28
- msgid "Extension to enter the voicemail system."
--msgstr "Extension d'entrée de boite à message"
-+msgstr "Extension d'entrée de boite à message"
-
- #: cfg_app_voicemail.py:32 ../cfg_app_voicemail.py:33
- msgid "Ask for user mailbox?"
--msgstr "Demande la boite à message de l'utilisateur"
-+msgstr "Demande la boite à message de l'utilisateur"
-
- #: cfg_dialout_normal.py:27 ../cfg_dialout_normal.py:27
- msgid "Normal dialout entry"
--msgstr "Entrée normale d'appel vers l'extérieur"
-+msgstr "Entrée normale d'appel vers l'extérieur"
-
- #: cfg_dialout_normal.py:28 ../cfg_dialout_normal.py:28
- msgid "New normal dialout entry"
--msgstr "Nouvelle entrée normale d'appel vers l'extérieur"
-+msgstr "Nouvelle entrée normale d'appel vers l'extérieur"
-
- #: cfg_dialout_normal.py:29 ../cfg_dialout_normal.py:29
- msgid "Used to route calls through trunks"
--msgstr "Utilisé pour router les appels à travers les canaux"
-+msgstr "Utilisé pour router les appels à travers les canaux"
-
- #: cfg_dialout_normal.py:34 cfg_ivr_autoatt.py:35 cfg_ivr_raw.py:32
- #: cfg_opt_manager.py:31 cfg_opt_music.py:30 cfg_opt_oppanel.py:34
-@@ -466,11 +467,11 @@
-
- #: cfg_dialout_normal.py:36 ../cfg_dialout_normal.py:36
- msgid "Remove Prefix of length"
--msgstr "Supprime un préfixe de longueur"
-+msgstr "Supprime un préfixe de longueur"
-
- #: cfg_dialout_normal.py:37 ../cfg_dialout_normal.py:37
- msgid "Add Prefix"
--msgstr "Ajoute un préfixe"
-+msgstr "Ajoute un préfixe"
-
- #: cfg_dialout_normal.py:38 ../cfg_dialout_normal.py:38
- msgid "Maximum call time in seconds"
-@@ -482,12 +483,12 @@
-
- #: cfg_dialout_normal.py:40 ../cfg_dialout_normal.py:40
- msgid "Search on quick dial list?"
--msgstr "Recherche dans la liste de numérotation rapide?"
-+msgstr "Recherche dans la liste de numérotation rapide?"
-
- #: cfg_dialout_normal.py:42 ../cfg_dialout_normal.py:42
- msgid "Trunks to use for routing this dialout entry"
- msgstr ""
--"Cannaux à utiliser pour le routage de cette entrée d'appel extérieur"
-+"Cannaux à utiliser pour le routage de cette entrée d'appel extérieur"
-
- #: cfg_dialout_normal.py:59 cfg_ivr_autoatt.py:96 cfg_ivr_autoatt.py:99
- #: cfg_ivr_autoatt.py:102 cfg_opt_did.py:69 cfg_opt_did.py:72
-@@ -508,19 +509,19 @@
- #: ../cfg_phone_zap.py:150 ../cfg_phone_zap.py:157 ../configlets.py:419
- #: ../cfg_opt_user.py:50 ../cfg_opt_user.py:53 ../configlets.py:423
- msgid "This is a Dependency"
--msgstr "Ceci est une dépendance"
-+msgstr "Ceci est une dépendance"
-
- #: cfg_ivr_autoatt.py:27 ../cfg_ivr_autoatt.py:27
- msgid "Auto attendant"
--msgstr "Répondeur automatique"
-+msgstr "Répondeur automatique"
-
- #: cfg_ivr_autoatt.py:28 ../cfg_ivr_autoatt.py:28
- msgid "New auto attendant"
--msgstr "Nouveau répondeur automatique"
-+msgstr "Nouveau répondeur automatique"
-
- #: cfg_ivr_autoatt.py:29 ../cfg_ivr_autoatt.py:29
- msgid "Basic auto-attendant."
--msgstr "Répondeur automatique de base"
-+msgstr "Répondeur automatique de base"
-
- #: cfg_ivr_autoatt.py:39 ../cfg_ivr_autoatt.py:39
- msgid "Max. time for incoming calls in seconds"
-@@ -532,11 +533,11 @@
-
- #: cfg_ivr_autoatt.py:52 ../cfg_ivr_autoatt.py:52
- msgid "File to play in the background"
--msgstr "Fichier à jouer en fond"
-+msgstr "Fichier à jouer en fond"
-
- #: cfg_ivr_autoatt.py:56 ../cfg_ivr_autoatt.py:56
- msgid "How many times should it be played?"
--msgstr "Combien de fois devrait-it être joué ?"
-+msgstr "Combien de fois devrait-it être joué ?"
-
- #: cfg_ivr_autoatt.py:62 ../cfg_ivr_autoatt.py:62
- msgid "Pause between each playback"
-@@ -544,24 +545,24 @@
-
- #: cfg_ivr_autoatt.py:66 ../cfg_ivr_autoatt.py:66
- msgid "Extension to ring after file playing"
--msgstr "Extension à appeler après le jeu"
-+msgstr "Extension à appeler après le jeu"
-
- #: cfg_ivr_autoatt.py:71 ../cfg_ivr_autoatt.py:71
- msgid "Digit to jump that extension directly"
--msgstr "Chiffre pour sauter directement à cette extension"
-+msgstr "Chiffre pour sauter directement à cette extension"
-
- #: cfg_ivr_autoatt.py:76 ../cfg_ivr_autoatt.py:76
- msgid "IVR to jump on special dates"
--msgstr "IVR à activer à des dates spécifiques"
-+msgstr "IVR à activer à des dates spécifiques"
-
- #: cfg_ivr_autoatt.py:83 ../cfg_ivr_autoatt.py:83
- msgid "Times string"
--msgstr "Spécification de temps"
-+msgstr "Spécification de temps"
-
- #: cfg_ivr_autoatt.py:84 ../cfg_ivr_autoatt.py:84
- msgid "i.e. <hours>|<weekdays>|<monthdays>|<months> (comma separated)"
- msgstr ""
--"par exemple, <heure>|<jour de la semaine>|jour du mois>|<mois> (séparé par "
-+"par exemple, <heure>|<jour de la semaine>|jour du mois>|<mois> (séparé par "
- "des virgule)"
-
- #: cfg_ivr_autoatt.py:90
-@@ -570,11 +571,11 @@
-
- #: cfg_ivr_autoatt.py:116 ../cfg_ivr_autoatt.py:122
- msgid "File should be played at least one time"
--msgstr "Les fichier devraient être joués au moins une fois"
-+msgstr "Les fichier devraient être joués au moins une fois"
-
- #: cfg_ivr_autoatt.py:118 ../cfg_ivr_autoatt.py:124
- msgid "Please specify dates"
--msgstr "Svp spécifiez des dates"
-+msgstr "Svp spécifiez des dates"
-
- #: cfg_ivr_raw.py:27 ../cfg_ivr_raw.py:27
- msgid "Raw IVR"
-@@ -591,19 +592,19 @@
-
- #: cfg_opt_did.py:26 ../cfg_opt_did.py:26
- msgid "Direct inward dialing (DID) number"
--msgstr "Numéro Direct inward dialing (DID)"
-+msgstr "Numéro Direct inward dialing (DID)"
-
- #: cfg_opt_did.py:27 ../cfg_opt_did.py:27
- msgid "New direct inward dialing (DID) number"
--msgstr "Nouveau numéro Direct inward dialing (DID)"
-+msgstr "Nouveau numéro Direct inward dialing (DID)"
-
- #: cfg_opt_did.py:28 ../cfg_opt_did.py:28
- msgid ""
- " Used to route a DID to an extension \n"
- "\t\t\t\t\t\tor Auto-Attendant."
- msgstr ""
--" Utilisé pour router un DID vers une extension \n"
--"\t\t\t\t\t\tou un répondeur automatique."
-+" Utilisé pour router un DID vers une extension \n"
-+"\t\t\t\t\t\tou un répondeur automatique."
-
- #: cfg_opt_did.py:35 ../cfg_opt_did.py:36
- msgid "DID"
-@@ -618,14 +619,14 @@
- #: ../cfg_opt_did.py:45 ../cfg_trunk_iax.py:53 ../cfg_trunk_sip.py:48
- #: ../cfg_trunk_zappbx.py:49 ../cfg_trunk_zappri.py:57 ../cfg_trunk_zap.py:46
- msgid "Go to"
--msgstr "Aller à "
-+msgstr "Aller à "
-
- #: cfg_opt_did.py:47 cfg_trunk_iax.py:54 cfg_trunk_sip.py:49
- #: cfg_trunk_zappbx.py:50 cfg_trunk_zappri.py:58 cfg_trunk_zap.py:47
- #: ../cfg_opt_did.py:48 ../cfg_trunk_iax.py:54 ../cfg_trunk_sip.py:49
- #: ../cfg_trunk_zappbx.py:50 ../cfg_trunk_zappri.py:58 ../cfg_trunk_zap.py:47
- msgid "Phone"
--msgstr "Téléphone"
-+msgstr "Téléphone"
-
- #: cfg_opt_did.py:47 cfg_trunk_iax.py:54 cfg_trunk_sip.py:49
- #: cfg_trunk_zappbx.py:50 cfg_trunk_zappri.py:58 cfg_trunk_zap.py:47
-@@ -638,14 +639,14 @@
- #: cfg_trunk_iaxtel.py:49 ../cfg_opt_did.py:51 ../cfg_trunk_capimsn.py:35
- #: ../cfg_trunk_fwdiax.py:50 ../cfg_trunk_iaxtel.py:49
- msgid "Phone to ring"
--msgstr "Téléphone à faire sonner"
-+msgstr "Téléphone à faire sonner"
-
- #: cfg_opt_did.py:56 cfg_trunk_iax.py:57 cfg_trunk_sip.py:52
- #: cfg_trunk_zappbx.py:53 cfg_trunk_zappri.py:61 cfg_trunk_zap.py:50
- #: ../cfg_opt_did.py:57 ../cfg_trunk_iax.py:57 ../cfg_trunk_sip.py:52
- #: ../cfg_trunk_zappbx.py:53 ../cfg_trunk_zappri.py:61 ../cfg_trunk_zap.py:50
- msgid "IVR to jump to"
--msgstr "Faire aller l'IVR Ã "
-+msgstr "Faire aller l'IVR Ã "
-
- #: cfg_opt_did.py:62 cfg_trunk_iax.py:59 cfg_trunk_sip.py:54
- #: cfg_trunk_zappbx.py:55 cfg_trunk_zappri.py:63 cfg_trunk_zap.py:52
-@@ -656,7 +657,7 @@
-
- #: cfg_opt_did.py:92 ../cfg_opt_did.py:93
- msgid "DID already in use for that trunk."
--msgstr "DID est déja utilisé pour ce canal."
-+msgstr "DID est déja utilisé pour ce canal."
-
- #: cfg_opt_enum.py:26 ../cfg_opt_enum.py:26
- msgid "ENUM search domain"
-@@ -668,7 +669,7 @@
-
- #: cfg_opt_enum.py:30 ../cfg_opt_enum.py:30
- msgid "Domain to search for ENUM entries"
--msgstr "Domaine à recherche pour des entrées ENUM"
-+msgstr "Domaine à recherche pour des entrées ENUM"
-
- #: cfg_opt_loadmodule.py:26 cfg_opt_loadmodule.py:27
- #: ../cfg_opt_loadmodule.py:26 ../cfg_opt_loadmodule.py:27
-@@ -677,7 +678,7 @@
-
- #: cfg_opt_loadmodule.py:28 ../cfg_opt_loadmodule.py:28
- msgid "Module to load"
--msgstr "Module à charger"
-+msgstr "Module à charger"
-
- #: cfg_opt_logger.py:25 cfg_opt_logger.py:26 ../cfg_opt_logger.py:25
- #: ../cfg_opt_logger.py:26
-@@ -689,7 +690,7 @@
- "Asterisk can emit many events to it's console or a log file, Here you can "
- "make it more (or less) verbose:"
- msgstr ""
--"Asterisk peut émettre beaucoups d'événements sur sa console ou un fichier "
-+"Asterisk peut émettre beaucoups d'événements sur sa console ou un fichier "
- "de log, ici vous pouvez le rendre plus ou moins verbeux :"
-
- #: cfg_opt_logger.py:30 ../cfg_opt_logger.py:30
-@@ -710,7 +711,7 @@
-
- #: cfg_opt_logger.py:34 ../cfg_opt_logger.py:34
- msgid "Debug output"
--msgstr "Affichage de débug"
-+msgstr "Affichage de débug"
-
- #: cfg_opt_logger.py:44 ../cfg_opt_logger.py:44
- msgid "Console output"
-@@ -718,11 +719,11 @@
-
- #: cfg_opt_logger.py:50 ../cfg_opt_logger.py:50
- msgid "Output in /var/log/asterisk/messages"
--msgstr "Tranférer dans /var/log/asterisk/messages"
-+msgstr "Tranférer dans /var/log/asterisk/messages"
-
- #: cfg_opt_logger.py:56 ../cfg_opt_logger.py:56
- msgid "Log to syslog via facility"
--msgstr "Logguer vers les syslogs via la facilité"
-+msgstr "Logguer vers les syslogs via la facilité"
-
- #: cfg_opt_logger.py:61 ../cfg_opt_logger.py:61
- msgid "What kind of messages to log"
-@@ -731,11 +732,11 @@
- #: cfg_opt_manager.py:26 page_config.ptl:80 ../cfg_opt_manager.py:26
- #: ../page_config.ptl:80
- msgid "Management API access"
--msgstr "Accès à l'API de gestion"
-+msgstr "Accès à l'API de gestion"
-
- #: cfg_opt_manager.py:27 ../cfg_opt_manager.py:27
- msgid "New management API access"
--msgstr "Nouvel accès à l'API de gestion"
-+msgstr "Nouvel accès à l'API de gestion"
-
- #: cfg_opt_manager.py:32 ../cfg_opt_manager.py:32
- msgid "Secret"
-@@ -743,7 +744,7 @@
-
- #: cfg_opt_manager.py:33 ../cfg_opt_manager.py:33
- msgid "IP disable mask"
--msgstr "Désactive les masques IP"
-+msgstr "Désactive les masques IP"
-
- #: cfg_opt_manager.py:34 ../cfg_opt_manager.py:34
- msgid "IP enable mask"
-@@ -759,11 +760,11 @@
-
- #: cfg_opt_music.py:26 ../cfg_opt_music.py:26
- msgid "Background music directory"
--msgstr "Répertoire de la musique de fond"
-+msgstr "Répertoire de la musique de fond"
-
- #: cfg_opt_music.py:27 ../cfg_opt_music.py:27
- msgid "New background music directory"
--msgstr "Nouveau répertoire de la musique de fond"
-+msgstr "Nouveau répertoire de la musique de fond"
-
- #: cfg_opt_oppanel.py:29 ../cfg_opt_oppanel.py:29
- msgid "Configure Asternic Flash Operator Panel"
-@@ -771,11 +772,11 @@
-
- #: cfg_opt_oppanel.py:35 ../cfg_opt_oppanel.py:35
- msgid "FQDN/IP to access the panel via web"
--msgstr "FQDN/IP pour accéder au panneau via le web"
-+msgstr "FQDN/IP pour accéder au panneau via le web"
-
- #: cfg_opt_oppanel.py:36 ../cfg_opt_oppanel.py:36
- msgid "Security Code"
--msgstr "Code de sécurité"
-+msgstr "Code de sécurité"
-
- #: cfg_opt_oppanel.py:37 ../cfg_opt_oppanel.py:37
- msgid "Manager agent"
-@@ -783,7 +784,7 @@
-
- #: cfg_opt_oppanel.py:39 ../cfg_opt_oppanel.py:39
- msgid "Frequency in seconds to poll for sip and iax status"
--msgstr "Fréquence en seconde de verification de status de sip et de iax"
-+msgstr "Fréquence en seconde de verification de status de sip et de iax"
-
- #: cfg_opt_pickup.py:27 cfg_opt_pickup.py:28 ../cfg_opt_pickup.py:27
- #: ../cfg_opt_pickup.py:28
-@@ -792,7 +793,7 @@
-
- #: cfg_opt_pickup.py:29 ../cfg_opt_pickup.py:29
- msgid "Extension to dial to pick-up a call in the same group."
--msgstr "Extension à appeler pour prendre un appel dans le même groupe"
-+msgstr "Extension à appeler pour prendre un appel dans le même groupe"
-
- #: cfg_opt_rawcfg.py:26 ../cfg_opt_rawcfg.py:26
- msgid "Raw config file snippet"
-@@ -813,7 +814,7 @@
-
- #: cfg_opt_rtp.py:31 ../cfg_opt_rtp.py:31
- msgid "Start of RTP port area"
--msgstr "Début de l'interval de ports RTP"
-+msgstr "Début de l'interval de ports RTP"
-
- #: cfg_opt_rtp.py:32 ../cfg_opt_rtp.py:32
- msgid "End of RTP port area"
-@@ -821,11 +822,11 @@
-
- #: cfg_opt_rtp.py:33 ../cfg_opt_rtp.py:33
- msgid "Check UDP checksums of RTP packets"
--msgstr "Vérifier les sommes de contrôle des paquets RTP"
-+msgstr "Vérifier les sommes de contrôle des paquets RTP"
-
- #: cfg_opt_rtp.py:46 ../cfg_opt_rtp.py:46
- msgid "must be higher than start value"
--msgstr "doit être plus grand que la valeur de début"
-+msgstr "doit être plus grand que la valeur de début"
-
- #: cfg_opt_settings.py:25 ../cfg_opt_settings.py:25
- msgid "Austria"
-@@ -841,7 +842,7 @@
-
- #: cfg_opt_settings.py:64 ../cfg_opt_settings.py:64
- msgid "Brazil"
--msgstr "Brézil"
-+msgstr "Brézil"
-
- #: cfg_opt_settings.py:75 ../cfg_opt_settings.py:75
- msgid "Chile"
-@@ -865,7 +866,7 @@
-
- #: cfg_opt_settings.py:132 ../cfg_opt_settings.py:132
- msgid "Greece"
--msgstr "Grèce"
-+msgstr "Grèce"
-
- #: cfg_opt_settings.py:143 ../cfg_opt_settings.py:143
- msgid "India"
-@@ -885,11 +886,11 @@
-
- #: cfg_opt_settings.py:189 ../cfg_opt_settings.py:189
- msgid "Norway"
--msgstr "Norvège"
-+msgstr "Norvège"
-
- #: cfg_opt_settings.py:200 ../cfg_opt_settings.py:200
- msgid "New Zealand"
--msgstr "Nouvelle zélande"
-+msgstr "Nouvelle zélande"
-
- #: cfg_opt_settings.py:211 ../cfg_opt_settings.py:211
- msgid "Poland"
-@@ -905,11 +906,11 @@
-
- #: cfg_opt_settings.py:244 ../cfg_opt_settings.py:244
- msgid "Sweden"
--msgstr "Suède"
-+msgstr "Suède"
-
- #: cfg_opt_settings.py:255 ../cfg_opt_settings.py:255
- msgid "Taiwan"
--msgstr "Taïwan"
-+msgstr "Taïwan"
-
- #: cfg_opt_settings.py:267 ../cfg_opt_settings.py:267
- msgid "United Kingdom"
-@@ -917,7 +918,7 @@
-
- #: cfg_opt_settings.py:285 ../cfg_opt_settings.py:285
- msgid "United States / North America"
--msgstr "Etats unis / Amérique du nord"
-+msgstr "Etats unis / Amérique du nord"
-
- #: cfg_opt_settings.py:296 ../cfg_opt_settings.py:296
- msgid "South Africa"
-@@ -926,7 +927,7 @@
- #: cfg_opt_settings.py:315 cfg_opt_settings.py:316 ../cfg_opt_settings.py:315
- #: ../cfg_opt_settings.py:316
- msgid "General settings"
--msgstr "Paramètres généraux"
-+msgstr "Paramètres généraux"
-
- #: cfg_opt_settings.py:320 ../cfg_opt_settings.py:320
- msgid "Country"
-@@ -935,7 +936,7 @@
- #: cfg_opt_settings.py:321 ../cfg_opt_settings.py:321
- msgid "The country is used for generating dialtone, ringtone, busytone etc"
- msgstr ""
--"Le pays est utilisé pour générer les signaux d'appel, les sonneries, les "
-+"Le pays est utilisé pour générer les signaux d'appel, les sonneries, les "
- "signaux d'occupation, etc."
-
- #: cfg_opt_settings.py:325 ../cfg_opt_settings.py:325
-@@ -944,7 +945,7 @@
-
- #: cfg_opt_settings.py:326 ../cfg_opt_settings.py:326
- msgid "The language is used for voice prompts"
--msgstr "Le langage est utilisé pour les messages vocaux"
-+msgstr "Le langage est utilisé pour les messages vocaux"
-
- #: cfg_opt_sip_audio.py:27 cfg_opt_sip_audio.py:28 ../cfg_opt_sip_audio.py:27
- #: ../cfg_opt_sip_audio.py:28
-@@ -953,7 +954,7 @@
-
- #: cfg_opt_sip_audio.py:32 ../cfg_opt_sip_audio.py:32
- msgid "Codecs to use"
--msgstr "Codecs à utiliser"
-+msgstr "Codecs à utiliser"
-
- #: cfg_opt_sip_audio.py:33 ../cfg_opt_sip_audio.py:33
- msgid "Allow alaw codec"
-@@ -977,7 +978,7 @@
-
- #: cfg_opt_sip_audio.py:38 ../cfg_opt_sip_audio.py:38
- msgid "g729 pass-thru unless license obtained"
--msgstr "g729 passe à travers excepté si une license a été acquise"
-+msgstr "g729 passe à travers excepté si une license a été acquise"
-
- #: cfg_opt_sip_audio.py:39 ../cfg_opt_sip_audio.py:39
- msgid "Allow g723.1 codec"
-@@ -985,7 +986,7 @@
-
- #: cfg_opt_sip_audio.py:40 ../cfg_opt_sip_audio.py:40
- msgid "g723.1 pass-thru"
--msgstr "Autorise le codec g723.1 passe à travers"
-+msgstr "Autorise le codec g723.1 passe à travers"
-
- #: cfg_opt_sip_audio.py:48 ../cfg_opt_sip_audio.py:48
- msgid "You should choose at least one codec"
-@@ -994,11 +995,11 @@
- #: cfg_opt_sip_network.py:28 cfg_opt_sip_network.py:29
- #: ../cfg_opt_sip_network.py:28 ../cfg_opt_sip_network.py:29
- msgid "SIP Network Options"
--msgstr "Option réseau SIP"
-+msgstr "Option réseau SIP"
-
- #: cfg_opt_sip_network.py:33 ../cfg_opt_sip_network.py:33
- msgid "Bind specific address?"
--msgstr "Lie à une adresse spécifique ?"
-+msgstr "Lie à une adresse spécifique ?"
-
- #: cfg_opt_sip_network.py:34 ../cfg_opt_sip_network.py:34
- msgid "Bind address"
-@@ -1010,7 +1011,7 @@
-
- #: cfg_opt_sip_network.py:36 ../cfg_opt_sip_network.py:36
- msgid "Force external ip/internel network?"
--msgstr "Force réseau ip externe/interne"
-+msgstr "Force réseau ip externe/interne"
-
- #: cfg_opt_sip_network.py:37 ../cfg_opt_sip_network.py:37
- msgid "External ip"
-@@ -1018,11 +1019,11 @@
-
- #: cfg_opt_sip_network.py:38 ../cfg_opt_sip_network.py:38
- msgid "Internal network"
--msgstr "Réseau interne"
-+msgstr "Réseau interne"
-
- #: cfg_opt_sip_network.py:39 ../cfg_opt_sip_network.py:39
- msgid "Netmask"
--msgstr "Masque réseau"
-+msgstr "Masque réseau"
-
- #: cfg_opt_user.py:25 page_config.ptl:68 ../cfg_opt_user.py:25
- #: ../page_config.ptl:68
-@@ -1035,7 +1036,7 @@
-
- #: cfg_opt_user.py:33 ../cfg_opt_user.py:33
- msgid "Associated IP address of PC"
--msgstr "IP adresse associée au PC"
-+msgstr "IP adresse associée au PC"
-
- #: cfg_opt_user.py:33 ../cfg_opt_user.py:33
- msgid "Trusted for auto-login"
-@@ -1043,12 +1044,12 @@
-
- #: cfg_opt_user.py:34 ../cfg_opt_user.py:34
- msgid "Associated phone"
--msgstr "Téléphone associé"
-+msgstr "Téléphone associé"
-
- #: cfg_opt_user.py:37 page_user_info.ptl:49 page_user.ptl:46
- #: ../cfg_opt_user.py:38 ../page_user_info.ptl:49 ../page_user.ptl:46
- msgid "disabled"
--msgstr "désactivé"
-+msgstr "désactivé"
-
- #: cfg_opt_user.py:38 page_user_info.ptl:50 page_user.ptl:25 page_user.ptl:47
- #: ../cfg_opt_user.py:39 ../page_user_info.ptl:50 ../page_user.ptl:25
-@@ -1076,15 +1077,15 @@
- #: ../cfg_phone_epygi.py:107 ../cfg_phone_iax.py:87 ../cfg_phone_mgcp.py:96
- #: ../cfg_phone_sip.py:107 ../cfg_phone_zap.py:94
- msgid "Voicemail settings"
--msgstr "Paramètres de boite à message"
-+msgstr "Paramètres de boite à message"
-
- #: cfg_opt_voicemail.py:30 ../cfg_opt_voicemail.py:30
- msgid "Recording settings"
--msgstr "Paramètres d'enregistrement"
-+msgstr "Paramètres d'enregistrement"
-
- #: cfg_opt_voicemail.py:31 ../cfg_opt_voicemail.py:31
- msgid "File format for voicemail messages"
--msgstr "Format de fichier pour boite à message"
-+msgstr "Format de fichier pour boite à message"
-
- #: cfg_opt_voicemail.py:33 ../cfg_opt_voicemail.py:33
- msgid "Maximal message length (in seconds)"
-@@ -1096,34 +1097,34 @@
-
- #: cfg_opt_voicemail.py:35 ../cfg_opt_voicemail.py:35
- msgid "Seconds of silence to end the recording"
--msgstr "Secondes de silence à la fin de l'enregistrement"
-+msgstr "Secondes de silence à la fin de l'enregistrement"
-
- #: cfg_opt_voicemail.py:36 ../cfg_opt_voicemail.py:36
- msgid ""
- "Silence threshold (what we consider silence, the lower, the more sensitive)"
- msgstr ""
--"Seuil de silence (ce que nous considérons du silence, le plus bas est le "
-+"Seuil de silence (ce que nous considérons du silence, le plus bas est le "
- "plus sensible)"
-
- #: cfg_opt_voicemail.py:38 ../cfg_opt_voicemail.py:38
- msgid "Playback settings"
--msgstr "Paramètres de jeu"
-+msgstr "Paramètres de jeu"
-
- #: cfg_opt_voicemail.py:39 ../cfg_opt_voicemail.py:39
- msgid "Max number of failed login attempts"
--msgstr "Nombre maximal de tentatives échouées de login"
-+msgstr "Nombre maximal de tentatives échouées de login"
-
- #: cfg_opt_voicemail.py:40 ../cfg_opt_voicemail.py:40
- msgid "Seconds to skip forward/backward"
--msgstr "Secondes à passer en avant/en arrière"
-+msgstr "Secondes à passer en avant/en arrière"
-
- #: cfg_opt_voicemail.py:42 ../cfg_opt_voicemail.py:42
- msgid "E-mail integration settings"
--msgstr "Paramètres d'intégration e-mail"
-+msgstr "Paramètres d'intégration e-mail"
-
- #: cfg_opt_voicemail.py:43 ../cfg_opt_voicemail.py:43
- msgid "Activate email voicemail notifications?"
--msgstr "Activation de la notification e-mail de la boite à message"
-+msgstr "Activation de la notification e-mail de la boite à message"
-
- #: cfg_opt_voicemail.py:44 ../cfg_opt_voicemail.py:44
- msgid "Who the e-mail notification should appear to come from"
-@@ -1148,7 +1149,7 @@
- #: cfg_opt_voicemail.py:46 ../cfg_opt_voicemail.py:46
- msgid "[DeStar PBX]: New message from ${VM_CALLERID} in mailbox ${VM_MAILBOX}"
- msgstr ""
--"[DeStar PBX]: Nouveau message de ${VM_CALLERID} dans la boite à message "
-+"[DeStar PBX]: Nouveau message de ${VM_CALLERID} dans la boite à message "
- "${VM_MAILBOX}"
-
- #: cfg_opt_voicemail.py:47 ../cfg_opt_voicemail.py:47
-@@ -1162,19 +1163,19 @@
- "from ${VM_CALLERID}, on ${VM_DATE}, so you might\\n\\twant to check it when "
- "you get a chance. Thanks!\\n\\n\\t\\t\\t--Asterisk/Destar PBX."
- msgstr ""
--"Cher ${VM_NAME}:\\n\\n\\tJe vous notifie que vous avez à l'instant reçu un "
--"messsage de longueur ${VM_DUR} (nombre ${VM_MSGNUM})\\n\\t dans la boite à "
--"message ${VM_MAILBOX} provenant de ${VM_CALLERID}, Ã la date du ${VM_DATE}. "
--"Vous pouvez\\n\\t l'écouter dès à présent. Merci!\\n\\n\\t\\t\\t--"
-+"Cher ${VM_NAME}:\\n\\n\\tJe vous notifie que vous avez à l'instant reçu un "
-+"messsage de longueur ${VM_DUR} (nombre ${VM_MSGNUM})\\n\\t dans la boite à "
-+"message ${VM_MAILBOX} provenant de ${VM_CALLERID}, Ã la date du ${VM_DATE}. "
-+"Vous pouvez\\n\\t l'écouter dès à présent. Merci!\\n\\n\\t\\t\\t--"
- "Asterisk/Destar PBX."
-
- #: cfg_opt_voicemail.py:50 ../cfg_opt_voicemail.py:50
- msgid "Should the email contain the voicemail as an attachment?"
--msgstr "L'e-mail doit-il contenir le message vocal en pièce jointe"
-+msgstr "L'e-mail doit-il contenir le message vocal en pièce jointe"
-
- #: cfg_opt_voicemail.py:51 ../cfg_opt_voicemail.py:51
- msgid "Override the default program to send e-mail"
--msgstr "Spécifieun autre programme d'envoi d'e-mail"
-+msgstr "Spécifieun autre programme d'envoi d'e-mail"
-
- #: cfg_opt_voicemail.py:51 ../cfg_opt_voicemail.py:51
- msgid "i.e.: /usr/sbin/sendmail -t"
-@@ -1187,28 +1188,28 @@
-
- #: cfg_opt_zap_audio.py:31 ../cfg_opt_zap_audio.py:31
- msgid "Be sloppy when detecting DTMF"
--msgstr "Etre tolérant avec la détection des DTMF"
-+msgstr "Etre tolérant avec la détection des DTMF"
-
- #: cfg_opt_zap_audio.py:32 ../cfg_opt_zap_audio.py:32
- msgid "Echo cancel samples"
--msgstr "Exemples d'annulation d'écho"
-+msgstr "Exemples d'annulation d'écho"
-
- #: cfg_opt_zap_audio.py:34 ../cfg_opt_zap_audio.py:34
- msgid "Cancel echo even on bridged calls"
--msgstr "Annule l'écho même lors d'appel faisant le pont"
-+msgstr "Annule l'écho même lors d'appel faisant le pont"
-
- #: cfg_opt_zap_audio.py:35 ../cfg_opt_zap_audio.py:35
- msgid "Do early echo training"
--msgstr "Fait de l'entrainement précoce d'écho"
-+msgstr "Fait de l'entrainement précoce d'écho"
-
- #: cfg_opt_zap_phone.py:26 cfg_opt_zap_phone.py:27 ../cfg_opt_zap_phone.py:26
- #: ../cfg_opt_zap_phone.py:27
- msgid "Zaptel Phone Options"
--msgstr "Options téléphone Zaptel"
-+msgstr "Options téléphone Zaptel"
-
- #: cfg_opt_zap_phone.py:31 ../cfg_opt_zap_phone.py:31
- msgid "Use ADSI for menu phones"
--msgstr "Utilise ADSI pour les menus de téléphone"
-+msgstr "Utilise ADSI pour les menus de téléphone"
-
- #: cfg_opt_zap_phone.py:32 ../cfg_opt_zap_phone.py:32
- msgid "Signal a waiting call"
-@@ -1221,11 +1222,11 @@
-
- #: cfg_opt_zap_phone.py:34 ../cfg_opt_zap_phone.py:34
- msgid "Suspend a call temporarily via a hook flash"
--msgstr "Supendre un appel temporairement via flash de combiné"
-+msgstr "Supendre un appel temporairement via flash de combiné"
-
- #: cfg_opt_zap_phone.py:35 ../cfg_opt_zap_phone.py:35
- msgid "Allow call transfer"
--msgstr "Autorise le transfère d'appel"
-+msgstr "Autorise le transfère d'appel"
-
- #: cfg_opt_zap_phone.py:36 ../cfg_opt_zap_phone.py:36
- msgid "Allow call forwards"
-@@ -1233,7 +1234,7 @@
-
- #: cfg_opt_zap_phone.py:37 ../cfg_opt_zap_phone.py:37
- msgid "Read caller number with *69"
--msgstr "Lire le numéro de l'appelant avec *69"
-+msgstr "Lire le numéro de l'appelant avec *69"
-
- #: cfg_opt_zappri.py:28 cfg_opt_zappri.py:29 ../cfg_opt_zappri.py:28
- #: ../cfg_opt_zappri.py:29
-@@ -1246,11 +1247,11 @@
-
- #: cfg_opt_zappri.py:33 ../cfg_opt_zappri.py:33
- msgid "i.e. 1 if 1st card"
--msgstr "par exemple, 1 pour la 1ère carte"
-+msgstr "par exemple, 1 pour la 1ère carte"
-
- #: cfg_opt_zappri.py:34 ../cfg_opt_zappri.py:34
- msgid "Zaptel timing parameter"
--msgstr "Paramètre de temporisation Zaptel"
-+msgstr "Paramètre de temporisation Zaptel"
-
- #: cfg_opt_zappri.py:34 ../cfg_opt_zappri.py:34
- msgid "Read zaptel documentation"
-@@ -1265,8 +1266,8 @@
- "Power level based on distance from the card to the service provider's "
- "gateway."
- msgstr ""
--"Niveau de puissance basé sur la distance à la passerelle du fournisseurde "
--"service"
-+"Niveau de puissance basé sur la distance à la passerelle du fournisseur"
-+"de service"
-
- #: cfg_opt_zappri.py:37 ../cfg_opt_zappri.py:37
- msgid "0: 0 db (CSU) / 0-133 feet (DSX-1)"
-@@ -1362,7 +1363,7 @@
- #: cfg_opt_zap_trunk.py:31 ../cfg_opt_zap_trunk.py:31
- msgid "Try to detect busy signal to detect if remove site hung up"
- msgstr ""
--"Essaie de détecter le signal d'occupation si le site distant raccroche"
-+"Essaie de détecter le signal d'occupation si le site distant raccroche"
-
- #: cfg_opt_zap_trunk.py:32 ../cfg_opt_zap_trunk.py:32
- msgid "Wait how many busy signals before hanging up"
-@@ -1383,7 +1384,7 @@
- #: cfg_phone_epygi.py:49 cfg_phone_sip.py:48 ../cfg_phone_epygi.py:54
- #: ../cfg_phone_sip.py:53
- msgid "Is the trunk behind NAT ?"
--msgstr "Le canal est-il derrière un NAT"
-+msgstr "Le canal est-il derrière un NAT"
-
- #: cfg_phone_epygi.py:59 cfg_phone_sip.py:58 ../cfg_phone_epygi.py:63
- #: ../cfg_phone_sip.py:62
-@@ -1424,7 +1425,7 @@
- #: ../cfg_phone_iax.py:72 ../cfg_phone_mgcp.py:92 ../cfg_phone_sip.py:80
- #: ../cfg_phone_zap.py:79
- msgid "Call group number"
--msgstr "Le numéro du groupe d'appel"
-+msgstr "Le numéro du groupe d'appel"
-
- #: cfg_phone_epygi.py:80 cfg_phone_sip.py:80 ../cfg_phone_epygi.py:84
- #: ../cfg_phone_sip.py:84
-@@ -1446,7 +1447,7 @@
- #: ../cfg_phone_iax.py:91 ../cfg_phone_mgcp.py:101 ../cfg_phone_sip.py:112
- #: ../cfg_phone_zap.py:99
- msgid "Use voicemail"
--msgstr "Utilise la boite à message"
-+msgstr "Utilise la boite à message"
-
- #: cfg_phone_epygi.py:113 cfg_phone_iax.py:92 cfg_phone_mgcp.py:101
- #: cfg_phone_sip.py:113 cfg_phone_zap.py:100 ../cfg_phone_epygi.py:117
-@@ -1460,7 +1461,7 @@
- #: ../cfg_phone_iax.py:101 ../cfg_phone_mgcp.py:111 ../cfg_phone_sip.py:122
- #: ../cfg_phone_zap.py:109
- msgid "Voicemail PIN"
--msgstr "PIN de boite à message"
-+msgstr "PIN de boite à message"
-
- #: cfg_phone_epygi.py:123 ../cfg_phone_epygi.py:127
- msgid "E-mail"
-@@ -1471,13 +1472,13 @@
- #: ../cfg_phone_iax.py:110 ../cfg_phone_mgcp.py:116 ../cfg_phone_sip.py:132
- #: ../cfg_phone_zap.py:114
- msgid "Calls from the phone"
--msgstr "Appels à partir du téléphone"
-+msgstr "Appels à partir du téléphone"
-
- #: cfg_phone_epygi.py:132 cfg_phone_iax.py:110 cfg_phone_sip.py:132
- #: cfg_phone_zap.py:114 ../cfg_phone_epygi.py:136 ../cfg_phone_iax.py:114
- #: ../cfg_phone_sip.py:136 ../cfg_phone_zap.py:118
- msgid "Caller-Id Number"
--msgstr "Numéro de l'identifiant de l'appelant"
-+msgstr "Numéro de l'identifiant de l'appelant"
-
- #: cfg_phone_epygi.py:136 cfg_phone_iax.py:114 cfg_phone_sip.py:136
- #: cfg_phone_zap.py:118 cfg_trunk_fwdiax.py:47 cfg_trunk_iaxtel.py:46
-@@ -1491,7 +1492,7 @@
- #: ../cfg_phone_iax.py:122 ../cfg_phone_mgcp.py:128 ../cfg_phone_sip.py:144
- #: ../cfg_phone_zap.py:126
- msgid "Allowed dialout-entries"
--msgstr "Autorise les entrées d'appel vers l'extérieur"
-+msgstr "Autorise les entrées d'appel vers l'extérieur"
-
- #: cfg_phone_epygi.py:145 cfg_phone_iax.py:123 cfg_phone_mgcp.py:128
- #: cfg_phone_sip.py:145 cfg_phone_zap.py:127 ../cfg_phone_epygi.py:149
-@@ -1506,12 +1507,12 @@
-
- #: cfg_phone_ext.py:28 ../cfg_phone_ext.py:28
- msgid "Set an 'alias' extension to a phone"
--msgstr "Active une extension 'Alias' vers un téléphone"
-+msgstr "Active une extension 'Alias' vers un téléphone"
-
- #: cfg_phone_ext.py:39 ../cfg_phone_ext.py:44
- msgid "This can be used to set operator(o) or fax(fax) extensions."
- msgstr ""
--"Ceci peut être utilisé pour activer une extension d'opérateur(o) ou de fax"
-+"Ceci peut être utilisé pour activer une extension d'opérateur(o) ou de fax"
- "(fax)."
-
- #: cfg_phone_ext.py:43 ../cfg_phone_ext.py:48
-@@ -1520,44 +1521,44 @@
-
- #: cfg_phone_ext.py:47 ../cfg_phone_ext.py:52
- msgid "Real phone to ring"
--msgstr "Téléphone réel à appeler"
-+msgstr "Téléphone réel à appeler"
-
- #: cfg_phone_iax.py:27 ../cfg_phone_iax.py:27
- msgid "Normal IAX phone"
--msgstr "Téléphone IAX normal"
-+msgstr "Téléphone IAX normal"
-
- #: cfg_phone_iax.py:28 ../cfg_phone_iax.py:28
- msgid "New IAX phone"
--msgstr "Nouveau téléphone IAX"
-+msgstr "Nouveau téléphone IAX"
-
- #: cfg_phone_iax.py:42 cfg_phone_mgcp.py:42 cfg_phone_sip.py:43
- #: ../cfg_phone_iax.py:47 ../cfg_phone_mgcp.py:47 ../cfg_phone_sip.py:48
- msgid "IP address of phone"
--msgstr "Adresse IP du téléphone"
-+msgstr "Adresse IP du téléphone"
-
- #: cfg_phone_iax.py:52 cfg_phone_mgcp.py:71 cfg_phone_zap.py:59
- #: ../cfg_phone_iax.py:56 ../cfg_phone_mgcp.py:76 ../cfg_phone_zap.py:63
- msgid "Allow direct dialling from outside?"
--msgstr "Autorise l'appel direct à partir de l'extérieur"
-+msgstr "Autorise l'appel direct à partir de l'extérieur"
-
- #: cfg_phone_iax.py:102 ../cfg_phone_iax.py:106
- msgid "Disable IAX transfer"
--msgstr "Désactive le tranfert IAX"
-+msgstr "Désactive le tranfert IAX"
-
- #: cfg_phone_mgcp.py:26 ../cfg_phone_mgcp.py:26
- msgid "Normal MGCP phone"
--msgstr "Téléphone MGCP normal"
-+msgstr "Téléphone MGCP normal"
-
- #: cfg_phone_mgcp.py:27 ../cfg_phone_mgcp.py:27
- msgid "New MGCP phone"
--msgstr "Nouveau téléphone MGCP"
-+msgstr "Nouveau téléphone MGCP"
-
- #: cfg_phone_mgcp.py:35 ../cfg_phone_mgcp.py:40
- msgid ""
- "If you haven't configured a name for your phone please use the IP address "
- "here."
- msgstr ""
--"Si vous n'avez pas configuré un nom pour votre téléphone, utilisez une "
-+"Si vous n'avez pas configuré un nom pour votre téléphone, utilisez une "
- "adresse IP "
-
- #: cfg_phone_mgcp.py:51 ../cfg_phone_mgcp.py:56
-@@ -1566,11 +1567,11 @@
-
- #: cfg_phone_mgcp.py:56 ../cfg_phone_mgcp.py:61
- msgid "Three way calling"
--msgstr "Appel à trois"
-+msgstr "Appel à trois"
-
- #: cfg_phone_mgcp.py:61 ../cfg_phone_mgcp.py:66
- msgid "Enable Call transfer"
--msgstr "Active le transfère d'appel"
-+msgstr "Active le transfère d'appel"
-
- #: cfg_phone_mgcp.py:66 ../cfg_phone_mgcp.py:71
- msgid "Enable Call forward"
-@@ -1578,7 +1579,7 @@
-
- #: cfg_phone_mgcp.py:115 ../cfg_phone_mgcp.py:120
- msgid "Caller-Id-Number"
--msgstr "Numéro de l'identification de l'appelant"
-+msgstr "Numéro de l'identification de l'appelant"
-
- #: cfg_phone_mgcp.py:119 ../cfg_phone_mgcp.py:124
- msgid "Caller-Id-Name"
-@@ -1603,23 +1604,23 @@
- #: cfg_phone_queue.py:56 ../cfg_phone_queue.py:61
- msgid "Ring all - ring all available channels until one answers"
- msgstr ""
--"Appelle tous - appelle tous les canaux disponibles jusqu'à une réponse"
-+"Appelle tous - appelle tous les canaux disponibles jusqu'à une réponse"
-
- #: cfg_phone_queue.py:57 ../cfg_phone_queue.py:62
- msgid "Round robin - take turns ringing each available interface"
--msgstr "Caroussel - fait sonner chaque interface disponible à son tour"
-+msgstr "Caroussel - fait sonner chaque interface disponible à son tour"
-
- #: cfg_phone_queue.py:58 ../cfg_phone_queue.py:63
- msgid ""
- "Least recent - ring interface which was least recently called by this queue"
- msgstr ""
--"Le moins récent - fait sonner l'interface qui a été le moins récement "
--"appelée dans cette file"
-+"Le moins récent - fait sonner l'interface qui a été le moins récement "
-+"appelée dans cette file"
-
- #: cfg_phone_queue.py:59 ../cfg_phone_queue.py:64
- msgid "Fewest calls - ring the one with fewest completed calls from this queue"
- msgstr ""
--"Le moins d'appels - fait sonner celle avec le moins d'appel complétés sur "
-+"Le moins d'appels - fait sonner celle avec le moins d'appel complétés sur "
- "cette file"
-
- #: cfg_phone_queue.py:60 ../cfg_phone_queue.py:65
-@@ -1629,13 +1630,13 @@
- #: cfg_phone_queue.py:61 ../cfg_phone_queue.py:66
- msgid "Round robin with memory - remember where we left off last ring pass"
- msgstr ""
--"Caroussel avec mémoire - se souvient qui a laissé passer lors du dernier "
-+"Caroussel avec mémoire - se souvient qui a laissé passer lors du dernier "
- "passage"
-
- #: cfg_phone_queue.py:65 ../cfg_phone_queue.py:70 ../cfg_phone_hunt.py:36
- msgid "How long to wait before trying all the members again?"
- msgstr ""
--"Combien de temps faut-il attendre avant de réessayer tous les membre de "
-+"Combien de temps faut-il attendre avant de réessayer tous les membre de "
- "nouveau ?"
-
- #: cfg_phone_queue.py:70 ../cfg_phone_queue.py:75
-@@ -1644,18 +1645,18 @@
-
- #: cfg_phone_queue.py:75 ../cfg_phone_queue.py:80
- msgid "Announce queue position to caller?"
--msgstr "Annonce la position dans la file à l'appelant ?"
-+msgstr "Annonce la position dans la file à l'appelant ?"
-
- #: cfg_phone_queue.py:79 ../cfg_phone_queue.py:84
- msgid ""
- "How often to announce queue position and/or estimated holdtime to caller"
- msgstr ""
- "Combien de fois annoncer la position dans la liste et/ou le temps d'attente "
--"estimé à l'appelant"
-+"estimé à l'appelant"
-
- #: cfg_phone_queue.py:84 ../cfg_phone_queue.py:89
- msgid "Include estimated hold time in position announcements?"
--msgstr "Inclure le temps estimé d'attente dans les annonces de position"
-+msgstr "Inclure le temps estimé d'attente dans les annonces de position"
-
- #: cfg_phone_queue.py:86 ../cfg_phone_queue.py:91
- msgid "Yes"
-@@ -1675,7 +1676,7 @@
-
- #: cfg_phone_queue.py:97 ../cfg_phone_queue.py:102
- msgid "Monitor answered calls?"
--msgstr "Surveillance des appels répondus ?"
-+msgstr "Surveillance des appels répondus ?"
-
- #: cfg_phone_queue.py:101 ../cfg_phone_queue.py:106
- msgid "Monitor file format"
-@@ -1711,32 +1712,32 @@
-
- #: cfg_phone_queue.py:157 ../cfg_phone_queue.py:149
- msgid "You should select a frequency"
--msgstr "Vous devriez sélectionner une fréquence"
-+msgstr "Vous devriez sélectionner une fréquence"
-
- #: cfg_phone_sip.py:27 ../cfg_phone_sip.py:27
- msgid "Normal SIP phone"
--msgstr "Téléphone SIP normal"
-+msgstr "Téléphone SIP normal"
-
- #: cfg_phone_sip.py:28 ../cfg_phone_sip.py:28
- msgid "New SIP phone"
--msgstr "Nouveau téléphone SIP normal"
-+msgstr "Nouveau téléphone SIP normal"
-
- #: cfg_phone_sip.py:123 ../cfg_phone_sip.py:127
- msgid "Voicemail email"
--msgstr "E-mail de boite à message"
-+msgstr "E-mail de boite à message"
-
- #: cfg_phone_zap.py:27 ../cfg_phone_zap.py:27
- msgid "Normal ZAP phone"
--msgstr "Téléphone ZAP normal"
-+msgstr "Téléphone ZAP normal"
-
- #: cfg_phone_zap.py:28 ../cfg_phone_zap.py:28
- msgid "New ZAP phone"
--msgstr "Nouveau téléphone ZAP"
-+msgstr "Nouveau téléphone ZAP"
-
- #: cfg_phone_zap.py:38 cfg_trunk_zappbx.py:34 cfg_trunk_zap.py:33
- #: ../cfg_phone_zap.py:43 ../cfg_trunk_zappbx.py:34 ../cfg_trunk_zap.py:33
- msgid "Zaptel channel number"
--msgstr "Numéro du canal Zaptel"
-+msgstr "Numéro du canal Zaptel"
-
- #: cfg_phone_zap.py:43 cfg_trunk_zappbx.py:35 cfg_trunk_zappri.py:35
- #: cfg_trunk_zap.py:34 ../cfg_phone_zap.py:48 ../cfg_trunk_zappbx.py:35
-@@ -1750,7 +1751,7 @@
-
- #: cfg_phone_zap.py:84 ../cfg_phone_zap.py:88
- msgid "Show this phone in the panel"
--msgstr "Affiche ce téléphone sur le paneau"
-+msgstr "Affiche ce téléphone sur le paneau"
-
- #: cfg_trunk_capimsn.py:26 ../cfg_trunk_capimsn.py:26
- msgid "ISDN using CAPI, incoming"
-@@ -1762,17 +1763,17 @@
-
- #: cfg_trunk_capimsn.py:33 ../cfg_trunk_capimsn.py:33
- msgid "Calls from the ISDN network"
--msgstr "Appels du réseau ISDN"
-+msgstr "Appels du réseau ISDN"
-
- #: cfg_trunk_capimsn.py:34 cfg_trunk_capi.py:37 cfg_trunk_zaphfc.py:37
- #: ../cfg_trunk_capimsn.py:34 ../cfg_trunk_capi.py:37
- #: ../cfg_trunk_zaphfc.py:37
- msgid "Subscriber number"
--msgstr "Numéro du souscripteur"
-+msgstr "Numéro du souscripteur"
-
- #: cfg_trunk_capimsn.py:68 ../cfg_trunk_capimsn.py:68
- msgid "MSN already assigned"
--msgstr "MSN déja assigné"
-+msgstr "MSN déja assigné"
-
- #: cfg_trunk_capi.py:29 ../cfg_trunk_capi.py:29
- msgid "ISDN using CAPI, outgoing"
-@@ -1785,12 +1786,12 @@
- #: cfg_trunk_capi.py:36 cfg_trunk_zaphfc.py:36 ../cfg_trunk_capi.py:36
- #: ../cfg_trunk_zaphfc.py:36
- msgid "Calls to the ISDN network"
--msgstr "Appels vers le réseau IDSN"
-+msgstr "Appels vers le réseau IDSN"
-
- #: cfg_trunk_capi.py:38 cfg_trunk_zaphfc.py:38 ../cfg_trunk_capi.py:38
- #: ../cfg_trunk_zaphfc.py:38
- msgid "Outgoing prefix"
--msgstr "Préfixe sortant"
-+msgstr "Préfixe sortant"
-
- #: cfg_trunk_fwdiax.py:26 ../cfg_trunk_fwdiax.py:26
- msgid "VOIP-Provider FreeworldDialup (IAX)"
-@@ -1812,16 +1813,16 @@
- msgstr ""
- "Vous pouvez vous inscire gratuitement sur\n"
- "\t\t\thttp://freeworlddialup.com et recevoir un identifiant via\n"
--"\t\t\tle quel on peut vous appeler. Ces appels sont gratuits également.\n"
-+"\t\t\tle quel on peut vous appeler. Ces appels sont gratuits également.\n"
- "\n"
- "\t\t\tSi vous avez un compte, vous devez activer le support IAX chez FWD "
- "sur\n"
- "\t\t\thttp://www.freeworlddialup.com/advanced/iax pour utiliser celui-ci\n"
--"\t\t\tsur cette ligne de téléphone."
-+"\t\t\tsur cette ligne de téléphone."
-
- #: cfg_trunk_fwdiax.py:41 ../cfg_trunk_fwdiax.py:41
- msgid "FWD number"
--msgstr "Numéro FWD"
-+msgstr "Numéro FWD"
-
- #: cfg_trunk_fwdiax.py:42 ../cfg_trunk_fwdiax.py:42
- msgid "FWD password"
-@@ -1853,12 +1854,12 @@
- msgid ""
- "Used to setup an IAX trunk to another Asterisk server or an IAX termination."
- msgstr ""
--"Utilisé pour configurer un canal IAX vers un autre serveur Asterisk ou un "
--"point d'accès IAX."
-+"Utilisé pour configurer un canal IAX vers un autre serveur Asterisk ou un "
-+"point d'accès IAX."
-
- #: cfg_trunk_iax.py:35 ../cfg_trunk_iax.py:35
- msgid "IAX host"
--msgstr "Hôte IAX"
-+msgstr "Hôte IAX"
-
- #: cfg_trunk_iax.py:36 ../cfg_trunk_iax.py:36
- msgid "Bandwith"
-@@ -1878,7 +1879,7 @@
-
- #: cfg_trunk_iax.py:41 ../cfg_trunk_iax.py:41
- msgid "Authentication Method"
--msgstr "Méthode d'Authentification"
-+msgstr "Méthode d'Authentification"
-
- #: cfg_trunk_iax.py:42 ../cfg_trunk_iax.py:42
- msgid "Plain text"
-@@ -1898,7 +1899,7 @@
-
- #: cfg_trunk_iax.py:44 ../cfg_trunk_iax.py:44
- msgid "Public key from remote server"
--msgstr "Clé publique du serveur distant"
-+msgstr "Clé publique du serveur distant"
-
- #: cfg_trunk_iax.py:44 cfg_trunk_iax.py:45 ../cfg_trunk_iax.py:44
- #: ../cfg_trunk_iax.py:45
-@@ -1907,7 +1908,7 @@
-
- #: cfg_trunk_iax.py:45 ../cfg_trunk_iax.py:45
- msgid "Private local key"
--msgstr "Clé privée locale"
-+msgstr "Clé privée locale"
-
- #: cfg_trunk_iax.py:47 ../cfg_trunk_iax.py:47
- msgid "Enable trunking?"
-@@ -1922,7 +1923,7 @@
- #: ../cfg_trunk_sip.py:50 ../cfg_trunk_zappbx.py:51 ../cfg_trunk_zappri.py:59
- #: ../cfg_trunk_zap.py:48
- msgid "Extension to ring"
--msgstr "Extension à faire sonner"
-+msgstr "Extension à faire sonner"
-
- #: cfg_trunk_iaxtel.py:26 ../cfg_trunk_iaxtel.py:26
- msgid "VOIP-Provider Iaxtel"
-@@ -1939,12 +1940,12 @@
- "\t\t\tpeople can call you. These calls are free of charge, too.'."
- msgstr ""
- "Vous pouvez vous inscire gratuitement sur\n"
--"\t\t\thttp://www.iaxtel.com et recevoir un numéro IAXtel surlequel\n"
--"\t\t\tvous êtes contactable. Ces appels sont gratuits."
-+"\t\t\thttp://www.iaxtel.com et recevoir un numéro IAXtel surlequel\n"
-+"\t\t\tvous êtes contactable. Ces appels sont gratuits."
-
- #: cfg_trunk_iaxtel.py:40 ../cfg_trunk_iaxtel.py:40
- msgid "IAXTEL number"
--msgstr "Numéro IAXTEL"
-+msgstr "Numéro IAXTEL"
-
- #: cfg_trunk_iaxtel.py:41 ../cfg_trunk_iaxtel.py:41
- msgid "IAXTEL password"
-@@ -1969,8 +1970,8 @@
- #: cfg_trunk_sip.py:30 ../cfg_trunk_sip.py:30
- msgid "Used to setup a SIP trunk to a SIP provider or a different SIP server."
- msgstr ""
--"Utilisé pour configurer un canal SIP vers un fournisseur SIP ou un serveur "
--"sip différent."
-+"Utilisé pour configurer un canal SIP vers un fournisseur SIP ou un serveur "
-+"sip différent."
-
- #: cfg_trunk_sip.py:36 ../cfg_trunk_sip.py:36
- msgid "SIP username"
-@@ -1982,11 +1983,11 @@
-
- #: cfg_trunk_sip.py:38 ../cfg_trunk_sip.py:38
- msgid "SIP host"
--msgstr "Hôte SIP"
-+msgstr "Hôte SIP"
-
- #: cfg_trunk_sip.py:39 ../cfg_trunk_sip.py:39
- msgid "Register with remote host?"
--msgstr "S'enregistrer (se faire connaître) de l'hôte distant ?"
-+msgstr "S'enregistrer (se faire connaître) de l'hôte distant ?"
-
- #: cfg_trunk_sip.py:40 ../cfg_trunk_sip.py:40
- msgid "Enable forward address type?"
-@@ -1994,7 +1995,7 @@
-
- #: cfg_trunk_sip.py:41 ../cfg_trunk_sip.py:41
- msgid "Is the trunk behind NAT?"
--msgstr "Le canal est-il derrière un NAT ?"
-+msgstr "Le canal est-il derrière un NAT ?"
-
- #: cfg_trunk_sip.py:42 ../cfg_trunk_sip.py:42
- msgid "Bypass auth for incoming calls?"
-@@ -2032,17 +2033,17 @@
- #: cfg_trunk_zappbx.py:37 cfg_trunk_zappri.py:47 cfg_trunk_zap.py:36
- #: ../cfg_trunk_zappbx.py:37 ../cfg_trunk_zappri.py:47 ../cfg_trunk_zap.py:36
- msgid "Callout group"
--msgstr "Groupe d'appel vers l'extérieur"
-+msgstr "Groupe d'appel vers l'extérieur"
-
- #: cfg_trunk_zappbx.py:42 cfg_trunk_zappri.py:52 cfg_trunk_zap.py:41
- #: ../cfg_trunk_zappbx.py:42 ../cfg_trunk_zappri.py:52 ../cfg_trunk_zap.py:41
- msgid "Reception and Transmission Gains"
--msgstr "Gains de réception et de transmission"
-+msgstr "Gains de réception et de transmission"
-
- #: cfg_trunk_zappbx.py:43 cfg_trunk_zappri.py:53 cfg_trunk_zap.py:42
- #: ../cfg_trunk_zappbx.py:43 ../cfg_trunk_zappri.py:53 ../cfg_trunk_zap.py:42
- msgid "Reception gain"
--msgstr "Gain de réception"
-+msgstr "Gain de réception"
-
- #: cfg_trunk_zappbx.py:43 cfg_trunk_zappbx.py:44 cfg_trunk_zappri.py:53
- #: cfg_trunk_zappri.py:54 cfg_trunk_zap.py:42 cfg_trunk_zap.py:43
-@@ -2059,11 +2060,11 @@
-
- #: cfg_trunk_zappbx.py:46 ../cfg_trunk_zappbx.py:46
- msgid "Outbound prefix"
--msgstr "Préfixe de sortie"
-+msgstr "Préfixe de sortie"
-
- #: cfg_trunk_zappbx.py:46 ../cfg_trunk_zappbx.py:46
- msgid "Used to call through a PBX"
--msgstr "Utilisé pour appelé à travers un PBX"
-+msgstr "Utilisé pour appelé à travers un PBX"
-
- #: cfg_trunk_zappri.py:28 ../cfg_trunk_zappri.py:28
- msgid "Standard ZAP PRI trunk"
-@@ -2075,11 +2076,11 @@
-
- #: cfg_trunk_zappri.py:36 ../cfg_trunk_zappri.py:36
- msgid "PRI signalling, CPE side"
--msgstr "Signalisation PRI, coté CPE"
-+msgstr "Signalisation PRI, coté CPE"
-
- #: cfg_trunk_zappri.py:36 ../cfg_trunk_zappri.py:36
- msgid "PRI signalling, Network side"
--msgstr "Signalisation PRI, coté réseau"
-+msgstr "Signalisation PRI, coté réseau"
-
- #: cfg_trunk_zappri.py:37 ../cfg_trunk_zappri.py:37
- msgid "Switch type"
-@@ -2091,7 +2092,7 @@
-
- #: cfg_trunk_zappri.py:90 ../cfg_trunk_zappri.py:90
- msgid "Group already in use"
--msgstr "Groupe déja utlisé"
-+msgstr "Groupe déja utlisé"
-
- #: cfg_trunk_zap.py:27 ../cfg_trunk_zap.py:27
- msgid "Standard ZAP trunk"
-@@ -2118,7 +2119,7 @@
-
- #: configlets.py:637 ../configlets.py:620 ../configlets.py:624
- msgid "Name already in use"
--msgstr "Le nom est déja utilisé"
-+msgstr "Le nom est déja utilisé"
-
- #: configlets.py:733 configlets.py:1015 ../configlets.py:716
- #: ../configlets.py:1034 ../configlets.py:720 ../configlets.py:1048
-@@ -2133,7 +2134,7 @@
-
- #: configlets.py:785
- msgid "Price for this pattern"
--msgstr "Coût de ce pattern"
-+msgstr "Coût de ce pattern"
-
- #: configlets.py:797 ../configlets.py:780 ../configlets.py:784
- msgid "Password:"
-@@ -2145,7 +2146,7 @@
-
- #: configlets.py:845 ../configlets.py:828 ../configlets.py:832
- msgid "You should select a phone to ring to"
--msgstr "Sélectionner un téléphone à faire sonner"
-+msgstr "Sélectionner un téléphone à faire sonner"
-
- #: language.py:64 language.py:71 ../language.py:67
- msgid "This menu will contain all sorts of administration stuff:"
-@@ -2173,7 +2174,7 @@
-
- #: panelutils.py:124 ../panelutils.py:124
- msgid "Restarting the panel daemon ..."
--msgstr "Redémarrage du démon du panneau..."
-+msgstr "Redémarrage du démon du panneau..."
-
- #: ConfigHelper.ptl:53 ../ConfigHelper.ptl:53
- msgid "E"
-@@ -2215,38 +2216,38 @@
- msgid ""
- "The following configlets depends on this object in a direct or indirect way:"
- msgstr ""
--"L'outil de configuration suivant depend de cet objet de façon directe ou "
-+"L'outil de configuration suivant depend de cet objet de façon directe ou "
- "indirecte :"
-
- #: ConfigHelper.ptl:209 ConfigHelper.ptl:211 ../ConfigHelper.ptl:211
- msgid "Hard Dependencie:"
--msgstr "Dépendance forte:"
-+msgstr "Dépendance forte:"
-
- #: ConfigHelper.ptl:212 ConfigHelper.ptl:214 ../ConfigHelper.ptl:214
- msgid "Soft Dependencie:"
--msgstr "Dépendance faible"
-+msgstr "Dépendance faible"
-
- #: ConfigHelper.ptl:229 ConfigHelper.ptl:231 ../ConfigHelper.ptl:233
- msgid ""
- "Hard dependencie: The dependent object can not exist if this object is "
- "deleted"
- msgstr ""
--"Dépendance forte : L'objet dépendant ne peut pas si l'objet est supprimé"
-+"Dépendance forte : L'objet dépendant ne peut pas si l'objet est supprimé"
-
- #: ConfigHelper.ptl:233 ConfigHelper.ptl:235 ../ConfigHelper.ptl:237
- msgid ""
- "Soft dependencie. The dependent object still can exist if this object is "
- "deleted"
- msgstr ""
--"Dépendance faible : l'objet dépendant peut encore exister si cette objet "
--"est supprimé"
-+"Dépendance faible : l'objet dépendant peut encore exister si cette objet "
-+"est supprimé"
-
- #: ConfigHelper.ptl:277 ConfigHelper.ptl:298 ConfigHelper.ptl:305
- #: ConfigHelper.ptl:279 ConfigHelper.ptl:300 ConfigHelper.ptl:307
- #: ../ConfigHelper.ptl:281 ../ConfigHelper.ptl:302 ../ConfigHelper.ptl:309
- #, python-format
- msgid "Required '%s' not found"
--msgstr "'%s' requis non trouvé"
-+msgstr "'%s' requis non trouvé"
-
- #: ConfigHelper.ptl:320 page_admin_callsstats.ptl:69
- #: page_admin_dialoutsstats.ptl:85 page_admin_phonestats.ptl:83
-@@ -2262,7 +2263,7 @@
-
- #: ConfigHelper.ptl:323 ConfigHelper.ptl:325 ../ConfigHelper.ptl:327
- msgid "Update"
--msgstr "Mise à jour"
-+msgstr "Mise à jour"
-
- #: ConfigHelper.ptl:324 ConfigHelper.ptl:326 ../ConfigHelper.ptl:328
- msgid "Delete"
-@@ -2282,7 +2283,7 @@
- #: page_admin_callsstats.ptl:99 ../page_stats_callsstats.ptl:106
- #: ../page_stats_calls.ptl:106
- msgid "Calls per Hour in a Day"
--msgstr "Appels par heure dans une journée"
-+msgstr "Appels par heure dans une journée"
-
- #: page_admin_callsstats.ptl:99 page_admin_callsstats.ptl:100
- #: page_admin_callsstats.ptl:101 ../page_stats_callsstats.ptl:106
-@@ -2295,7 +2296,7 @@
- #: page_admin_callsstats.ptl:100 ../page_stats_callsstats.ptl:107
- #: ../page_stats_calls.ptl:107
- msgid "Minutes per Hour in a Day"
--msgstr "Minuntes par heure dans une journée"
-+msgstr "Minuntes par heure dans une journée"
-
- #: page_admin_callsstats.ptl:100 page_admin_callsstats.ptl:132
- #: page_admin_callsstats.ptl:165 page_admin_callsstats.ptl:166
-@@ -2312,7 +2313,7 @@
- #: page_admin_callsstats.ptl:101 ../page_stats_callsstats.ptl:108
- #: ../page_stats_calls.ptl:108
- msgid "Cost per Hour in a Day"
--msgstr "Coût par heure dans une journée"
-+msgstr "Coût par heure dans une journée"
-
- #: page_admin_callsstats.ptl:101 page_admin_callsstats.ptl:133
- #: page_admin_callsstats.ptl:195 StatsHelper.ptl:113
-@@ -2321,7 +2322,7 @@
- #: ../page_stats_calls.ptl:108 ../page_stats_calls.ptl:142
- #: ../page_stats_calls.ptl:212
- msgid "Cost"
--msgstr "Coût"
-+msgstr "Coût"
-
- #: page_admin_callsstats.ptl:130 ../page_stats_callsstats.ptl:140
- #: ../page_stats_calls.ptl:139
-@@ -2349,7 +2350,7 @@
- #: page_admin_callsstats.ptl:133 ../page_stats_callsstats.ptl:143
- #: ../page_stats_calls.ptl:142
- msgid "Cost per Day in a Month"
--msgstr "Coût par jour dans un mois"
-+msgstr "Coût par jour dans un mois"
-
- #: page_admin_callsstats.ptl:162 ../page_stats_callsstats.ptl:175
- #: ../page_stats_calls.ptl:177
-@@ -2359,7 +2360,7 @@
- #: page_admin_callsstats.ptl:164 ../page_stats_callsstats.ptl:177
- #: ../page_stats_calls.ptl:179
- msgid "Calls per Month in a Year"
--msgstr "Appels par mois dans une année"
-+msgstr "Appels par mois dans une année"
-
- #: page_admin_callsstats.ptl:164 page_admin_callsstats.ptl:165
- #: page_admin_callsstats.ptl:166 ../page_stats_callsstats.ptl:177
-@@ -2372,17 +2373,17 @@
- #: page_admin_callsstats.ptl:165 ../page_stats_callsstats.ptl:178
- #: ../page_stats_calls.ptl:180
- msgid "Minutes per Month in a Year"
--msgstr "Minutes par mois dans une année"
-+msgstr "Minutes par mois dans une année"
-
- #: page_admin_callsstats.ptl:166 ../page_stats_callsstats.ptl:179
- #: ../page_stats_calls.ptl:181
- msgid "Cost per Month in a Year"
--msgstr "Coût par mois dans une année"
-+msgstr "Coût par mois dans une année"
-
- #: page_admin_callsstats.ptl:192 ../page_stats_callsstats.ptl:210
- #: ../page_stats_calls.ptl:209
- msgid "Year"
--msgstr "Année"
-+msgstr "Année"
-
- #: page_admin_callsstats.ptl:193 ../page_stats_callsstats.ptl:211
- #: ../page_stats_calls.ptl:210
-@@ -2405,7 +2406,7 @@
- #: page_admin_callsstats.ptl:195 ../page_stats_callsstats.ptl:213
- #: ../page_stats_calls.ptl:212
- msgid "cost per Year"
--msgstr "coût par an"
-+msgstr "coût par an"
-
- #: page_admin_callsstats.ptl:198 page_admin_cdr.ptl:109 StatsHelper.ptl:95
- #: ../page_owner_cdr.ptl:108 ../page_stats_callsstats.ptl:216
-@@ -2417,7 +2418,7 @@
- #: page_admin_callsstats.ptl:209 ../page_stats_callsstats.ptl:227
- #: ../page_stats_calls.ptl:226
- msgid "Sorry, this kind of query is not supported yet"
--msgstr "Désolé, ce type de requête n'est pas encore supporté"
-+msgstr "Désolé, ce type de requête n'est pas encore supporté"
-
- #: page_admin_callsstats.ptl:213 ../page_stats_callsstats.ptl:231
- #: ../page_stats_calls.ptl:230
-@@ -2431,7 +2432,7 @@
- #: ../page_stats_calls.ptl:235 ../page_stats_dialouts.ptl:176
- #: ../page_stats_phone.ptl:183 ../page_stats_trunks.ptl:190
- msgid "Results"
--msgstr "Résultat"
-+msgstr "Résultat"
-
- #: page_admin_callsstats.ptl:226 page_admin_dialoutsstats.ptl:178
- #: page_admin_trunksstats.ptl:177 ../page_stats_callsstats.ptl:244
-@@ -2446,11 +2447,11 @@
-
- #: page_admin_cdr.ptl:38 ../page_stats_cdr.ptl:38
- msgid "Call Details"
--msgstr "Détail des appels"
-+msgstr "Détail des appels"
-
- #: page_admin_cdr.ptl:39 ../page_owner_cdr.ptl:39 ../page_stats_cdr.ptl:39
- msgid "Get statistics about made and received calls"
--msgstr "Statistiques des appels effectués et reçus"
-+msgstr "Statistiques des appels effectués et reçus"
-
- #: page_admin_cdr.ptl:74 ../page_owner_cdr.ptl:73 ../page_stats_cdr.ptl:74
- #: ../page_owner_cdr.ptl:74 ../page_stats_cdr.ptl:75
-@@ -2460,7 +2461,7 @@
- #: page_admin_cdr.ptl:75 ../page_owner_cdr.ptl:74 ../page_stats_cdr.ptl:75
- #: ../page_owner_cdr.ptl:75 ../page_stats_cdr.ptl:76
- msgid "Previous"
--msgstr "Précédent"
-+msgstr "Précédent"
-
- #: page_admin_cdr.ptl:86 ../page_owner_cdr.ptl:85 ../page_stats_cdr.ptl:86
- #: ../page_owner_cdr.ptl:86 ../page_stats_cdr.ptl:87
-@@ -2482,7 +2483,7 @@
- #: ../page_stats_cdr.ptl:118 ../StatsHelper.ptl:102 ../page_owner_cdr.ptl:118
- #: ../page_stats_cdr.ptl:119
- msgid "February"
--msgstr "Février"
-+msgstr "Février"
-
- #: page_admin_cdr.ptl:118 StatsHelper.ptl:102 ../page_owner_cdr.ptl:117
- #: ../page_stats_cdr.ptl:118 ../StatsHelper.ptl:102 ../page_owner_cdr.ptl:118
-@@ -2518,7 +2519,7 @@
- #: ../page_stats_cdr.ptl:118 ../StatsHelper.ptl:103 ../page_owner_cdr.ptl:118
- #: ../page_stats_cdr.ptl:119
- msgid "August"
--msgstr "Août"
-+msgstr "Août"
-
- #: page_admin_cdr.ptl:118 StatsHelper.ptl:104 ../page_owner_cdr.ptl:117
- #: ../page_stats_cdr.ptl:118 ../StatsHelper.ptl:104 ../page_owner_cdr.ptl:118
-@@ -2542,7 +2543,7 @@
- #: ../page_stats_cdr.ptl:118 ../StatsHelper.ptl:104 ../page_owner_cdr.ptl:118
- #: ../page_stats_cdr.ptl:119
- msgid "December"
--msgstr "Décembre"
-+msgstr "Décembre"
-
- #: page_admin_cdr.ptl:140 ../page_owner_cdr.ptl:139 ../page_stats_cdr.ptl:141
- #: ../page_owner_cdr.ptl:140 ../page_stats_cdr.ptl:142
-@@ -2558,8 +2559,8 @@
- "Wildcards: % is the 'zero or more characters' wildcard, and _ is the "
- "'exactly one character' wildcard"
- msgstr ""
--"Le caractère: % représente 'zéro ou plusieurs caractères' et _ "
--"représente 'exactement un caractère'"
-+"Le caractère: % représente 'zéro ou plusieurs caractères' et _ représente "
-+"'exactement un caractère'"
-
- #: page_admin_cdr.ptl:141 page_admin_phonestats.ptl:43 page_user_state.ptl:100
- #: ../page_owner_cdr.ptl:140 ../page_stats_cdr.ptl:142
-@@ -2577,7 +2578,7 @@
- #: page_admin_cdr.ptl:142 ../page_owner_cdr.ptl:141 ../page_stats_cdr.ptl:143
- #: ../page_owner_cdr.ptl:142 ../page_stats_cdr.ptl:144
- msgid "You can use the same wildcards as above"
--msgstr "Vous pouvez utiliser les mêmes caractères de matching que ci-dessus"
-+msgstr "Vous pouvez utiliser les mêmes caractères de matching que ci-dessus"
-
- #: page_admin_cdr.ptl:143 page_admin_cdr.ptl:291 ../page_owner_cdr.ptl:142
- #: ../page_owner_cdr.ptl:278 ../page_stats_cdr.ptl:144
-@@ -2585,7 +2586,7 @@
- #: ../page_owner_cdr.ptl:283 ../page_stats_cdr.ptl:145
- #: ../page_stats_cdr.ptl:285
- msgid "Duration"
--msgstr "Durée"
-+msgstr "Durée"
-
- #: page_admin_cdr.ptl:144 ../page_owner_cdr.ptl:143 ../page_stats_cdr.ptl:145
- #: ../page_owner_cdr.ptl:144 ../page_stats_cdr.ptl:146
-@@ -2595,7 +2596,7 @@
- #: page_admin_cdr.ptl:145 ../page_owner_cdr.ptl:144 ../page_stats_cdr.ptl:146
- #: ../page_owner_cdr.ptl:145 ../page_stats_cdr.ptl:147
- msgid "Number of records to show:"
--msgstr "Nombre d'enregistrements affichés :"
-+msgstr "Nombre d'enregistrements affichés :"
-
- #: page_admin_cdr.ptl:146 ../page_owner_cdr.ptl:145 ../page_stats_cdr.ptl:147
- #: ../page_owner_cdr.ptl:146 ../page_stats_cdr.ptl:148
-@@ -2605,7 +2606,7 @@
- #: page_admin_cdr.ptl:147 ../page_owner_cdr.ptl:146 ../page_stats_cdr.ptl:148
- #: ../page_owner_cdr.ptl:147 ../page_stats_cdr.ptl:149
- msgid " Start:"
--msgstr " Début :"
-+msgstr " Début :"
-
- #: page_admin_cdr.ptl:150 ../page_owner_cdr.ptl:149 ../page_stats_cdr.ptl:151
- #: ../page_owner_cdr.ptl:150 ../page_stats_cdr.ptl:152
-@@ -2625,44 +2626,44 @@
- #: page_admin_cdr.ptl:265 ../page_owner_cdr.ptl:265 ../page_stats_cdr.ptl:268
- #: ../page_owner_cdr.ptl:266 ../page_stats_cdr.ptl:269
- msgid "Desc. Order"
--msgstr "Ordre décroissant"
-+msgstr "Ordre décroissant"
-
- #: page_admin_cdr.ptl:270
- msgid "Duration of Call"
--msgstr "Durée d'appel"
-+msgstr "Durée d'appel"
-
- #: page_admin_cdr.ptl:273
- msgid "Cost of call"
--msgstr "Coût de l'appel"
-+msgstr "Coût de l'appel"
-
- #: page_admin_cdr.ptl:281 page_admin_cdr.ptl:283 page_admin_cdr.ptl:285
- #: page_admin_cdr.ptl:287
- msgid "Result"
--msgstr "Résultat"
-+msgstr "Résultat"
-
- #: page_admin_cdr.ptl:282 StatsHelper.ptl:160 ../StatsHelper.ptl:160
- msgid "Answered"
--msgstr "Réponse"
-+msgstr "Réponse"
-
- #: page_admin_cdr.ptl:284
- msgid "Not answered"
--msgstr "Pas répondu"
-+msgstr "Pas répondu"
-
- #: page_admin_cdr.ptl:286 StatsHelper.ptl:162 ../StatsHelper.ptl:162
- msgid "Busy"
--msgstr "Occupé"
-+msgstr "Occupé"
-
- #: page_admin_cdr.ptl:288 StatsHelper.ptl:163 ../StatsHelper.ptl:163
- msgid "Failed"
--msgstr "Echoué"
-+msgstr "Echoué"
-
- #: page_admin_cdr.ptl:289
- msgid "start"
--msgstr "début"
-+msgstr "début"
-
- #: page_admin_cdr.ptl:294
- msgid "Cost_per_Minute"
--msgstr "Coût_par_Minute"
-+msgstr "Coût_par_Minute"
-
- #: page_admin_cdr.ptl:321 page_admin_cdr.ptl:323 ../page_owner_cdr.ptl:293
- #: ../page_owner_cdr.ptl:295 ../page_stats_cdr.ptl:296
-@@ -2671,18 +2672,18 @@
- #: ../page_stats_cdr.ptl:302
- #, python-format
- msgid "Showing records from %s to %s of %s <br /><br />"
--msgstr "Affiche les enregistrements de %s à %s de %s <br /><br />"
-+msgstr "Affiche les enregistrements de %s à %s de %s <br /><br />"
-
- #: page_admin_cdr.ptl:325 ../page_owner_cdr.ptl:297 ../page_stats_cdr.ptl:300
- #: ../page_owner_cdr.ptl:302 ../page_stats_cdr.ptl:304
- #, python-format
- msgid "Total Duration of shown calls: %s min."
--msgstr "Durée totale des appels affichés : %s min."
-+msgstr "Durée totale des appels affichés : %s min."
-
- #: page_admin_cdr.ptl:329
- #, python-format
- msgid "Total Cost of shown calls: %s"
--msgstr "Coût total des appels affichés : %s"
-+msgstr "Coût total des appels affichés : %s"
-
- #: page_admin_dialoutsstats.ptl:35 ../page_stats_dialouts.ptl:35
- #: ../page_stats_dialouts.ptl:34
-@@ -2692,7 +2693,7 @@
- #: page_admin_dialoutsstats.ptl:36 ../page_stats_dialouts.ptl:36
- #: ../page_stats_dialouts.ptl:35
- msgid "Statistics for Dialout Entries"
--msgstr "Statistiques des entrées d'appels sortants"
-+msgstr "Statistiques des entrées d'appels sortants"
-
- #: page_admin_dialoutsstats.ptl:48 page_admin_phonestats.ptl:46
- #: page_admin_trunksstats.ptl:47 ../page_stats_dialouts.ptl:51
-@@ -2722,7 +2723,7 @@
- #: page_admin_dialoutsstats.ptl:156 page_admin_phonestats.ptl:154
- #: ../page_stats_dialouts.ptl:159 ../page_stats_phone.ptl:157
- msgid "Incomming Calls per Dialout Entry"
--msgstr "Appels entrants par entrée d'appels sortants"
-+msgstr "Appels entrants par entrée d'appels sortants"
-
- #: page_admin_dialoutsstats.ptl:157 page_admin_dialoutsstats.ptl:159
- #: page_admin_phonestats.ptl:155 page_admin_phonestats.ptl:157
-@@ -2736,12 +2737,12 @@
- #: ../page_stats_dialouts.ptl:161 ../page_stats_phone.ptl:159
- #: ../page_stats_dialouts.ptl:167 ../page_stats_phone.ptl:174
- msgid "Outgoing Calls per Dialout Entry"
--msgstr "Appels sortants par entrée d'appels sortants"
-+msgstr "Appels sortants par entrée d'appels sortants"
-
- #: page_admin_dialoutsstats.ptl:165 ../page_stats_dialouts.ptl:168
- #: ../page_stats_dialouts.ptl:171 ../page_stats_phone.ptl:178
- msgid "Statistics of Calls by Dialout Entry:"
--msgstr "Statistiques des appels par entrée d'appels sortants :"
-+msgstr "Statistiques des appels par entrée d'appels sortants :"
-
- #: page_admin_panel.ptl:28 ../page_admin_panel.ptl:28
- msgid "Asternic Flash Operator Panel"
-@@ -2749,11 +2750,11 @@
-
- #: page_admin_panel.ptl:43 ../page_admin_panel.ptl:43
- msgid "You don't have a panel configured yet"
--msgstr "Vous n'avez pas encore configuré le panneau"
-+msgstr "Vous n'avez pas encore configuré le panneau"
-
- #: page_admin_panel.ptl:47 ../page_admin_panel.ptl:47
- msgid "You have a panel configured "
--msgstr "Vous avez un panneau configuré"
-+msgstr "Vous avez un panneau configuré"
-
- #: page_admin_panel.ptl:49 ../page_admin_panel.ptl:49
- msgid "here"
-@@ -2773,7 +2774,7 @@
- #: ../page_admin_reload.ptl:44 ../page_user_quickdiallist.ptl:76
- #: ../page_user_settings.ptl:105 ../page_user_state.ptl:138
- msgid "Asterisk is not running!"
--msgstr "Asterisk n'est pas lancé"
-+msgstr "Asterisk n'est pas lancé"
-
- #: page_admin_pbxstate.ptl:85 page_config_reload.ptl:49
- #: page_user_quickdiallist.ptl:81 page_user_settings.ptl:110
-@@ -2781,7 +2782,7 @@
- #: ../page_admin_reload.ptl:49 ../page_user_quickdiallist.ptl:81
- #: ../page_user_settings.ptl:110 ../page_user_state.ptl:143
- msgid "The manager access is not working!"
--msgstr "L'accès de gestion ne fonctionne pas"
-+msgstr "L'accès de gestion ne fonctionne pas"
-
- #: page_admin_phonestats.ptl:30 ../page_stats_phone.ptl:30
- #: ../page_stats_phone.ptl:34
-@@ -2795,7 +2796,7 @@
-
- #: page_admin_phonestats.ptl:163 ../page_stats_phone.ptl:166
- msgid "Statistics of Extension Calls by Dialout Entry:"
--msgstr "Statistiques des appels d'extension par entrée d'appel sortant"
-+msgstr "Statistiques des appels d'extension par entrée d'appel sortant"
-
- #: page_admin.ptl:25 ../page_admin.ptl:25
- msgid "Administration"
-@@ -2844,7 +2845,7 @@
-
- #: page_config_applications.ptl:27 ../page_config_applications.ptl:27
- msgid "Special Asterisk Applications"
--msgstr "Application spécial d'Asterisk"
-+msgstr "Application spécial d'Asterisk"
-
- #: page_config_backup.ptl:27 ../page_admin_backup.ptl:27
- msgid "Backup a config file"
-@@ -2853,7 +2854,7 @@
- #: page_config_backup.ptl:44 ../page_admin_backup.ptl:44
- #, python-format
- msgid "I had a problem backing up %s"
--msgstr "Problème de sauvegarde de %s"
-+msgstr "Problème de sauvegarde de %s"
-
- #: page_config_dialout.ptl:27 ../page_config_dialout.ptl:27
- msgid "Dialout"
-@@ -2861,17 +2862,17 @@
-
- #: page_config_dialout.ptl:28 ../page_config_dialout.ptl:28
- msgid "Dialout entries for outgoing calls"
--msgstr "Entrée d'appel sortant pour les appels extérieurs"
-+msgstr "Entrée d'appel sortant pour les appels extérieurs"
-
- #: page_config_down.ptl:26 ../page_config_down.ptl:26
- msgid "Moves a configlet one position down"
--msgstr "Déplace un outils de configuration une position en-dessous"
-+msgstr "Déplace un outils de configuration une position en-dessous"
-
- #: page_config_down.ptl:41 page_config_up.ptl:41 ../page_config_down.ptl:41
- #: ../page_config_up.ptl:41
- #, python-format
- msgid "Could not swap id's %s and %s"
--msgstr "Ne paut pas échanger %s et %s"
-+msgstr "Ne paut pas échanger %s et %s"
-
- #: page_config_edit.ptl:27 ../page_config_edit.ptl:27
- msgid "Edit a configlet"
-@@ -2892,16 +2893,16 @@
-
- #: page_config_options.ptl:27 ../page_config_options.ptl:27
- msgid "DeStar and Asterisk options and parameters"
--msgstr "DeStar et Asterisk options et paramètres"
-+msgstr "DeStar et Asterisk options et paramètres"
-
- #: page_config_phones.ptl:26 page_config.ptl:86 ../page_config_phones.ptl:26
- #: ../page_config.ptl:86
- msgid "Phones"
--msgstr "Téléphones"
-+msgstr "Téléphones"
-
- #: page_config_phones.ptl:27 ../page_config_phones.ptl:27
- msgid "Phones and their settings"
--msgstr "Téléphones et leurs paramètres"
-+msgstr "Téléphones et leurs paramètres"
-
- #: page_config.ptl:26 page_config.ptl:68 page_config.ptl:80 page_config.ptl:86
- #: page_config.ptl:92 ../page_config.ptl:26 ../page_config.ptl:68
-@@ -2922,7 +2923,7 @@
- "You should create a user with type 'Configurator'. Without this user, "
- "everyone connecting to DeStar can configure everything."
- msgstr ""
--"Vous devez créer un utilisateur de type 'Configurateur'. Sans cet "
-+"Vous devez créer un utilisateur de type 'Configurateur'. Sans cet "
- "utilisateur, tout le monde se connectant sur DeStar peut modifier tout."
-
- #: page_config.ptl:72 ../page_config.ptl:72
-@@ -2932,25 +2933,25 @@
- "ability to modify the configuration files DeStar would be pretty useless. "
- "You should 'chmod g+rwx' this directory and set it's group to one of '%s'."
- msgstr ""
--"Vous devez authoriser l'accès en écriture au répertoire /etc/asterisk. "
--"Sans cette possibilité de modification des fichiers de configuration DeStar "
--"est inutilisable. Vous devez 'chmod g+rwx' ce répertoire et mettre son "
--"groupe à un de '%s'."
-+"Vous devez authoriser l'accès en écriture au répertoire /etc/asterisk. Sans "
-+"cette possibilité de modification des fichiers de configuration DeStar est "
-+"inutilisable. Vous devez 'chmod g+rwx' ce répertoire et mettre son groupe à "
-+"un de '%s'."
-
- #: page_config.ptl:78 ../page_config.ptl:78
- msgid ""
- "You should create a management API entry. Without this entry, DeStar can't "
- "control the Asterisk PBX software."
- msgstr ""
--"Vous devez créer une entrée API de gestion. Sans cette entrée, DeStar ne "
--"peut pas contrôler le logiciel de PBX Asterisk."
-+"Vous devez créer une entrée API de gestion. Sans cette entrée, DeStar ne "
-+"peut pas contrôler le logiciel de PBX Asterisk."
-
- #: page_config.ptl:84 ../page_config.ptl:84
- msgid ""
- "You should create a phone. Without defined phones you can't make and receive "
- "calls."
- msgstr ""
--"Vous devez créer un téléphone. Sans téléphones définis vous ne pouvez "
-+"Vous devez créer un téléphone. Sans téléphones définis vous ne pouvez "
- "pas effecuer et recevoir des appels."
-
- #: page_config.ptl:90 ../page_config.ptl:90
-@@ -2958,9 +2959,9 @@
- "You should create a trunk (connection to a Phone company or VOIP Provider). "
- "Without a trunk you can only make calls between local phones."
- msgstr ""
--"Vous devriez créer un canal (connection vers une compagnie de téléphone "
-+"Vous devriez créer un canal (connection vers une compagnie de téléphone "
- "ou un fournisseur VOIP). Sans un canl vous pouvez seulement effectuer des "
--"appels entre téléphones locaux."
-+"appels entre téléphones locaux."
-
- #: page_config.ptl:92 page_config_trunks.ptl:26 ../page_config.ptl:92
- #: ../page_config_trunks.ptl:26
-@@ -2975,10 +2976,10 @@
- "cards, ZapHFC ISDN cards, etc. You should 'chmod g+rw' this file and set "
- "it's group to one of '%s'."
- msgstr ""
--"Vous devez autoriser l'écriture sur /etc/zaptel.conf. Sans l'accès à ce "
--"fichier vous ne serez pas à même de configurer les produits Zaptel, entre "
-+"Vous devez autoriser l'écriture sur /etc/zaptel.conf. Sans l'accès à ce "
-+"fichier vous ne serez pas à même de configurer les produits Zaptel, entre "
- "autres cartes FXO/FXS, cartes T1/E1, cartes ZapHFC ISDN, etc. Vous devez "
--"'chmod g+rw' ce fichier et mettre son groupe à un de '%s'."
-+"'chmod g+rw' ce fichier et mettre son groupe à un de '%s'."
-
- #: page_config.ptl:101 ../page_config.ptl:101
- #, python-format
-@@ -2987,17 +2988,17 @@
- "modify the Asternic Flash Operator Panel configuration files DeStar won't be "
- "integrated whit the panel."
- msgstr ""
--"Vous devriez activer l'accès en écriture au répertoire %s. Sans cette "
--"capacité à modifer les fichiers de configuration du panneau Asternic Flash "
--"Operator, celui ne pourra pasêtre intégré au panneau."
-+"Vous devriez activer l'accès en écriture au répertoire %s. Sans cette "
-+"capacité à modifer les fichiers de configuration du panneau Asternic Flash "
-+"Operator, celui ne pourra pasêtre intégré au panneau."
-
- #: page_config.ptl:116 ../page_config.ptl:116
- msgid "Configured"
--msgstr "Configuré"
-+msgstr "Configuré"
-
- #: page_config.ptl:116 ../page_config.ptl:116
- msgid "Category"
--msgstr "Catégorie"
-+msgstr "Catégorie"
-
- #: page_config.ptl:132 ../page_config.ptl:132
- msgid "Other things you can configure:"
-@@ -3013,23 +3014,23 @@
-
- #: page_config_reload.ptl:28 ../page_admin_reload.ptl:28
- msgid "Reload Asterisk/DeStar PBX"
--msgstr "Redémarrer Asterisk/DeStar PBX"
-+msgstr "Redémarrer Asterisk/DeStar PBX"
-
- #: page_config_reload.ptl:53 ../page_admin_reload.ptl:53
- msgid "Doing a reload, result is:"
--msgstr "En train de faire un redémarrage, le résultat est :"
-+msgstr "En train de faire un redémarrage, le résultat est :"
-
- #: page_config_trunks.ptl:27 ../page_config_trunks.ptl:27
- msgid "Telephone company lines and VoIP-Trunks"
--msgstr "Lignes de compagnies de téléphone et canaux VoIP"
-+msgstr "Lignes de compagnies de téléphone et canaux VoIP"
-
- #: page_config_trunks.ptl:46 ../page_config_trunks.ptl:46
- msgid "You should add at least one phone to configure trunks"
--msgstr "Vous devez ajouter au moins un téléphone pour configurer des canaux"
-+msgstr "Vous devez ajouter au moins un téléphone pour configurer des canaux"
-
- #: page_config_up.ptl:26 ../page_config_up.ptl:26
- msgid "Moves a configlet one position up"
--msgstr "Déplace un outil de configuration une position au dessus"
-+msgstr "Déplace un outil de configuration une position au dessus"
-
- #: page_config_users.ptl:26 ../page_config_users.ptl:26
- msgid "Users"
-@@ -3037,7 +3038,7 @@
-
- #: page_config_users.ptl:27 ../page_config_users.ptl:27
- msgid "Users and Mailboxes"
--msgstr "Utilisateurs et boites à messages"
-+msgstr "Utilisateurs et boites à messages"
-
- #: page_config_viewconf.ptl:29 ../page_admin_viewconf.ptl:29
- msgid "View Configuration"
-@@ -3057,20 +3058,20 @@
-
- #: page_config_viewconf.ptl:101 ../page_admin_viewconf.ptl:101
- msgid "Nothing to Show"
--msgstr "Rien à afficher"
-+msgstr "Rien à afficher"
-
- #: page_config_viewconf.ptl:103 ../page_admin_viewconf.ptl:103
- msgid "There is nothing configured yet."
--msgstr "Rien n'a encore été configuré"
-+msgstr "Rien n'a encore été configuré"
-
- #: page_debug.ptl:25 ../page_debug.ptl:25
- msgid "Debug"
--msgstr "Débug"
-+msgstr "Débug"
-
- #: page_debug.ptl:26 ../page_debug.ptl:26
- msgid "Various functions to debug DeStar, mostly useful for programmers"
- msgstr ""
--"Diverse fonctions pour débugguer DeStar, la plupart utiles aux développeurs"
-+"Diverse fonctions pour débugguer DeStar, la plupart utiles aux développeurs"
-
- #: page_debug_values.ptl:25 ../page_debug_values.ptl:25
- msgid "Values"
-@@ -3078,7 +3079,7 @@
-
- #: page_debug_values.ptl:26 ../page_debug_values.ptl:26
- msgid "Dumps all values in the HTTP request"
--msgstr "Affiche toutes les valeurs dans une requête HTTP"
-+msgstr "Affiche toutes les valeurs dans une requête HTTP"
-
- #: page_login.ptl:26 ../page_login.ptl:26
- msgid "Login"
-@@ -3090,7 +3091,7 @@
-
- #: page_login.ptl:42 ../page_login.ptl:42
- msgid "User or phone name/number"
--msgstr "Utilisateur ou numéro/nom de téléphone"
-+msgstr "Utilisateur ou numéro/nom de téléphone"
-
- #: page_login.ptl:43 ../page_login.ptl:43
- msgid "Password or PIN"
-@@ -3103,11 +3104,11 @@
- #: page_logout.ptl:25 Templates.ptl:234 ../page_logout.ptl:25
- #: ../Templates.ptl:259 ../Templates.ptl:260
- msgid "Logout"
--msgstr "Se délogguer"
-+msgstr "Se délogguer"
-
- #: page_logout.ptl:26 ../page_logout.ptl:26
- msgid "Logout and become a guest user"
--msgstr "Se délogguer et devenir un utilisateur invité"
-+msgstr "Se délogguer et devenir un utilisateur invité"
-
- #: page_main.ptl:28 ../page_main.ptl:28
- msgid "Main menu"
-@@ -3119,11 +3120,11 @@
-
- #: page_main.ptl:137 ../page_main.ptl:137
- msgid "Access Denied"
--msgstr "Accès refusé"
-+msgstr "Accès refusé"
-
- #: page_main.ptl:139 ../page_main.ptl:139
- msgid "You don't have access to this page."
--msgstr "Vous n'avez pas accès à cette page"
-+msgstr "Vous n'avez pas accès à cette page"
-
- #: page_user_info.ptl:26 ../page_user_info.ptl:26
- msgid "User Info"
-@@ -3131,17 +3132,17 @@
-
- #: page_user_info.ptl:27 ../page_user_info.ptl:27
- msgid "Your access rights in DeStar"
--msgstr "Vos droits d'accès dans DeStar"
-+msgstr "Vos droits d'accès dans DeStar"
-
- #: page_user_info.ptl:43 page_user.ptl:40 ../page_user_info.ptl:43
- #: ../page_user.ptl:40
- msgid "You are now logged in as user"
--msgstr "Vous êtes maintenant loggué comme l'utilisateur"
-+msgstr "Vous êtes maintenant loggué comme l'utilisateur"
-
- #: page_user_info.ptl:48 page_user.ptl:45 ../page_user_info.ptl:48
- #: ../page_user.ptl:45
- msgid "Your access level is "
--msgstr "Votre niveau d'accès est"
-+msgstr "Votre niveau d'accès est"
-
- #: page_user_info.ptl:53 page_user.ptl:50 ../page_user_info.ptl:53
- #: ../page_user.ptl:50
-@@ -3151,12 +3152,12 @@
- #: page_user_info.ptl:56 page_user.ptl:53 ../page_user_info.ptl:56
- #: ../page_user.ptl:53
- msgid "Your account is disabled. "
--msgstr "Votre compte est désactivé"
-+msgstr "Votre compte est désactivé"
-
- #: page_user_info.ptl:58 page_user.ptl:55 ../page_user_info.ptl:58
- #: ../page_user.ptl:55
- msgid "You are not logged in."
--msgstr "Vous n'êtes pas loggués"
-+msgstr "Vous n'êtes pas loggués"
-
- #: page_user_info.ptl:60 page_user.ptl:57 ../page_user_info.ptl:60
- #: ../page_user.ptl:57
-@@ -3165,11 +3166,11 @@
-
- #: page_user_info.ptl:64 ../page_user_info.ptl:64
- msgid "access all public accessible info pages"
--msgstr "accès à toutes les pages d'info publique"
-+msgstr "accès à toutes les pages d'info publique"
-
- #: page_user_info.ptl:68 ../page_user_info.ptl:68
- msgid "change your personal phone settings"
--msgstr "changez votre configuration personnelle de téléphone"
-+msgstr "changez votre configuration personnelle de téléphone"
-
- #: page_user_info.ptl:72 ../page_user_info.ptl:72
- msgid "change phone settings of other people"
-@@ -3181,7 +3182,7 @@
-
- #: page_user_info.ptl:80 ../page_user_info.ptl:80
- msgid "access debug pages to help program DeStar"
--msgstr "accès aux pages de débug pour aider à la programmation de DeStar"
-+msgstr "accès aux pages de débug pour aider à la programmation de DeStar"
-
- #: page_user_info.ptl:83 ../page_user_info.ptl:83
- msgid "Have fun!"
-@@ -3189,19 +3190,19 @@
-
- #: page_user.ptl:26 ../page_user.ptl:26
- msgid "Perform tasks allowed by users"
--msgstr "Effetuer des tâches autorisées par utilisateurs"
-+msgstr "Effetuer des tâches autorisées par utilisateurs"
-
- #: page_user.ptl:61 ../page_user.ptl:61
- msgid "Access all public accessible info pages"
--msgstr "Accès à toutes les pages d'info publiquement accessible"
-+msgstr "Accès à toutes les pages d'info publiquement accessible"
-
- #: page_user.ptl:65 ../page_user.ptl:65
- msgid "Change your personal phone settings"
--msgstr "Changez vos paramètres personnels"
-+msgstr "Changez vos paramètres personnels"
-
- #: page_user.ptl:69 ../page_user.ptl:69
- msgid "Change phone settings of other people"
--msgstr "Changez les paramètres des téléphones d'autres gens"
-+msgstr "Changez les paramètres des téléphones d'autres gens"
-
- #: page_user.ptl:73 ../page_user.ptl:73
- msgid "Configure the PBX"
-@@ -3209,12 +3210,12 @@
-
- #: page_user.ptl:77 ../page_user.ptl:77
- msgid "Access debug pages to help program DeStar"
--msgstr "Accès aux pages de débug pour aider à la programmation de DeStar"
-+msgstr "Accès aux pages de débug pour aider à la programmation de DeStar"
-
- #: page_user_quickdiallist.ptl:28 page_user_quickdiallist.ptl:29
- #: ../page_user_quickdiallist.ptl:28 ../page_user_quickdiallist.ptl:29
- msgid "Quick Dial List"
--msgstr "Liste de numérotation rapide"
-+msgstr "Liste de numérotation rapide"
-
- #: page_user_quickdiallist.ptl:46 ../page_user_quickdiallist.ptl:46
- msgid "Global Shorcuts and Final Destinations"
-@@ -3222,41 +3223,41 @@
-
- #: page_user_quickdiallist.ptl:54 ../page_user_quickdiallist.ptl:54
- msgid "No Global Shorcuts Found on Database"
--msgstr "Pas de raccourcis globaux trouvés dans la base de données"
-+msgstr "Pas de raccourcis globaux trouvés dans la base de données"
-
- #: page_user_quickdiallist.ptl:60 ../page_user_quickdiallist.ptl:60
- msgid "Private Shorcuts and Final Destinations"
--msgstr "Raccourcis privés et destinations finales"
-+msgstr "Raccourcis privés et destinations finales"
-
- #: page_user_quickdiallist.ptl:68 ../page_user_quickdiallist.ptl:68
- msgid "No Private Shorcuts Found on Database"
--msgstr "Pas de raccourcis privés trouvés dans la base de données"
-+msgstr "Pas de raccourcis privés trouvés dans la base de données"
-
- #: page_user_quickdiallist.ptl:88 page_user_settings.ptl:118
- #: page_user_state.ptl:151 ../page_user_quickdiallist.ptl:88
- #: ../page_user_settings.ptl:118 ../page_user_state.ptl:151
- msgid "You don't have an associated phone"
--msgstr "Vous n'avez pas de téléphone associé"
-+msgstr "Vous n'avez pas de téléphone associé"
-
- #: page_user_settings.ptl:27 ../page_user_settings.ptl:27
- msgid "Phone Settings"
--msgstr "Paramètres des téléphones"
-+msgstr "Paramètres des téléphones"
-
- #: page_user_settings.ptl:28 ../page_user_settings.ptl:28
- msgid "Set your phone settings"
--msgstr "Configurez votre téléphone"
-+msgstr "Configurez votre téléphone"
-
- #: page_user_settings.ptl:56 ../page_user_settings.ptl:56
- msgid "Enable 'do not disturb'"
--msgstr "Activer 'Ne pas déranger'"
-+msgstr "Activer 'Ne pas déranger'"
-
- #: page_user_settings.ptl:57 ../page_user_settings.ptl:57
- msgid "Immediate call forwarding to"
--msgstr "Faire suivre l'appel immédiatement à "
-+msgstr "Faire suivre l'appel immédiatement à "
-
- #: page_user_settings.ptl:58 ../page_user_settings.ptl:58
- msgid "Forward call when busy/unavailable to"
--msgstr "Faire suivre l'appel quand occupé/non disponible à "
-+msgstr "Faire suivre l'appel quand occupé/non disponible à "
-
- #: page_user_settings.ptl:59 ../page_user_settings.ptl:59
- msgid "Seconds of incoming ring time"
-@@ -3264,7 +3265,7 @@
-
- #: page_user_settings.ptl:61 ../page_user_settings.ptl:61
- msgid "Voicemail pin"
--msgstr "Pin de boite à message"
-+msgstr "Pin de boite à message"
-
- #: page_user_settings.ptl:64 ../page_user_settings.ptl:64
- msgid "Extension Password"
-@@ -3272,15 +3273,15 @@
-
- #: page_user_settings.ptl:95 ../page_user_settings.ptl:95
- msgid "Could not create destar configuration file."
--msgstr "Impossible de créer le fichier de configuration DeStar."
-+msgstr "Impossible de créer le fichier de configuration DeStar."
-
- #: page_user_state.ptl:27 ../page_user_state.ptl:27
- msgid "Phone State"
--msgstr "Status du téléphone"
-+msgstr "Status du téléphone"
-
- #: page_user_state.ptl:28 ../page_user_state.ptl:28
- msgid "Status of your phone"
--msgstr "Status de votre téléphone"
-+msgstr "Status de votre téléphone"
-
- #: page_user_state.ptl:48 ../page_user_state.ptl:48
- msgid "State"
-@@ -3288,7 +3289,7 @@
-
- #: page_user_state.ptl:57 ../page_user_state.ptl:57
- msgid "Last updated"
--msgstr "Dernière mise à jour"
-+msgstr "Dernière mise à jour"
-
- #: page_user_state.ptl:69 ../page_user_state.ptl:69
- msgid "Registration status"
-@@ -3308,7 +3309,7 @@
-
- #: page_user_state.ptl:81 ../page_user_state.ptl:81
- msgid "Called extension"
--msgstr "Extension appelée"
-+msgstr "Extension appelée"
-
- #: page_user_state.ptl:87 ../page_user_state.ptl:87 ../cfg_opt_music.py:33
- msgid "Application"
-@@ -3344,19 +3345,19 @@
-
- #: StatsHelper.ptl:114 ../StatsHelper.ptl:114
- msgid "Answered Calls"
--msgstr "Appels répondus"
-+msgstr "Appels répondus"
-
- #: StatsHelper.ptl:115 ../StatsHelper.ptl:115
- msgid "Not Answered Calls"
--msgstr "Appels non répondus"
-+msgstr "Appels non répondus"
-
- #: StatsHelper.ptl:116 ../StatsHelper.ptl:116
- msgid "Busy Calls"
--msgstr "Appels occupés"
-+msgstr "Appels occupés"
-
- #: StatsHelper.ptl:117 ../StatsHelper.ptl:117
- msgid "Failed Calls"
--msgstr "Appels ayant échoués"
-+msgstr "Appels ayant échoués"
-
- #: StatsHelper.ptl:158 ../StatsHelper.ptl:158
- msgid "Calls"
-@@ -3364,7 +3365,7 @@
-
- #: StatsHelper.ptl:161 ../StatsHelper.ptl:161
- msgid "Not Answered"
--msgstr "Non répondu"
-+msgstr "Non répondu"
-
- #: Templates.ptl:255 ../Templates.ptl:280 ../Templates.ptl:281
- msgid "Error"
-@@ -3372,7 +3373,7 @@
-
- #: Templates.ptl:263 ../Templates.ptl:288 ../Templates.ptl:289
- msgid "You don't have access to this page"
--msgstr "Vous n'avez pas accès à cette page"
-+msgstr "Vous n'avez pas accès à cette page"
-
- #: destar:98 ../destar:105 ../destar:106
- msgid "Error:"
-@@ -3414,15 +3415,15 @@
-
- #: ../cfg_opt_pbx.py:29
- msgid "You can have several logically separated PBX"
--msgstr "Vous pouvez avoir plusieurs PBX séparés logiquement"
-+msgstr "Vous pouvez avoir plusieurs PBX séparés logiquement"
-
- #: ../cfg_opt_user.py:36
- msgid "Associated Virtual PBX"
--msgstr "PBX virtuel associé"
-+msgstr "PBX virtuel associé"
-
- #: ../configlets.py:768 ../configlets.py:772
- msgid "Price/Account_code for this pattern"
--msgstr "Coût/Code_de_compte pour ce pattern"
-+msgstr "Coût/Code_de_compte pour ce pattern"
-
- #: ../page_admin.ptl:26
- msgid "Perform administrative actions to PBX"
-@@ -3434,22 +3435,22 @@
-
- #: ../page_config_dids.ptl:28
- msgid "Direct Inward Dialing."
--msgstr "Sélection directe à l'arrivée"
-+msgstr "Sélection directe à l'arrivée"
-
- #: ../page_owner_cdr.ptl:38
- msgid "Call Details For Virtual PBX"
--msgstr "Détails d'appel pour le PBX virtuel"
-+msgstr "Détails d'appel pour le PBX virtuel"
-
- #: ../page_owner_cdr.ptl:155 ../page_owner_cdr.ptl:241
- #: ../page_stats_cdr.ptl:157 ../page_stats_cdr.ptl:244
- #: ../page_owner_cdr.ptl:156 ../page_owner_cdr.ptl:242
- #: ../page_stats_cdr.ptl:158 ../page_stats_cdr.ptl:245
- msgid "Time_of_start"
--msgstr "Heure_du_début"
-+msgstr "Heure_du_début"
-
- #: ../page_owner.ptl:25
- msgid "Virtual PBX Owner"
--msgstr "Propriétaire du PBX virtuel"
-+msgstr "Propriétaire du PBX virtuel"
-
- #: ../page_stats_cdr.ptl:140 ../page_stats_cdr.ptl:141
- msgid "PBX"
Deleted: destar/trunk/debian/patches/40_zaptypo.dpatch
===================================================================
--- destar/trunk/debian/patches/40_zaptypo.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/40_zaptypo.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,232 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_zaptypo.dpatch by <root at localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad destar-0.2beta~/cfg_phone_zap.py destar-0.2beta/cfg_phone_zap.py
---- destar-0.2beta~/cfg_phone_zap.py 2006-05-31 05:52:56.000000000 +0000
-+++ destar-0.2beta/cfg_phone_zap.py 2006-06-27 05:33:50.000000000 +0000
-@@ -202,7 +202,7 @@
- self.technology,
- self.channels,
- self.name,
-- int(self.usevm)),
-+ int(self.usevm),
- pbx,
-- ext
-+ ext)
- )
-diff -urNad destar-0.2beta~/cfg_phone_zap.py.orig destar-0.2beta/cfg_phone_zap.py.orig
---- destar-0.2beta~/cfg_phone_zap.py.orig 1970-01-01 00:00:00.000000000 +0000
-+++ destar-0.2beta/cfg_phone_zap.py.orig 2006-05-31 05:52:56.000000000 +0000
-@@ -0,0 +1,208 @@
-+# -*- coding: iso-latin-1 -*-
-+#
-+# Copyright (C) 2005 by Holger Schurig,
-+#
-+# This program 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.
-+#
-+# This program 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 this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#
-+
-+
-+from configlets import *
-+import panelutils
-+
-+
-+class CfgPhoneZap(CfgPhone):
-+
-+ shortName = _("Normal ZAP phone")
-+ newObjectTitle = _("New ZAP phone")
-+ technology = "ZAP"
-+
-+ def createVariables(self):
-+ self.variables = [
-+ VarType("pbx",
-+ title=_("Virtual PBX"),
-+ type="choice",
-+ options=getChoice("CfgOptPBX")),
-+
-+ VarType("name",
-+ title=_("Name"),
-+ len=35),
-+
-+ VarType("channels",
-+ title=_("Zaptel channel number"),
-+ type="string",
-+ len=5),
-+
-+ VarType("sigtype",
-+ title=_("Signalling type"),
-+ type="choice",
-+ options=[('ls','loopstart'),
-+ ('ks', 'kewlstart')]),
-+
-+ VarType("group",
-+ title=_("Group"),
-+ type="int",
-+ optional=True),
-+
-+ VarType("ext",
-+ title=_("Extension"),
-+ len=6),
-+
-+ VarType("did",
-+ title=_("Allow direct dialling from outside?"),
-+ type="bool",
-+ hide=True,
-+ default=False),
-+
-+ VarType("Call Group",
-+ title=_("Call group"),
-+ type="label"),
-+
-+ VarType("enablecallgroup",
-+ title=_("Enable call group"),
-+ type="bool",
-+ optional=False,
-+ default=False),
-+
-+ VarType("callgroup",
-+ title=_("Call group number"),
-+ optional=True),
-+
-+ VarType("panelLab",
-+ title=_("Operator Panel"),
-+ type="label",
-+ hide=True),
-+
-+ VarType("panel",
-+ title=_("Show this phone in the panel"),
-+ type="bool",
-+ hide=True,
-+ optional=True),
-+
-+ VarType("Voicemail",
-+ title=_("Voicemail settings"),
-+ type="label",
-+ len=6),
-+
-+ VarType("usevm",
-+ title=_("Use voicemail"),
-+ type="bool",
-+ optional=True),
-+
-+ VarType("usemwi",
-+ title=_("Signal waiting mail"),
-+ type="bool",
-+ optional=True),
-+
-+ VarType("pin",
-+ title=_("Voicemail PIN"),
-+ optional=True,
-+ len=6),
-+
-+ VarType("Outbound",
-+ title=_("Calls from the phone"),
-+ type="label"),
-+
-+ VarType("calleridnum",
-+ title=_("Caller-Id Number"),
-+ optional=True),
-+
-+ VarType("calleridname",
-+ title=_("Caller-Id Name"),
-+ optional=True),
-+
-+ VarType("Dialout",
-+ title=_("Allowed dialout-entries"),
-+ type="label",
-+ hide=True),
-+
-+ VarType("timeout",
-+ title=_("Enable time restriction?"),
-+ type="bool",
-+ optional=True,
-+ hide=True),]
-+
-+ if varlist_manager.hasDialouts():
-+ self.variables += varlist_manager.getDialouts()
-+ for v in self.variables:
-+ if v.name == "Dialout" or v.name=="timeout":
-+ v.hide = False
-+
-+ queues = len(configlet_tree.getConfigletsByName('CfgPhoneQueue'))
-+ if queues > 0:
-+ for v in self.variables:
-+ if v.name == "QueueLab" or v.name == "queues":
-+ v.hide = False
-+ self.dependencies = [
-+ DepType("pbx",
-+ type="hard",
-+ message = _("This is a Dependency")),
-+ ]
-+ for var in self.__dict__.keys():
-+ if var.startswith('dialout_'):
-+ self.dependencies.append(
-+ DepType(var,
-+ type="hard",
-+ message = _("This is a Dependency")))
-+
-+ def createAsteriskConfig(self):
-+ needModule("chan_zap")
-+
-+ # Create config for chan_zap:
-+ c = AstConf("zapata.conf")
-+ c.append("signalling=fxo_%s" % self.sigtype)
-+
-+ if self.calleridname and self.calleridnum:
-+ c.append('callerid="%s" <%s>' % (self.calleridname, self.calleridnum))
-+ elif self.calleridname:
-+ c.append('callerid="%s"' % self.calleridname)
-+ elif self.calleridnum:
-+ c.append('callerid=%s' % self.calleridnum)
-+ c.append("context=out-%s" % self.name)
-+
-+ if self.group:
-+ c.appendValue(self, "group")
-+ c.append("txgain=0.0")
-+ c.append("rxgain=0.0")
-+ c.append("channel=%s" % self.channels)
-+ c.append("")
-+
-+ c = AstConf("zaptel.conf")
-+ c.setSection("")
-+ c.destar_comment = False
-+ c.append("fxo%s=%s" % (self.sigtype, self.channels))
-+ c.append("")
-+
-+ if self.enablecallgroup:
-+ c.append('callgroup=%s' % self.callgroup)
-+ c.append('pickupgroup=%s' % self.callgroup)
-+
-+ self.createExtensionConfig()
-+ self.createVoicemailConfig(c)
-+ self.createOutgoingContext()
-+ self.createPanelConfig()
-+
-+ def channelString(self):
-+ return "%s/%s" % (self.technology, self.channels)
-+
-+
-+ def createDialEntry(self, extensions, exten, pbx, ext):
-+ ret = extensions.appendExten(exten, "Macro(dial-std-exten,%s/%s,out-%s,%d,%s,%s)" % (
-+ self.technology,
-+ self.channels,
-+ self.name,
-+ int(self.usevm)),
-+ pbx,
-+ ext
-+ )
Deleted: destar/trunk/debian/patches/50_portbug.dpatch
===================================================================
--- destar/trunk/debian/patches/50_portbug.dpatch 2006-09-05 19:59:04 UTC (rev 2352)
+++ destar/trunk/debian/patches/50_portbug.dpatch 2006-09-07 20:33:19 UTC (rev 2353)
@@ -1,1273 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_portbug.dpatch by <root at localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad destar-0.2beta~/configlets.py destar-0.2beta/configlets.py
---- destar-0.2beta~/configlets.py 2006-06-17 12:23:57.000000000 +0000
-+++ destar-0.2beta/configlets.py 2006-06-27 05:40:04.000000000 +0000
-@@ -379,6 +379,8 @@
- self.groups[configlet.groupName].append(configlet)
-
-
-+configlet_tree = ConfigletTree()
-+
- class Holder(object):
- """
- This is a simple wrapper class so that you can write
-@@ -443,7 +445,6 @@
-
-
-
--configlet_tree = ConfigletTree()
-
- class DependentObject:
- def __init__(self, configlet, dependency):
-@@ -604,6 +605,7 @@
- May be overridden for additional test."""
-
- # Make sure we don't add two thingies with the same extension on the same pbx
-+ global configlet_tree
- if self.__dict__.has_key('ext'):
- for o in configlet_tree:
- if o==self: continue
-@@ -745,6 +747,7 @@
- 'clazz' where the child class can tell us which class should
- be unique in the configlet_tree."""
-
-+ global configlet_tree
- if not clazz:
- clazz = self
- for o in configlet_tree:
-@@ -766,6 +769,7 @@
- return self.trunks
-
- def updateTrunks(self):
-+ global configlet_tree
- self.trunks = []
- for obj in configlet_tree['Trunks']:
- self.trunks.append(VarType("trunk_%s" % obj.name, title=_("%s") % obj.name, type="bool", optional=True,render_br=False))
-@@ -778,6 +782,7 @@
- return self.dialouts
-
- def updateDialouts(self):
-+ global configlet_tree
- self.dialouts = []
- for obj in configlet_tree['Dialout']:
- self.dialouts.append(VarType("dialout_%s" % obj.name, title=_("%s") % obj.name, type="bool", optional=True,render_br=False))
-@@ -897,6 +902,7 @@
- def fixup(self):
- Cfg.fixup(self)
- self.lookPanel()
-+ global configlet_tree
- if configlet_tree.hasConfiglet('CfgPhoneQueue'):
- for v in self.variables:
- if v.name == "QueueLab" or v.name == "queues":
-diff -urNad destar-0.2beta~/configlets.py.orig destar-0.2beta/configlets.py.orig
---- destar-0.2beta~/configlets.py.orig 1970-01-01 00:00:00.000000000 +0000
-+++ destar-0.2beta/configlets.py.orig 2006-06-17 12:23:57.000000000 +0000
-@@ -0,0 +1,1053 @@
-+# -*- coding: iso-latin-1 -*-
-+#
-+# Copyright (C) 2005 by Holger Schurig
-+#
-+# This program 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.
-+#
-+# This program 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 this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#
-+
-+
-+import sys, os, types, sha, binascii, time
-+import panelutils
-+
-+CONF_DIR = "/etc/asterisk"
-+CONF_TAG = "; Automatically created by DESTAR\n"
-+
-+
-+class AsteriskConfigFile:
-+ """
-+ A class to generate Asterisk configuration files more easily.
-+
-+ Create an AstConf class with the filename of the configfile, change
-+ sections and append lines or extension lines. When you call you
-+ destroy the class (normally at the end of program), the config file
-+ will be written. You can force a write with the write() method.
-+
-+ This autowrite on destroy allows us to create an instance of this
-+ class at several places in the source code, add stuff and be sure that
-+ all those writes will make it into the config file.
-+ """
-+
-+
-+ def __init__(self, fn):
-+ if fn == 'zaptel.conf':
-+ fn = os.path.join("/etc", fn)
-+ if fn == 'op_server.cfg' or fn == 'op_buttons.cfg':
-+ fn = os.path.join(panelutils.PANEL_CONF_DIR, fn)
-+ elif fn.find('/')==-1:
-+ fn = os.path.join(CONF_DIR, fn)
-+ self.fn = fn
-+ self.sections = {} # dictionary of sections
-+ self.order = [] # ordered list of sections
-+ self.dirty = False # nothing to write yet
-+ self.extpriority = 1
-+ self.section = "general"
-+ self.destar_comment = True
-+ self.lastext = None
-+
-+ def write(self, f=None):
-+ "Write myself into the config file"
-+ if self.dirty:
-+ if not f:
-+ f = open(self.fn, "w")
-+ if self.destar_comment:
-+ f.write(CONF_TAG)
-+ for sect in self.order:
-+ if sect:
-+ f.write("\n[%s]" % sect)
-+ f.write("\n")
-+ for l in self.sections[sect]:
-+ f.write(l)
-+ f.write("\n")
-+ self.dirty = False
-+
-+ def setSection(self, sect):
-+ "Select a config file section where append() etc will put their data"
-+ self.section = sect
-+ self.extpriority = 1
-+
-+ def hasSection(self, sect):
-+ "Does the section already exists?"
-+ return sect in self.sections
-+
-+ def append(self,l):
-+ """Append an ordinary line to the current section"""
-+ try:
-+ self.sections[self.section].append(l)
-+ except KeyError:
-+ self.sections[self.section] = [l]
-+ self.order.append(self.section)
-+ self.dirty = True
-+
-+ def prepend(self,l):
-+ """Prepend an ordinary line to the current section"""
-+ try:
-+ self.sections[self.section].insert(0,l)
-+ except KeyError:
-+ self.sections[self.section] = [l]
-+ self.order.append(self.section)
-+ self.dirty = True
-+
-+ def appendExten(self,ext,l,e=None):
-+ """Append an extension line l to the current section. Append
-+ an optional error extenion e as well. Increments the priorty
-+ if the extension stays the same, resets the prio to 1 if the
-+ extension changes."""
-+
-+ if ext != self.lastext:
-+ self.extpriority = 1
-+ self.lastext = ext
-+ self.append("exten=%s,%d,%s" % (ext, self.extpriority, l))
-+ if e:
-+ self.append("exten=%s,%d,%s" % (ext, self.extpriority+101, e))
-+
-+ ret = self.extpriority
-+ self.extpriority = self.extpriority + 1
-+ return ret
-+
-+ def setPriority(self,n):
-+ """Manually set extension priority to an arbitrary number."""
-+ self.extpriority = n
-+
-+ def appendValue(self,conf,var, name=None):
-+ """Write an value that is inside an configuration class"""
-+ try:
-+ val = getattr(conf,var)
-+ except:
-+ return
-+
-+ if not name:
-+ name = var
-+
-+ if val==None:
-+ return
-+
-+ if type(val) == types.IntType:
-+ self.append("%s=%d" % (name, val))
-+ elif type(val) == types.StringType:
-+ self.append("%s=%s" % (name, val))
-+ elif type(val) == types.FloatType:
-+ self.append("%s=%f" % (name, val))
-+ elif type(val) == types.BooleanType:
-+ if val:
-+ self.append("%s=yes" % name)
-+ else:
-+ self.append("%s=no" % name)
-+ else:
-+ print "invalid type ", val
-+ raise Exception
-+
-+
-+asterisk_configfiles = []
-+
-+
-+def AstConf(fn):
-+ """Retrieve the AsteriskConfigFile class that contains file 'fn'
-+ from our config file cache, create a new class if it doesn't exist."""
-+ global asterisk_configfiles
-+ for cfg, obj in asterisk_configfiles:
-+ if cfg == fn:
-+ return obj
-+ obj = AsteriskConfigFile(fn)
-+ asterisk_configfiles.append( (fn,obj) )
-+ return obj
-+
-+
-+
-+
-+#########################################################################
-+
-+class __PasswordGeneratorClass:
-+ def __init__(self):
-+ self.hash = sha.new("D35tar r0ck5")
-+ self.hash.update(str(time.time()))
-+
-+ def __call__(self, len=6, seed=""):
-+ try:
-+ self.hash.update(open("/dev/urandom", "rb").read(32))
-+ except IOError:
-+ self.hash.update(str(time.time()))
-+
-+ if seed:
-+ self.hash.update(str(seed))
-+ return binascii.b2a_base64(self.hash.digest())[:len]
-+
-+generatePassword = __PasswordGeneratorClass()
-+
-+
-+#########################################################################
-+
-+
-+def needModule(mod):
-+ #print "Need module", mod
-+ c = AstConf("modules.conf")
-+ if not "modules" in dir(c):
-+ #print "setting c.modules"
-+ c.modules = Holder(
-+ pbx = [
-+ "pbx_config",
-+ "pbx_spool",
-+ "pbx_functions",
-+ ],
-+ # TODO: get list of codecs and format from /usr/lib/asterisk/modules
-+ codec = [
-+ "codec_a_mu",
-+ "codec_adpcm",
-+ "codec_alaw",
-+ "codec_g726",
-+ "codec_gsm",
-+ "codec_ilbc",
-+ "codec_lpc10",
-+ "codec_ulaw",
-+ ],
-+ format = [
-+ "format_g726",
-+ "format_g729",
-+ "format_gsm",
-+ "format_h263",
-+ "format_ilbc",
-+ "format_jpeg",
-+ "format_pcm",
-+ "format_vox",
-+ "format_wav",
-+ "format_wav_gsm",
-+ ],
-+ res = [ "res_musiconhold",
-+ "res_features" ],
-+ cdr = [ ],
-+ chan = [ ],
-+ func = [
-+ "func_callerid",
-+ ],
-+ app = [
-+ "app_db",
-+ "app_dial", # needs res_musiconhold, res_parking
-+ "app_macro",
-+ "app_playback",
-+ ],
-+ preload = [],
-+ )
-+
-+ sect = mod.split("_")[0]
-+ #print "sect", sect
-+ try:
-+ sect = c.modules[sect]
-+ #print "sect now:", sect
-+ except KeyError:
-+ # create new array
-+ c.modules[sect] = [mod]
-+ return
-+ # sect contains now the entire section array
-+ if not mod in sect:
-+ sect.append(mod)
-+ #print "sect finally", sect
-+
-+
-+
-+#########################################################################
-+
-+class ConfigletTree:
-+
-+ def __init__(self):
-+ self.groups = {}
-+ self.name = ''
-+
-+ def __getitem__(self, key):
-+ if self.groups.has_key(key):
-+ return self.groups[key]
-+ else: return []
-+
-+ def __setitem__(self, key, val):
-+ self.groups[key] = val
-+
-+ def __iter__(self):
-+ for group in self.groups.values():
-+ for element in group:
-+ yield element
-+
-+ def __str__(self):
-+ stringname = ''
-+ for element in self:
-+ stringname += str(element) + ', '
-+ return stringname[:-2]
-+
-+ def __len__(self):
-+ length = 0
-+ for i in self.groups.values():
-+ length += len(i)
-+ return length
-+
-+ def updateConfiglet(self, obj):
-+ configlet_list = self.groups[obj.groupName]
-+
-+
-+ for i in range(len(configlet_list)):
-+ if configlet_list[i]._id == obj._id:
-+ configlet_list[i] = obj
-+
-+ def deleteConfiglet(self, _id):
-+ for group in self.groups.values():
-+ for i in range(len(group)):
-+ if group[i]._id == _id:
-+ for dep in group[i].dependent_objs:
-+ self.deleteConfiglet(dep.configlet._id)
-+ del group[i]
-+ return
-+
-+ def moveConfigletUp(self, _id):
-+ obj = self.getConfiglet(_id)
-+ configlet_list = self.groups[obj.groupName]
-+
-+ for i in range(len(configlet_list)):
-+ if configlet_list[i]._id == obj._id and i > 0:
-+ configlet_list[i] = configlet_list[i-1]
-+ configlet_list[i-1] = obj
-+ return obj
-+ return None
-+
-+ def moveConfigletDown(self, _id):
-+ obj = self.getConfiglet(_id)
-+ configlet_list = self.groups[obj.groupName]
-+
-+ for i in range(len(configlet_list)):
-+ if configlet_list[i]._id == obj._id and i < (len(configlet_list) -1):
-+ configlet_list[i] = configlet_list[i+1]
-+ configlet_list[i+1] = obj
-+ return obj
-+ return None
-+
-+ def getConfigletsByGroup(self, groupName):
-+ return self[groupName]
-+
-+ #TODO: Make this as fast as getConfigletsByGroup
-+ def getConfigletsByName(self, name):
-+ result = []
-+ for obj in self:
-+ if obj.shortName == name or obj.__class__.__name__ == name:
-+ result.append(obj)
-+ return result
-+
-+ def getConfigletsByClass(self, _class):
-+ result = []
-+ for obj in self:
-+ if isinstance(obj, _class):
-+ result.append(obj)
-+ return result
-+
-+ def hasConfiglet(self, _class):
-+ for obj in self:
-+ if obj.__class__.__name__ == _class:
-+ return True
-+ return False
-+
-+
-+ def empty(self):
-+ return len(self)==0
-+
-+ def getConfiglet(self, _id):
-+ for obj in self:
-+ try:
-+ if obj._id == int(_id):
-+ return obj
-+ except:
-+ pass
-+ return None
-+
-+ def getConfigletByName(self, name):
-+ for obj in self:
-+ try:
-+ if obj.name == name:
-+ return obj
-+ except:
-+ pass
-+ return None
-+
-+ def addConfiglet(self, configlet):
-+ if not self.groups.has_key(configlet.groupName):
-+ self.groups[configlet.groupName] = []
-+ self.groups[configlet.groupName].append(configlet)
-+
-+
-+class Holder(object):
-+ """
-+ This is a simple wrapper class so that you can write
-+
-+ foo = Holder(bar = 1,
-+ baz = "test")
-+ instead of
-+
-+ foo["bar"] = 1
-+ baz["bar"] = "test"
-+
-+ Holder will be a base class for all configuration options and
-+ modules.
-+ """
-+
-+ def __init__(self, **kw):
-+ self.__dict__.update(kw)
-+
-+ def keys(self):
-+ """Return list of stored variables."""
-+ return self.__dict__.keys()
-+
-+ def __getitem__(self,key):
-+ """Allows access to the variables via obj[name] syntax."""
-+ return self.__dict__[key]
-+
-+ def __setitem__(self,key,val):
-+ """Allows access to the variables via obj[name] syntax."""
-+ self.__dict__[key] = val
-+
-+ def __repr__(self):
-+ return "<configlets.Holder object: " + self.__dict__.__repr__()
-+
-+
-+class DepType(Holder):
-+ """We use this class to store meta-information about dependendencies"""
-+
-+ def __init__(self,name,**kw):
-+ Holder.__init__(self,**kw)
-+ self.name = name
-+ self.__dict__.setdefault("type","hard")
-+ self.__dict__.setdefault("message", _("This is a Dependency"))
-+
-+class VarType(Holder):
-+ """We use this class to store meta-information about configuration variables"""
-+
-+ def __init__(self,name,**kw):
-+ Holder.__init__(self,**kw)
-+ self.name = name
-+ self.__dict__.setdefault("type","string")
-+ self.__dict__.setdefault("len",60)
-+ self.__dict__.setdefault("size",20)
-+ self.__dict__.setdefault("title",self.name)
-+ self.__dict__.setdefault("hint","")
-+ self.__dict__.setdefault("optional", False)
-+ self.__dict__.setdefault("read", "admin") # admin, user, all
-+ self.__dict__.setdefault("write", "admin")
-+ #self.__dict__.setdefault("default", "")
-+ self.__dict__.setdefault("hide", False)
-+ self.__dict__.setdefault("render_br", True)
-+
-+
-+
-+
-+configlet_tree = ConfigletTree()
-+
-+class DependentObject:
-+ def __init__(self, configlet, dependency):
-+ self.configlet = configlet
-+ self.dependency = dependency
-+
-+class Cfg(Holder):
-+ """Base class for all configlets.
-+
-+ Configlets belong to a group, see CfgPhone, CfgOpt, CfgTrunk etc. The
-+ group is also stored in the variable 'group'.
-+
-+ Configlets also contain data. This data is stored quite normally, as
-+ anyone would store data inside a class. What is not so normal is that
-+ a configurable has a variables[] array that contains various VarType
-+ objects that describe those variables (name, description, default
-+ value, length etc). This descriptions are used to automatically
-+ create forms.
-+
-+ And, last not least, a configurabe also have a name, stored in 'shortName'
-+ (to keep 'name' available for actual data)."""
-+
-+ #shortName = "Cfg class (do not use directly)"
-+ #group = "Generic option"
-+ variables = []
-+ dependent_objs = []
-+ dependencies = []
-+
-+
-+ def __init__(self,autoAdd=True,**kw):
-+ """Stores values from '*kw' into self.__dict__ and add the
-+ newly instantiated object into configlets.configlet_tree if
-+ 'autoAdd' says so."""
-+
-+ Holder.__init__(self,**kw)
-+
-+ # Store the object into global array
-+ global configlet_tree
-+ self._id = len(configlet_tree)
-+ if autoAdd:
-+ configlet_tree.addConfiglet(self)
-+ else:
-+ self.createVariables();
-+ self.fixup();
-+
-+ for v in self.variables:
-+ # Labels don't have values. We set 'optional' to True
-+ # so that we later don't get warnings about missing
-+ # values.
-+ if v.type=="label":
-+ v.optional = True
-+ continue
-+
-+ self.dependent_objs = []
-+ self.dependencies = []
-+
-+ def __getattr__(self, field):
-+ self.createVariables()
-+ self.fixup()
-+ if self.__dict__.has_key(field):
-+ return self.__dict__[field]
-+ else:
-+ raise AttributeError
-+
-+ def lookPanel(self):
-+ if panelutils.isConfigured() == 1:
-+ for v in self.variables:
-+ if v.name == "panelLab" or v.name == "panel":
-+ v.hide = False
-+
-+ def renameDependencies(self, new_name):
-+ for dep in self.dependent_objs:
-+ dep.configlet.__dict__[dep.dependency.name] = new_name
-+
-+ def hasDependencies(self):
-+ return len(self.dependent_objs) > 0
-+
-+ def createDependencies(self):
-+ for dep in self.dependencies:
-+ if self.__dict__.has_key(dep.name):
-+ obj_name = self.__dict__[dep.name]
-+ import configlets
-+ obj = configlets.configlet_tree.getConfigletByName(obj_name)
-+ if obj is None:
-+ return
-+ dependent_obj = DependentObject(self, dep)
-+ obj.dependent_objs.append(dependent_obj)
-+
-+ def createVariables(self):
-+ variables = []
-+
-+ def clearDependencies(self):
-+ self.dependent_objs = []
-+
-+ def fixup(self):
-+ """Each configlet's fixup() method get's called after the
-+ modules have been loaded from the config file."""
-+
-+ # Make sure all variables are set:
-+ for v in self.variables:
-+ if not self.__dict__.has_key(v.name):
-+ _v = ""
-+ #print v.name,v.type
-+ if v.__dict__.has_key("default"):
-+ #print "set",v.name,"to default",v.default
-+ _v = v.default
-+ elif v.type in ["string","rostring","choice","mchoice","radio"]:
-+ #print "set",v.name,"to ''"
-+ _v = ""
-+ elif v.type=="int":
-+ #print "set",v.name,"to 0"
-+ _v = 0
-+ elif v.type=="bool":
-+ #print "set",v.name,"to false"
-+ _v = False
-+ elif v.type=="label":
-+ continue
-+ else:
-+ print "didn't set",v.name,"to anything"
-+ #print "set %s %s to" % (v.type, v.name), _v
-+ self.__dict__[v.name] = _v
-+
-+
-+ def head(self):
-+ """Configlets can return a tuple of headers and values via
-+ row() that can be used to display them in tables.
-+
-+ This method gives the header. Usually it will be overwritten."""
-+
-+ return ( _("Extension"),_("Type") )
-+
-+
-+ def row(self):
-+ """Like head(), but returns a table row."""
-+
-+ try:
-+ ext = self.ext
-+ except AttributeError:
-+ ext = _('None')
-+ return (ext, self.shortName)
-+
-+
-+ def isAddable(self):
-+ """Teturns True if it is OK to create instances of this class.
-+
-+ This can be used to check if a configlet should be presented
-+ in the menu. The method is a classMethod, so that we can call
-+ it without instantiating an object, e.g. we can call this
-+ like CfgOptPhoneZap.isAddable()."""
-+
-+ # Normally every object is addable
-+ return True
-+ isAddable = classmethod(isAddable)
-+
-+
-+ def checkConfig(self):
-+ """Test if all variables are set, used by createAsteriskConfig().
-+ May be overridden for additional test."""
-+
-+ # Make sure we don't add two thingies with the same extension on the same pbx
-+ if self.__dict__.has_key('ext'):
-+ for o in configlet_tree:
-+ if o==self: continue
-+ try:
-+ if o.ext == self.ext and o.pbx == self.pbx:
-+ return ("ext", _("Extension already in use on that PBX"))
-+ except AttributeError:
-+ pass
-+
-+ # Make sure we don't add two thingies with the same name
-+ if self.__dict__.has_key('name'):
-+ if self.name.find("-") > 1 or self.name.find(" ") > 1:
-+ return ("name", _("Name should not contain '-' or spaces"))
-+ for o in configlet_tree:
-+ if o==self: continue
-+ try:
-+ if o.name == self.name:
-+ return ("name", _("Name already in use"))
-+ except AttributeError:
-+ pass
-+
-+
-+
-+ def createAsteriskConfig(self):
-+ "Creates AsteriskConfigFile entries if checkConfig() gave us an 'ok'."
-+ if self.checkConfig()==None:
-+ self.createAsteriskConfig()
-+
-+
-+ def createPythonConfig(self):
-+ """Returns an array of strings that resends this class in Python
-+ syntax. Can be stored in cfg.py (or whereever) and re-read with
-+ execfile()."""
-+
-+ python_cfg = []
-+ python_cfg.append("%s(" % self.__class__.__name__)
-+
-+ for v in self.variables:
-+ if not self.__dict__.has_key(v.name): continue
-+ _v = self.__dict__[v.name]
-+ if _v == None or _v == "":
-+ continue
-+ #print v.name,v.type,_v
-+ if v.__dict__.has_key("default") and _v==v.default:
-+ continue
-+ if v.type in ("string","rostring","choice","mchoice","radio"):
-+ cont = '"%s"' % _v
-+ elif v.type=="text":
-+ cont = '"""%s"""' % _v
-+ elif v.type=="int":
-+ if _v == 0:
-+ print v.name
-+ continue
-+ else:
-+ cont = _v
-+ elif v.type=="bool":
-+ if _v:
-+ cont = "True"
-+ else:
-+ continue
-+ elif v.type=="label":
-+ continue
-+ else:
-+ print "unknown type", v.type
-+ cont = v.type
-+ python_cfg.append("\t%-8s = %s," % (v.name, cont))
-+ python_cfg.append("\t)")
-+ python_cfg.append("")
-+ return python_cfg
-+
-+
-+
-+#######################################################################
-+#
-+# Accessors for various settings
-+#
-+
-+def getSetting(name, default=None):
-+ return getConfig('CfgOptSettings',name, default)
-+
-+
-+def getChoice(clazz):
-+ """
-+ Here we actually use a trick. In the configlets, the variables[]
-+ get's build once at configlets load-time. While the configlets are
-+ in the middle of being loaded, you can't really iterate in
-+ configlets.configlet_tree to get a list of, say, all Phones. So this
-+ iteration needs to be postponed. We do this with a lambda function.
-+
-+ This getChoice() uses __getChoice(), which is not defined here in
-+ configlets. It comes from backend.py. But because backend.py imports
-+ us, we don't import backend.py. Therefore, backend.py "implants"
-+ this helper function with "configlets._getChoice = getChoice".
-+ """
-+
-+ return (lambda : __getChoice(clazz=clazz))
-+
-+
-+#######################################################################
-+#
-+# Base classes for the different configlet groups
-+#
-+
-+class CfgOpt(Cfg):
-+ """Base class for all Asterisk options."""
-+
-+ groupName = "Options"
-+
-+
-+ def __init__(self,**kw):
-+ Cfg.__init__(self,**kw)
-+
-+ def head(self):
-+ return (_("Name"),_("Info"))
-+
-+
-+ def row(self):
-+ return (self.shortName,'')
-+
-+
-+
-+
-+class CfgOptSingle(CfgOpt):
-+ """Some Asterisk options should only exist exactly once in the
-+ config. Descend them from this class."""
-+
-+ groupName = "Options"
-+
-+
-+ def isAddable(self, clazz=None):
-+ """Allow Options to be added exactly once. We'll enforce this
-+ by looking if the current class is already contained in
-+ configlet_tree.
-+
-+ If a child class, e.g. CfgOptZapAudio.isAddable(), wants
-+ to call us, then 'self' is no longer CfgOptZapAudio, but it
-+ is CfgOptSingle. This is because of the classMethod
-+ attribute of isAddable. So we have an optional parameter
-+ 'clazz' where the child class can tell us which class should
-+ be unique in the configlet_tree."""
-+
-+ if not clazz:
-+ clazz = self
-+ for o in configlet_tree:
-+ #print o.__class__, clazz
-+ if o.__class__ == clazz: return False
-+ return True
-+ isAddable = classmethod(isAddable)
-+
-+class VarListManager:
-+
-+ def __init__(self):
-+ self.trunks = []
-+ self.dialouts = []
-+
-+ def hasTrunks(self):
-+ return len(self.trunks)>0
-+
-+ def getTrunks(self):
-+ return self.trunks
-+
-+ def updateTrunks(self):
-+ self.trunks = []
-+ for obj in configlet_tree['Trunks']:
-+ self.trunks.append(VarType("trunk_%s" % obj.name, title=_("%s") % obj.name, type="bool", optional=True,render_br=False))
-+ self.trunks.append(VarType("trunk_%s_price" % obj.name, title=_("Price/Account_code for this pattern"), type="int", optional=True, len=10, default=0))
-+
-+ def hasDialouts(self):
-+ return len(self.dialouts)>0
-+
-+ def getDialouts(self):
-+ return self.dialouts
-+
-+ def updateDialouts(self):
-+ self.dialouts = []
-+ for obj in configlet_tree['Dialout']:
-+ self.dialouts.append(VarType("dialout_%s" % obj.name, title=_("%s") % obj.name, type="bool", optional=True,render_br=False))
-+ self.dialouts.append(VarType("dialout_%s_secret" % obj.name, title=_("Password:"), len=50, optional=True))
-+
-+varlist_manager = VarListManager()
-+
-+
-+class CfgTrunk(Cfg):
-+ """Base class for external lines."""
-+
-+ groupName = "Trunks"
-+
-+
-+ def __init__(self,**kw):
-+ Cfg.__init__(self,**kw)
-+
-+ def fixup(self):
-+ Cfg.fixup(self)
-+ self.lookPanel()
-+
-+
-+ def head(self):
-+ return (_("Name"), _("Type"), _("Dial Command"))
-+
-+
-+ def row(self):
-+ return (self.name, self.shortName, self.dial)
-+
-+
-+ def channel(self):
-+ return "%s/%s" % (self.technology, self.name)
-+
-+ def isAddable(self):
-+ "We can only add this object if we have at least one other phone defined."
-+
-+ # BUG: it does somehow not work to simply write for obj in configlet_tree,
-+ # despite the "from configlets import *" above
-+ global configlet_tree
-+ if len(configlet_tree['Phones']) > 0:
-+ return True
-+ else:
-+ return False
-+ isAddable = classmethod(isAddable)
-+ # BUG: if the choosed phone is deleted, we have a problem
-+
-+ def checkConfig(self):
-+ res = Cfg.checkConfig(self)
-+ if res:
-+ return res
-+ if self.contextin == 'phone' and not self.phone:
-+ return ('phone',_("You should select a phone to ring to"))
-+
-+ def createIncomingContext(self):
-+ c = AstConf("extensions.conf")
-+ contextin = "in-%s" % self.name
-+ c.setSection(contextin)
-+ c.appendExten("_X.","Set(CDR(intrunk)=%s)" % self.name)
-+ if self.clid:
-+ needModule("func_callerid")
-+ c.appendExten("_X.","Set(CALLERID(name)=%s)" % self.clid)
-+ if self.contextin == 'phone' and self.phone:
-+ global configlet_tree
-+ obj = configlet_tree.getConfigletByName(self.phone)
-+ try:
-+ pbx = obj.pbx
-+ except AttributeError:
-+ pass
-+ c.appendExten("_X.", "Goto(%s,%s,1)" % (pbx,self.phone))
-+ if self.contextin == 'ivr' and self.ivr:
-+ c.appendExten("_X.", "Goto(%s,s,1)" % self.ivr)
-+ c.appendExten("s","Set(CDR(intrunk)=%s)" % self.name)
-+ if self.clid:
-+ needModule("func_callerid")
-+ c.appendExten("s","Set(CALLERID(name)=%s)" % self.clid)
-+ if self.contextin == 'phone' and self.phone:
-+ global configlet_tree
-+ obj = configlet_tree.getConfigletByName(self.phone)
-+ try:
-+ pbx = obj.pbx
-+ except AttributeError:
-+ pass
-+ c.appendExten("s", "Goto(%s,%s,1)" % (pbx,self.phone))
-+ if self.contextin == 'ivr' and self.ivr:
-+ c.appendExten("s", "Goto(%s,s,1)" % self.ivr)
-+
-+
-+class CfgPhone(Cfg):
-+ """Base class for all phone devices."""
-+
-+ groupName = "Phones"
-+
-+
-+ def __init__(self,**kw):
-+ self.did = True
-+ Cfg.__init__(self,**kw)
-+
-+
-+ def head(self):
-+ return (_("Type"), _("Extension"), _("Name"), _("Virtual PBX"))
-+
-+
-+ def row(self):
-+ try:
-+ ext = self.ext
-+ pbx = self.pbx
-+ except AttributeError:
-+ ext = _('None')
-+ pbx = _('None')
-+ return (self.shortName, ext, self.name, pbx)
-+
-+
-+ def channelString(self):
-+ return "%s/%s" % (self.technology, self.name)
-+
-+
-+ def fixup(self):
-+ Cfg.fixup(self)
-+ self.lookPanel()
-+ if configlet_tree.hasConfiglet('CfgPhoneQueue'):
-+ for v in self.variables:
-+ if v.name == "QueueLab" or v.name == "queues":
-+ v.hide = False
-+
-+ def createDialEntry(self, extensions, exten, pbx, ext):
-+ ret = extensions.appendExten(exten, "Macro(dial-std-exten,%s/%s,out-%s,%d,%s,%s)" % (
-+ self.technology,
-+ self.name,
-+ self.name,
-+ int(self.usevm),
-+ ext,
-+ pbx
-+ ))
-+
-+ def createExtensionConfig(self):
-+ needModule("res_adsi")
-+ needModule("app_voicemail")
-+ extensions = AstConf("extensions.conf")
-+ try:
-+ pbx = self.pbx
-+ except AttributeError:
-+ pbx = "phones"
-+ extensions.setSection(pbx)
-+ extensions.appendExten(self.ext,"Set(CDR(pbx)=%s,CDR(userfield)=%s)" % (pbx,self.name))
-+ self.createDialEntry(extensions, self.ext, pbx, self.ext)
-+ extensions.appendExten(self.name,"Set(CDR(pbx)=%s,CDR(userfield)=%s)" % (pbx,self.name))
-+ self.createDialEntry(extensions, self.name, pbx, self.ext)
-+
-+ def createVoicemailConfig(self, conf):
-+ if self.ext and self.usevm:
-+ needModule("res_adsi")
-+ needModule("app_voicemail")
-+ if self.usemwi:
-+ conf.append("mailbox=%s@%s" % (self.ext,self.pbx))
-+
-+ vm = AstConf("voicemail.conf")
-+ vm.setSection(self.pbx)
-+ try:
-+ pin = self.pin
-+ except:
-+ pin = ""
-+ #TODO: deal with timezones
-+ #options = "tz=cest"
-+ options = ""
-+ if self.email:
-+ vm.append("%s=%s,%s,%s,%s" % (self.ext, pin, self.name, self.email, options))
-+ else:
-+ vm.append("%s=%s,%s,,%s" % (self.ext, pin, self.name, options))
-+
-+ def createQueuesConfig(self):
-+ try:
-+ if self.queues:
-+ c = AstConf("queues.conf")
-+ for queue in self.queues.split(','):
-+ c.setSection(queue)
-+ c.append("member => %s/%s" % (self.technology,self.name))
-+ except AttributeError:
-+ pass
-+
-+ def createOutgoingContext(self):
-+ c = AstConf("extensions.conf")
-+ c.setSection("out-%s" % self.name)
-+ try:
-+ pbx = self.pbx
-+ except AttributeError:
-+ pbx = "phones"
-+ c.append("include=>%s" % pbx)
-+ c.appendExten("i","Playback(privacy-invalid)")
-+ c.appendExten("_**XX","Set(dest=${DB( QUICKDIALLIST/${CALLERIDNUM}/${EXTEN:2} )})", e="Playback(privacy-invalid)")
-+ c.appendExten("_**XX","Goto(${dest},1)")
-+ try:
-+ timeoutvalue = not self.timeout and "0" or "1"
-+ except AttributeError:
-+ timeoutvalue=0
-+ global configlet_tree
-+ for obj in configlet_tree:
-+ if obj.__class__.__name__ == 'CfgDialoutNormal':
-+ try:
-+ if self.__getitem__("dialout_"+obj.name):
-+ c.appendExten("%s" % obj.pattern,"Set(CDR(pbx)=%s)" % (self.pbx))
-+ c.appendExten("%s" % obj.pattern,"Set(CDR(userfield)=%s)" % (self.name))
-+ c.appendExten("%s" % obj.pattern,"Set(CDR(dialout)=%s)" % (obj.name))
-+ if self.calleridnum:
-+ c.appendExten("%s" % obj.pattern,"Set(CALLERID(number)=%s)" % self.calleridnum)
-+ secret = self.__getitem__("dialout_%s_secret" % obj.name)
-+ if secret:
-+ c.appendExten("%s" % obj.pattern,"Macro(%s,%s${EXTEN:%s},%s,%s)" % (obj.name,obj.addprefix,obj.rmprefix,secret,timeoutvalue))
-+ else:
-+ c.appendExten("%s" % obj.pattern,"Macro(%s,%s${EXTEN:%s},n,%s)" % (obj.name,obj.addprefix,obj.rmprefix,timeoutvalue))
-+ except KeyError:
-+ pass
-+
-+ def createPanelConfig(self):
-+ try:
-+ if panelutils.isConfigured() == 1 and self.panel:
-+ panelutils.createExtButton(self)
-+ except AttributeError:
-+ pass
-+
-+class CfgApp(Cfg):
-+ """Base class for all applications (an application is a piece
-+ of software that has a number and that you can dial)."""
-+
-+ groupName ="Applications"
-+
-+ def head(self):
-+ return (_("Extension"), _("Type"), _("Virtual PBX"))
-+
-+ def row(self):
-+ try:
-+ pbx = self.pbx
-+ except AttributeError:
-+ pbx = _('None')
-+ return (self.ext, self.shortName, pbx)
-+
-+
-+class CfgDialout(Cfg):
-+ """Base class for dialout entries."""
-+
-+ groupName = "Dialout"
-+
-+
-+ def __init__(self,**kw):
-+ Cfg.__init__(self,**kw)
-+
-+
-+ def head(self):
-+ return (_("Extension"), _("Name"), _("Type"))
-+
-+
-+ def row(self):
-+ try:
-+ ext = self.pattern
-+ except AttributeError:
-+ ext = _('None')
-+ return (ext, self.name, self.shortName)
-+
-+class CfgIVR(Cfg):
-+ """Base class for IVRs."""
-+
-+ groupName = "IVRs"
-+
-+
-+ def __init__(self,**kw):
-+ Cfg.__init__(self,**kw)
-+
-+ def head(self):
-+ return (_("Name"),_("Info"))
-+
-+
-+ def row(self):
-+ return (self.shortName,self.name)
-+
-diff -urNad destar-0.2beta~/destar destar-0.2beta/destar
---- destar-0.2beta~/destar 2006-06-17 11:11:18.000000000 +0000
-+++ destar-0.2beta/destar 2006-06-27 05:35:50.000000000 +0000
-@@ -63,11 +63,11 @@
-
- try:
- opts,args = getopt.getopt(sys.argv[1:],'dhpr:v',
-- ['daemonize=','help','pid=', 'port', 'version'])
-+ ['daemonize','help','pid=', 'port=', 'version'])
- except getopt.GetoptError:
- print _("DeStar: Command-line parsing error. Aborting.")
- print_usage()
-- exit(2)
-+ sys.exit(2)
-
- for opt,val in opts:
- if opt in ('-d', '--daemonize'):
-diff -urNad destar-0.2beta~/destar.orig destar-0.2beta/destar.orig
---- destar-0.2beta~/destar.orig 1970-01-01 00:00:00.000000000 +0000
-+++ destar-0.2beta/destar.orig 2006-06-17 11:11:18.000000000 +0000
-@@ -0,0 +1,128 @@
-+#!/usr/bin/env python
-+# -*- coding: iso-latin-1 -*-
-+#
-+# Copyright (C) 2005 by Holger Schurig
-+#
-+# This program 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.
-+#
-+# This program 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 this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#
-+
-+
-+"""
-+An HTTP handler for Medusa that publishes the Asterisk setup Quixote application
-+"""
-+
-+# A simple HTTP server, using Medusa, that publishes a Quixote application,
-+# based on medusa_http.py from Quixote
-+
-+
-+
-+import language
-+language.setLanguage('en')
-+
-+import sys, getopt, panelutils
-+import daemonize
-+be_daemon = False
-+rport = 8080
-+pid_file = '/var/run/destar.pid'
-+VERSION = '0.2beta'
-+
-+
-+def print_version():
-+ print _("DeStar %s, Copyright (C) 2005 by Holger Schurig and contributors.\n\n"\
-+ "DeStar comes with ABSOLUTELY NO WARRANTY. This is free software,\n"\
-+ "you are welcome to redistribute it under certain conditions;\n"\
-+ "see the included files GPL-2.txt and COPYRIGHT.txt\n") % VERSION
-+
-+
-+def print_usage():
-+ program = "destar"
-+ print _("DeStar: Asterisk Management web interface")
-+ print
-+ print _("Usage:")
-+ print _(" %s [options]: normal execution") % program
-+ print _(" %s -h|--help: print this text and exit peacefully") % program
-+ print _(" %s -v|--version: only print version information") % program
-+ print ""
-+ print _("Options:")
-+ print _(" -p <pid> | --pid=<pid>: use <pid> to store the daemon's PID")
-+ print _(" -d | --daemonize: run in the background")
-+ print _(" -r <port> | --port=<port>: run on port <port> (default: 8080)")
-+
-+
-+try:
-+ opts,args = getopt.getopt(sys.argv[1:],'dhpr:v',
-+ ['daemonize=','help','pid=', 'port', 'version'])
-+except getopt.GetoptError:
-+ print _("DeStar: Command-line parsing error. Aborting.")
-+ print_usage()
-+ exit(2)
-+
-+for opt,val in opts:
-+ if opt in ('-d', '--daemonize'):
-+ be_daemon=True
-+ if opt in ('-h', '--help'):
-+ print_usage()
-+ sys.exit(0)
-+ if opt in ('-p', '--pid'):
-+ pid_file = val
-+ if opt in ('-r', '--port'):
-+ rport = val
-+ if opt in ('-v', '--version'):
-+ print_version()
-+ sys.exit(0)
-+
-+# Validate parameters to give better errors:
-+try:
-+ rport_num = int(rport)
-+except ValueError:
-+ print _("Error: rport (-r <num>/--port=<num> must be a number)")
-+ print_usage()
-+ sys.exit(2)
-+
-+print_version()
-+
-+
-+# 'medusa' is a stand-alone web server
-+import medusa
-+
-+# 'quixote' is a web application framework
-+try:
-+ import quixote
-+ if quixote.__version__ < "1.2" or quixote.__version__ >= "2.0":
-+ raise ImportError
-+except ImportError:
-+ print _("Error:"), _("please install Quixote > 1.2 and < 2.0")
-+ import sys
-+ sys.exit(1)
-+
-+# 'Publisher.py' contains our session management, 'page_main' contains
-+# the start page.
-+import Server, Publisher
-+pub = Server.Server("page_main", port=int(rport), publisher=Publisher.DeStarPublisher)
-+
-+
-+
-+
-+# only daemonize after binding to the port. This makes error handling saner
-+if be_daemon:
-+ quixote.config.DISPLAY_EXCEPTIONS = 'plain'
-+ daemonize.daemonize(stdout='/var/log/asterisk/destar.log', stderr='/var/log/asterisk/destar.err', pidfile=pid_file)
-+
-+try:
-+ pub.run()
-+except KeyboardInterrupt:
-+ if panelutils.isConfigured():
-+ panelutils.stopPanelDaemon()
-+ pass
More information about the Pkg-voip-commits
mailing list