[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 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start:"
--msgstr "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Début :"
-+msgstr "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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