diff options
-rw-r--r-- | HISTORY | 11 | ||||
-rw-r--r-- | locale/de/LC_MESSAGES/vdradmin.mo | bin | 54211 -> 54183 bytes | |||
-rw-r--r-- | locale/es/LC_MESSAGES/vdradmin.mo | bin | 37732 -> 47547 bytes | |||
-rw-r--r-- | locale/fi/LC_MESSAGES/vdradmin.mo | bin | 11150 -> 11508 bytes | |||
-rw-r--r-- | locale/fr/LC_MESSAGES/vdradmin.mo | bin | 40032 -> 41671 bytes | |||
-rw-r--r-- | po/de.po | 48 | ||||
-rw-r--r-- | po/es.po | 244 | ||||
-rw-r--r-- | po/fi.po | 36 | ||||
-rw-r--r-- | po/fr.po | 1057 | ||||
-rw-r--r-- | po/vdradmin.pot | 22 | ||||
-rw-r--r-- | template/default/config.html | 4 | ||||
-rw-r--r-- | template/default/help_at_timer_list.html | 6 | ||||
-rw-r--r-- | template/default/help_config.html | 2 | ||||
-rw-r--r-- | template/default/help_timer_list.html | 10 | ||||
-rw-r--r-- | template/default/prog_list.html | 4 | ||||
-rw-r--r-- | template/default/rc.html | 44 | ||||
-rw-r--r-- | template/default/timer_new.html | 2 | ||||
-rw-r--r-- | template/default/tv.html | 48 | ||||
-rwxr-xr-x | tools/check.sh | 6 | ||||
-rw-r--r-- | tools/lib/String/Escape.pm | 625 | ||||
-rwxr-xr-x | tools/tmplgettext | 158 | ||||
-rwxr-xr-x | tools/update-po | 19 | ||||
-rwxr-xr-x | vdradmind.pl | 87 |
23 files changed, 1357 insertions, 1076 deletions
@@ -4,6 +4,17 @@ E-Mail: mail AT andreas DOT vdr-developer DOT org VDR-Portal: amair ----------------------------------------------------------- +2005-10-04: 0.97-am3.4.1 +- Fixed some bugs: + -> Selected channel is remembered when editing AutoTimers (Reported by Scorp). + -> Recording streaming didn't work in some cases (Reported by several people @vdr-portal.de). + -> Recording commands didn't work in some cases (Reported by several people @vdr-portal.de). + -> Watch TV and remote control didn't work (Reported by several people @vdr-portal.de). + -> INFO button in prog_list2 didn't work. + -> Getting back from timer_new to prog_summary/prog_list/prog_list2 again scrolls to line with previously selected item (Reported by Scorp). +- Updated translations +- Fixed some more HTMLtidy warnings. + 2005-09-23: 0.97-am3.4 - Send valid "Expires" header (Submitted by Ville Skyttä). - Open failure of vdradmind.done reported wrong filename (Submitted by Ville Skyttä). diff --git a/locale/de/LC_MESSAGES/vdradmin.mo b/locale/de/LC_MESSAGES/vdradmin.mo Binary files differindex d75baa2..e55cfd8 100644 --- a/locale/de/LC_MESSAGES/vdradmin.mo +++ b/locale/de/LC_MESSAGES/vdradmin.mo diff --git a/locale/es/LC_MESSAGES/vdradmin.mo b/locale/es/LC_MESSAGES/vdradmin.mo Binary files differindex 93153ca..dd30f31 100644 --- a/locale/es/LC_MESSAGES/vdradmin.mo +++ b/locale/es/LC_MESSAGES/vdradmin.mo diff --git a/locale/fi/LC_MESSAGES/vdradmin.mo b/locale/fi/LC_MESSAGES/vdradmin.mo Binary files differindex 75ff7fb..67c8c9d 100644 --- a/locale/fi/LC_MESSAGES/vdradmin.mo +++ b/locale/fi/LC_MESSAGES/vdradmin.mo diff --git a/locale/fr/LC_MESSAGES/vdradmin.mo b/locale/fr/LC_MESSAGES/vdradmin.mo Binary files differindex 7af7ef6..a2f569e 100644 --- a/locale/fr/LC_MESSAGES/vdradmin.mo +++ b/locale/fr/LC_MESSAGES/vdradmin.mo @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: VDRAdmin-0.97-AM3.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-09-23 10:28+0200\n" +"POT-Creation-Date: 2005-10-03 10:15+0200\n" "PO-Revision-Date: 2005-09-23 12:49+0100\n" "Last-Translator: Andreas Mair <mail@andreas.vdr-developer.org>\n" "Language-Team: <LL.org>\n" @@ -1154,17 +1154,17 @@ msgid "" "dd></dl></p><p>Each timer's state is indicated by differently coloured boxes " "(in the chart view) or images (in the list view):<br /><span class=\"color_ok" "\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on" -"\" align=\"absmiddle\" /> Timer is OK and will record.<br /><span class=" +"\" align=\"middle\" /> Timer is OK and will record.<br /><span class=" "\"color_collision\"> </span> / <img src=\"bilder/" -"poempl_gelb.gif\" alt=\"problem\" align=\"absmiddle\" /> Timer conflicts " -"with other timers. That's not critical, as long as you have enough DVB cards " -"for the parallel recordings.<br /><span class=\"color_conflict\"> " +"poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Timer conflicts with " +"other timers. That's not critical, as long as you have enough DVB cards for " +"the parallel recordings.<br /><span class=\"color_conflict\"> " " </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> Timer is critical and will most likely <strong>not</strong> " +"\"middle\" /> Timer is critical and will most likely <strong>not</strong> " "record.<br /><span class=\"color_inactive\"> </span> / <img " -"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> Timer " -"is not active.</p><p>In addition to these functions you can add a new timer " -"by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " +"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> Timer is " +"not active.</p><p>In addition to these functions you can add a new timer by " +"clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " "the top and you can delete a number of timers at once by checking the box in " "the last column of those timers and clicking <input type=\"submit\" class=" "\"submit\" value=\"Delete Selected Timers\"/>.</p>" @@ -1190,18 +1190,18 @@ msgstr "" "edit.gif\" alt=\"edit\" /> klicken.</dd><dt>Löschen eines Timers</dt><dd>Um " "einen Timer zu löschen klicken Sie bitte auf <img src=\"bilder/delete.gif\" " "alt=\"delete\" />.</dd></dl></p><p>Der Status eines jeden Timers wird durch " -"eine bestimmte Farbe angezeigt:<br /><span class=\"col_ok\"> " +"eine bestimmte Farbe angezeigt:<br /><span class=\"color_ok\"> " " </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=" -"\"absmiddle\" /> Der Timer ist OK und wird aufnehmen.<br /><span class=" -"\"col_collision\"> </span> / <img src=\"bilder/poempl_gelb." -"gif\" alt=\"problem\" align=\"absmiddle\" /> Der Timer überschneidet sich " -"mit anderen Timern. Das ist nicht kritisch, wenn genügend DVB-Karten für die " -"parallelen Aufnahmen vorhanden sind.<br /><span class=\"col_conflict\"> " -" </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" " -"align=\"absmiddle\" /> Der Timer ist kritisch und wird höchst wahrscheinlich " -"<strong>nicht</strong> aufnehmen.<br /><span class=\"col_inactive\"> " -" </span> / <img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" " -"align=\"absmiddle\" /> Der Timer ist nicht aktiv.\n" +"\"middle\" /> Der Timer ist OK und wird aufnehmen.<br /><span class=" +"\"color_collision\"> </span> / <img src=\"bilder/" +"poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Der Timer " +"überschneidet sich mit anderen Timern. Das ist nicht kritisch, wenn genügend " +"DVB-Karten für die parallelen Aufnahmen vorhanden sind.<br /><span class=" +"\"color_conflict\"> </span> / <img src=\"bilder/poempl_rot." +"gif\" alt=\"impossible\" align=\"middle\" /> Der Timer ist kritisch und wird " +"höchst wahrscheinlich <strong>nicht</strong> aufnehmen.<br /><span class=" +"\"color_inactive\"> </span> / <img src=\"bilder/poempl_grau." +"gif\" alt=\"inactive\" align=\"middle\" /> Der Timer ist nicht aktiv.\n" "</p><p>Zusätzlich zu diesen Funktionen können Sie einen neuen Timer " "programmieren indem Sie die Schaltfläche <input type=\"submit\" class=" "\"submit\" value=\"Neuer Timer\"/>am oberen Bildschirmrand anklicken. Am " @@ -1334,9 +1334,9 @@ msgid "" "alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer " "you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></" "p><p>Each AutoTimer's state is indicated by differently coloured images:<br /" -"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> " "AutoTimer is OK and will automatically program matching broadcasts.<br /" -"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> " "AutoTimer is not active.</p><p>In addition to these functions you can add a " "new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=" "\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at " @@ -1360,9 +1360,9 @@ msgstr "" "klicken Sie bitte auf <img src=\"bilder/delete.gif\" alt=\"delete\" />.</" "dd></dl></p><p>Der Status eines jeden AutoTimers wird durch eine bestimmte " "Farbe angezeigt:<br /><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=" -"\"absmiddle\" /> Der AutoTimer ist OK und wird automatisch übereinstimmende " +"\"middle\" /> Der AutoTimer ist OK und wird automatisch übereinstimmende " "Sendungen programmieren.<br /><img src=\"bilder/poempl_grau.gif\" alt=" -"\"inactive\" align=\"absmiddle\" /> Der AutoTimer ist nicht aktiv.</" +"\"inactive\" align=\"middle\" /> Der AutoTimer ist nicht aktiv.</" "p><p>Zusätzlich zu diesen Funktionen können Sie einen neuen AutoTimer " "anlegen indem Sie die Schaltfläche <input type=\"submit\" class=\"submit\" " "value=\"Neuer AutoTimer\"/> am oberen Rand anklicken. Am unteren " @@ -13,11 +13,11 @@ # msgid "" msgstr "" -"Project-Id-Version: VDRAdmin-0.97-AM3.3\n" +"Project-Id-Version: VDRAdmin-0.97-AM3.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-09-23 10:28+0200\n" -"PO-Revision-Date: 2005-07-06 19:40+0100\n" -"Last-Translator: r.Jung <r_jung@web.de>\n" +"POT-Creation-Date: 2005-10-03 10:15+0200\n" +"PO-Revision-Date: 2005-09-28 19:29+0100\n" +"Last-Translator: rudibert <r_jung@web.de>\n" "Language-Team: Rudi <LL.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" @@ -252,7 +252,7 @@ msgstr "" #: ../template/default/rc.html:6 ../template/default/navigation.html:61 msgid "Remote Control" -msgstr "Mando de distancia" +msgstr "Mando a distancia" #: ../template/default/noauth.html:5 ../template/default/noauth.html:14 msgid "Authorization Required" @@ -381,7 +381,7 @@ msgstr "buscar repeticiones" #: ../template/default/prog_summary.html:76 msgid "More Information" -msgstr "más info" +msgstr "más información" #: ../template/default/prog_summary.html:80 msgid "Record" @@ -401,7 +401,7 @@ msgstr "Propiedades generales" #: ../template/default/config.html:47 msgid "Template:" -msgstr "Interfaz:" +msgstr "Plantilla:" #: ../template/default/config.html:60 ../template/default/help_config.html:42 msgid "Skin:" @@ -409,11 +409,11 @@ msgstr "Piel:" #: ../template/default/config.html:72 ../template/default/help_config.html:44 msgid "Login Page:" -msgstr "Página de inicio:" +msgstr "Página al inicio:" #: ../template/default/config.html:82 ../template/default/config.html:402 msgid "Gets active after restarting VDRAdmin" -msgstr "Se activará despúes de reiniciar VDRAdmin" +msgstr "Se va a ser visible despúes de reiniciar VDRAdmin" #: ../template/default/config.html:84 ../template/default/help_config.html:46 msgid "Number of channels to use:" @@ -421,7 +421,7 @@ msgstr "Cantidad de emisoras en uso:" #: ../template/default/config.html:90 ../template/default/help_config.html:48 msgid "Local net (no login required):" -msgstr "Red local (sin contraseña será)" +msgstr "Red local (ningún contraseña requerido)" #: ../template/default/config.html:104 ../template/default/help_config.html:38 #: ../template/default/help_config.html:54 @@ -442,7 +442,7 @@ msgstr "La ruta de los ficheros de configuración:" #: ../template/default/config.html:132 ../template/default/help_config.html:62 msgid "Path to EPG images:" -msgstr "" +msgstr "Ruta de las las imagenes de EPG:" #: ../template/default/config.html:146 ../template/default/help_config.html:38 #: ../template/default/help_config.html:68 @@ -577,11 +577,11 @@ msgstr "¿Usar en \"Tabla de tiempo\"?" #: ../template/default/config.html:459 msgid "In \"Channels\"?" -msgstr "" +msgstr "¿En \"emisoras\"?" #: ../template/default/config.html:468 msgid "In \"Playing Today\"?" -msgstr "" +msgstr "¿En \"Estrenos hoy\"?" #: ../template/default/config.html:477 msgid "In \"What's On Now\"?" @@ -616,11 +616,11 @@ msgstr "Fecha" #: ../template/default/timer_list.html:303 msgid "This timer is inactive!" -msgstr "¡Ésta programación está desactivada!" +msgstr "¡Esta programación está desactivada!" #: ../template/default/timer_list.html:306 msgid "This timer is impossible!" -msgstr "¡Ésta programación es imposible!" +msgstr "¡Esta programación es imposible!" #: ../template/default/timer_list.html:309 msgid "No more timers on other transponders possible!" @@ -628,7 +628,7 @@ msgstr "¡No se puede añadir más programaciones!" #: ../template/default/timer_list.html:312 msgid "Timer OK." -msgstr "Ésta programación es posible." +msgstr "Esta programación es posible." #: ../template/default/timer_list.html:317 msgid "Edit timer status?" @@ -649,11 +649,11 @@ msgstr "Borrar programaciones elegidas" #: ../template/default/prog_list.html:6 ../template/default/navigation.html:41 #: ../template/i18n.pl:5 msgid "Channels" -msgstr "Emisoras" +msgstr "EPG por emisoras" #: ../template/default/prog_list.html:33 msgid "Go!" -msgstr "¡venga!" +msgstr "¡Venga!" #: ../template/default/error.html:6 msgid "Error!" @@ -688,7 +688,7 @@ msgstr "Dimensiones:" #: ../template/default/tv.html:198 msgid "Open in separate window" -msgstr "Abrir en una ventana seperada" +msgstr "Abrir en una ventana separada" #: ../template/default/prog_detail.html:43 msgid "close" @@ -780,7 +780,7 @@ msgstr "El piel deseado." #: ../template/default/help_config.html:45 msgid "The page you want to see at first connect to VDRAdmin." -msgstr "La página que quieres ver al inicio del VDRAdmin." +msgstr "La página deseada al inicio del VDRAdmin." #: ../template/default/help_config.html:47 msgid "" @@ -794,16 +794,17 @@ msgid "" "update manually in the <span class=\"ref_menu\">AutoTimer</span> menu or " "restart VDRAdmin." msgstr "" -"VDRAdmin solo cargará el numero ajustado de las emisoras del VDR y " -"presentará esta misma cantidad en cada uno de los campos, donde se puede " -"elegir canales. Así tambien está limitado la información de la EPG que " -"VDRAdmin leerá, que va a reducir el consumo de memoria VDRAdmin y mejorar " -"así su rendimiento. <strong>0</strong> apaga esta funcción y VDRAdmin " -"utilizará todas las emisoras posibles. \n" -"<h4>Nota:</h4> Cambios tardan en ser establizados, por que hace falta para " -"VDRAdmin conectarse al VDR para actualizar su informaciones de la EPG. Se " -"puede forzar una actualización manualmente en el menú <span class=\"ref_menu" -"\">Autoprogramaciones</span> o reiniciando VDRAdmin." +"VDRAdmin solo utilizará tantas emisoras del VDR que se ajusta aquí y " +"presentará esta cantidad en cada campo, donde es posible elegir canales. Así " +"también está limitado la información de la EPG que VDRAdmin leerá, que va a " +"reducir el consumo de memoria de VDRAdmin y mejorar así su rendimiento. " +"<strong>0</strong> desactivará esta funcción y VDRAdmin utilizará todas las " +"emisoras posibles. \n" +"<h4>Nota:</h4> Cambios tardan en ser establizados, por que VDRAdmin ha que " +"conectarse al VDR para actualizar sus informaciones de la EPG (Guia " +"electronica de programas). Se puede forzar una actualización manualmente en " +"el menú <span class=\"ref_menu\">Autoprogramaciones</span> o también " +"reiniciando VDRAdmin." #: ../template/default/help_config.html:49 msgid "" @@ -812,9 +813,9 @@ msgid "" "starting with \"192.168.0\", \"192.168.0.123/32\" will only match " "\"192.168.0.123\"." msgstr "" -"Aquí se especifica una dirección IP o rango para permitir conección sin " -"necesidad de inicar una sesión con contraseña. Por ejemplo: \"192.168.0.0/24" -"\" incluye cada IP empezando en \"192.168.0\", \"192.168.0.123/32\" resulta " +"Aquí se especifica una dirección IP o rango para una conexión sin necesidad " +"de inicar una sesión con contraseña. Por ejemplo: \"192.168.0.0/24\" incluye " +"cada IP empezando en \"192.168.0\", \"192.168.0.123/32\" resultaria " "\"192.168.0.123\"." #: ../template/default/help_config.html:51 @@ -827,7 +828,7 @@ msgstr "" #: ../template/default/help_config.html:146 #: ../template/default/help_config.html:153 msgid "Top" -msgstr "Tope" +msgstr "Al principio" #: ../template/default/help_config.html:57 msgid "" @@ -864,7 +865,7 @@ msgstr "" #: ../template/default/help_config.html:63 msgid "The path where the EPG images are stored." -msgstr "" +msgstr "La ruta donde se guarda las imagenes de EPG" #: ../template/default/help_config.html:71 msgid "" @@ -982,7 +983,7 @@ msgstr "" "Los minutos subtraidos por VDRAdmin de la hora del inicio encontrado en la " "EPG. Este valor se agrega al principio de una grabación y se usará para " "programaciones programadas de Autoprogramaciones como aquellas programadas " -"haciendo clíc en \"Grabar\" en cualquier vista de EPG." +"haciendo clic en \"Grabar\" en cualquier vista de EPG." #: ../template/default/help_config.html:117 msgid "" @@ -993,7 +994,7 @@ msgstr "" "Los minutos añadidos por VDRAdmin a la hora de la parada encontrada en la " "EPG. Este valor en minutos se agrega al final de una grabación y se utiliza " "para programaciones programadas de Autoprogramaciones como aquellas " -"programadas haciendo clíc en \"Grabar\" en cualquier vista de EPG." +"programadas haciendo clic en \"Grabar\" en cualquier vista de EPG." #: ../template/default/help_config.html:125 msgid "" @@ -1081,7 +1082,6 @@ msgstr "" "ejecutando un orden del fichero <span class=\"ref_file\">reccmd.conf</span>." #: ../template/default/help_config.html:150 -#, fuzzy msgid "" "<p>If you want to limit the number of channels used in some parts of " "VDRAdmin, this is for you!</p><p>Use the radio buttons to activate or " @@ -1098,7 +1098,7 @@ msgstr "" "las emisoras deseadas.</p>\n" "<p>Emisoras se puede añadir seleccionando una o más en el campo izquierda " "(Elegir más que uno se permite con el botón \"CTRL\" apretando mientras " -"haces clíc en las emisoras). Al final haces clíc en el botón <span class=" +"haces clic en las emisoras). Al final haces clic en el botón <span class=" "\"submit\">>>>>></span>. Para desmarcar emisoras funcciona " "viceversa.</p>" @@ -1128,7 +1128,6 @@ msgid "New Name of Recording:" msgstr "Título nuevo de la grabación:" #: ../template/default/help_timer_list.html:33 -#, fuzzy msgid "" "<p>Here you will find a listing of timers known to VDR.</p><p>On top you " "will find a chart showing a day's timers graphically. This provides an quick " @@ -1150,68 +1149,67 @@ msgid "" "dd></dl></p><p>Each timer's state is indicated by differently coloured boxes " "(in the chart view) or images (in the list view):<br /><span class=\"color_ok" "\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on" -"\" align=\"absmiddle\" /> Timer is OK and will record.<br /><span class=" +"\" align=\"middle\" /> Timer is OK and will record.<br /><span class=" "\"color_collision\"> </span> / <img src=\"bilder/" -"poempl_gelb.gif\" alt=\"problem\" align=\"absmiddle\" /> Timer conflicts " -"with other timers. That's not critical, as long as you have enough DVB cards " -"for the parallel recordings.<br /><span class=\"color_conflict\"> " +"poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Timer conflicts with " +"other timers. That's not critical, as long as you have enough DVB cards for " +"the parallel recordings.<br /><span class=\"color_conflict\"> " " </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> Timer is critical and will most likely <strong>not</strong> " +"\"middle\" /> Timer is critical and will most likely <strong>not</strong> " "record.<br /><span class=\"color_inactive\"> </span> / <img " -"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> Timer " -"is not active.</p><p>In addition to these functions you can add a new timer " -"by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " +"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> Timer is " +"not active.</p><p>In addition to these functions you can add a new timer by " +"clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " "the top and you can delete a number of timers at once by checking the box in " "the last column of those timers and clicking <input type=\"submit\" class=" "\"submit\" value=\"Delete Selected Timers\"/>.</p>" msgstr "" -"<p>Aquí encontarás una lista de programaciones conocidas para VDR.</p>\n" -"<p>Al tope hay un dibujo mostrando las programaciones del dia graficamente. " +"<p>Aquí encontrarás una lista de programaciones conocidas para VDR.</p>\n" +"<p>Arriba hay un diagrama mostrando graficamente las programaciones del dia. " "Te ofrece una vista rápida de las programaciones pendientes y te ayuda " "encontrar programaciones conflictivas. Moviendo la flecha del ratón encima " -"de cualquier programación te enseñará título, prioridad, durabilidad y " +"de cualquier programación verás el título, la prioridad, la durabilidad y la " "duracion de la programación.</p>\n" -"<p>Abajo del dibujo encuentras la lista de programaciones visualizando unas " -"informaciones de las programaciones. Se puede cambiar el orden de la lista " -"con un clíc en el tope de la columna correspondiente.</p>\n" +"<p>Abajo del diagrama encuentras la lista de programaciones visualizando " +"unas informaciones de las programaciones. Se puede cambiar el orden de la " +"lista con un clic en el tope de la columna correspondiente.</p>\n" "<p>Para cada programación tienes las siguientes opciones:<dl>\n" "<dt>Establecer su estado</dt>\n" -"<dd>Hacer clíc en \"Sí\", \"No\", \"VPS\" o \"Auto\" en la columna \"Activa" +"<dd>Hacer clic en \"Sí\", \"No\", \"VPS\" o \"Auto\" en la columna \"Activa" "\".</dd>\n" "<dt>Vista rápida de la prioridad y durabilidad</dt>\n" "<dd>Moviendo la flecha del ratón encima del título de programación.</dd>\n" "<dt>Vista de la entrada del EPG</dt>\n" "<dd>Programaciones con <span class=\"ref_label\">Autotest programación</" "span> para la \"Identificación de la transmisión\" enseñarán la entrada " -"correspondiente del EPG si haces clíc en el título.</dd>\n" +"correspondiente del EPG si haces clic en el título.</dd>\n" "\n" "<dt>Modificar programación</dt>\n" -"<dd>Se puede editar una programación haciendo clíc en <img src=\"bilder/edit." +"<dd>Se puede editar una programación haciendo clic en <img src=\"bilder/edit." "gif\" alt=\"editar\" />.</dd>\n" "\n" "<dt>Borrar la programación</dt>\n" -"<dd>Se puede borrar una programación haciendo clíc en <img src=\"bilder/" +"<dd>Se puede borrar una programación haciendo clic en <img src=\"bilder/" "delete.gif\" alt=\"borrar\" />.</dd></dl></p>\n" "\n" -"<p>El estado de cada una de las programaciones está indicado por casillas de " -"diferentes colores (la vista de chart) o imagenes (la vista de lista):<br /" -">\n" +"<p>El estado de cualquiera programación está indicado por iconos de " +"diferentes colores (la vista como diagrama) o imagenes (la vista como lista):" +"<br />\n" "<span class=\"color_ok\"> </span> / <img src=\"bilder/" -"poempl_gruen.gif\" alt=\"activa\" align=\"absmiddle\" /> OK para la " +"poempl_gruen.gif\" alt=\"activa\" align=\"middle\" /> OK para la " "programación y grabará.<br /><span class=\"color_collision\"> " " </span> / <img src=\"bilder/poempl_gelb.gif\" alt=\"problema\" align=" -"\"absmiddle\" /> Conflictos con otras programaciones. Ësto no produzca " -"ningún problema, si hay bastantes tarjetas DVB para grabar en paralelo.<br /" -">\n" +"\"middle\" /> Conflictos con otras programaciones. Ésto no produzca ningún " +"problema, si hay bastantes tarjetas DVB para grabar en paralelo.<br />\n" "<span class=\"color_conflict\"> </span> / <img src=\"bilder/" -"poempl_rot.gif\" alt=\"imposible\" align=\"absmiddle\" /> Programación " -"crítica que probablemente <strong>no</strong> grabará.<br />\n" +"poempl_rot.gif\" alt=\"imposible\" align=\"middle\" /> Programación crítica " +"que probablemente <strong>no</strong> grabará.<br />\n" "<span class=\"color_inactive\"> </span> / <img src=\"bilder/" -"poempl_grau.gif\" alt=\"inactiva\" align=\"absmiddle\" /> Programación " -"inactiva.</p>\n" -"<p>Además puedes añadir una programación nueva clíceando encima de <span " +"poempl_grau.gif\" alt=\"inactiva\" align=\"middle\" /> Programación inactiva." +"</p>\n" +"<p>Además puedes añadir una programación nueva cliqueando encima de <span " "class=\"submit\">Añadir programación</span> arriba y se puede borrar " -"programaciones por lote clíceando encima <span class=\"submit\">Borrar " +"programaciones por lote cliqueando encima <span class=\"submit\">Borrar " "programaciones seleccionadas</span> al final de la columna.</p>" #: ../template/default/help_timer_new.html:32 @@ -1326,7 +1324,6 @@ msgstr "" "\">info.vdr</span> de la grabación." #: ../template/default/help_at_timer_list.html:33 -#, fuzzy msgid "" "<p>Here you will find a listing of automatic timers (AutoTimer) known to " "VDRAdmin.</p><p>The list shows some information on AutoTimers. You can " @@ -1339,9 +1336,9 @@ msgid "" "alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer " "you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></" "p><p>Each AutoTimer's state is indicated by differently coloured images:<br /" -"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> " "AutoTimer is OK and will automatically program matching broadcasts.<br /" -"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> " "AutoTimer is not active.</p><p>In addition to these functions you can add a " "new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=" "\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at " @@ -1353,13 +1350,13 @@ msgid "" msgstr "" "<p>Aqui se encuentra una lista de todos las autoprogramaciones conocidas por " "VDRAdmin.</p>\n" -"<p>La lista contiene informaciones por las autoprogramaciones. Se puede " -"cambiar el orden de la lista haciendo clíc en los títulos de las columnas.</" +"<p>La lista contiene informaciones de las autoprogramaciones. Se puede " +"cambiar el orden de la lista haciendo clic en los títulos de las columnas.</" "p>\n" "\n" -"<p>Para cada autoprogramación hay tres opciones:<dl>\n" +"<p>Para cada autoprogramación hay las opciones siguientes:<dl>\n" "<dt>Cambiar estado</dt>\n" -"<dd>Haciendo clíc en \"Sí\" o \"No\" en la columna \"Activada\" se puede " +"<dd>Haciendo clic en \"Sí\" o \"No\" en la columna \"Activada\" se puede " "activar y desactivar.</dd>\n" "\n" "<dt>Vista rapida de prioridad y durabilidad</dt>\n" @@ -1367,28 +1364,28 @@ msgstr "" "autoprogramación.</dd>\n" "\n" "<dt>Modificar autoprogramación</dt>\n" -"<dd>Se realiza una edición haciendo clíc en <img src=\"bilder/edit.gif\" alt=" +"<dd>Se realiza una edición haciendo clic en <img src=\"bilder/edit.gif\" alt=" "\"editar\" />.</dd>\n" "\n" "<dt>Borrar autoprogramación</dt>\n" -"<dd>Para borrar una autoprogramación hay que hacer clíc en <img src=\"bilder/" +"<dd>Para borrar una autoprogramación hay que hacer clic en <img src=\"bilder/" "delete.gif\" alt=\"borrar\" />.</dd>\n" "</dl></p>\n" "<p>El estado de una autoprogramación está indicada por colores diferentes:" "<br />\n" -"<img src=\"bilder/poempl_gruen.gif\" alt=\"Activa\" align=\"absmiddle\" /> " -"La autoprogramación está bien y va programar automáticamente estrenos " +"<img src=\"bilder/poempl_gruen.gif\" alt=\"Activa\" align=\"middle\" /> La " +"autoprogramación está bien y va programar automáticamente estrenos " "coincidentes.<br />\n" -"<img src=\"bilder/poempl_grau.gif\" alt=\"inactiva\" align=\"absmiddle\" /> " -"La autoprogramación está desactivada.</p>\n" -"<p>Adicionalmente se puede añadir otra autoprogramación más, haciendo clíc " -"en <span class=\"submit\">Añadir autoprogramación</span> al tope. Más abajo " -"se encuentra el botón <span class=\"submit\">Borrar autoprogramaciones " +"<img src=\"bilder/poempl_grau.gif\" alt=\"inactiva\" align=\"middle\" /> La " +"autoprogramación está desactivada.</p>\n" +"<p>Además se puede añadir otra autoprogramación más, haciendo clic en <span " +"class=\"submit\">Añadir autoprogramación</span> al tope. Más abajo se " +"encuentra el botón <span class=\"submit\">Borrar autoprogramaciones " "elegidas</span>, con cuál es posible borrar las autoprogramaciones marcadas " "en la lista por lotes.</p>\n" -"<p>Con el botón <span class=\"submit\">Actualizar manualmente</span> puedes " -"arrancar una búsqueda inmediatamente en los datos actuales de la EPG récien " -"actualizados.</p>" +"<p>Con el botón <span class=\"submit\">Actualizar manualmente</span> " +"arrancarás una búsqueda inmediatamente en los datos actuales de la EPG " +"récien actualizados.</p>" #: ../template/default/help_at_timer_new.html:12 #: ../template/default/help_at_timer_new.html:24 @@ -1658,9 +1655,9 @@ msgstr "" "<p>Aquí se ve una lista de todas las grabaciones disponibles en el VDR. En " "la fila encabezada se puede ver el espacio total y libre del VDR.</p>\n" "<p>Esta lista contiene unas informaciones de las grabaciones. Se puede " -"cambiar el orden de la lista haciendo clíc en los títulos de las columnas. " +"cambiar el orden de la lista haciendo clic en los títulos de las columnas. " "Encima se ve la ruta de navegar. Si quieres ver el contenido de una carpeta " -"visitada anteriormente, se puede hacer clíc en el nombre de la carpeta en " +"visitada anteriormente, se puede hacer clic en el nombre de la carpeta en " "esa ruta.</p>\n" "<p>Cada fila contiene las informaciones siguientes:<dl>\n" "\n" @@ -1673,7 +1670,7 @@ msgstr "" "grabaciones <strong>nuevas</strong>.</dd>\n" "\n" "<dt>Nombre</dt>\n" -"<dd>El nombre de la carpeta o de la grabación. Se hace clíc para ver el " +"<dd>El nombre de la carpeta o de la grabación. Se hace clic para ver el " "contenido o un resúmen de la grabación..</dd>\n" "\n" "<dt>Renombrar (<img src=\"bilder/edit.gif\" alt=\"edit\" />)</dt>\n" @@ -1692,7 +1689,7 @@ msgstr "" "\"ref_menu\">Configuraciones</span>. Así entonces es posible ver las " "grabaciones en tu ordenador.</dd></dl></p>\n" "<p>Además es posible borrar varias grabaciones por lotes, marcando la " -"casilla de cada una deseada y haciendo clíc en <span class=\"submit" +"casilla de cada una deseada y haciendo clic en <span class=\"submit" "\">Borrar grabaciones elegidas</span>.</p>\n" "<p>Wenn Sie den Pfad zu den VDR Konfigurationsdateien eingestellt haben und " "es dort die Datei <span class=\"ref_file\">reccmds.conf</span> gibt, können " @@ -1778,16 +1775,16 @@ msgstr "vdradmind.pl %s se ha iniciado con pid %d." #: ../vdradmind.pl:2432 msgid "Playing Tomorrow" -msgstr "" +msgstr "Estrenos mañana" #: ../vdradmind.pl:2432 #, perl-format msgid "Playing on the %d." -msgstr "" +msgstr "Estrenos en %d" #: ../template/i18n.pl:3 msgid "Playing Today?" -msgstr "Estrenos hoy" +msgstr "¿Estrenos hoy?" #: ../template/i18n.pl:6 msgid "Timers" @@ -1839,7 +1836,7 @@ msgid "Schedule" msgstr "Vista general" #~ msgid "In \"Channels\" / \"Playing Today\"?" -#~ msgstr "¿Usar en \"Datos de la guía electrónica (EPG)\"?" +#~ msgstr "¿Usar en \"EPG (Guía electrónica) por emisoras\"?" #~ msgid "more" #~ msgstr "más" @@ -1946,10 +1943,10 @@ msgstr "Vista general" #~ "tarjetas de DVB hay.</p>\n" #~ "\n" #~ "<b>Identificaciones:</b>\n" -#~ "<p>Ház clíc encima de |<input type=\"radio\"> <i>sí</i> | o |<input type=" -#~ "\"radio\" checked> <i>no</i> | para activar una cuenta de un <i>invitado</" -#~ "i>. Usuario y contraseña tienes que cambiar por algunas palabras más " -#~ "seguras, si estás conectado al ínternet.</p>\n" +#~ "<p>Ház clic en |<input type=\"radio\"> <i>sí</i> | o |<input type=\"radio" +#~ "\" checked> <i>no</i> | para activar una cuenta de un <i>invitado</i>. " +#~ "Usuario y contraseña tienes que cambiar por algunas palabras más seguras, " +#~ "si estás conectado al ínternet.</p>\n" #~ "\n" #~ "<b>Tabla de tiempo:</b>\n" #~ "<p>Ésta página te ofrece una vista de las canales como una tabla, en " @@ -1961,10 +1958,10 @@ msgstr "Vista general" #~ "donde entonces puedes elegir entre esos valores predeterminados.</p>\n" #~ "\n" #~ "<b>Propiedades de las autoprogramaciones:</b>\n" -#~ "<p>Ház clíc encima de |<input type=\"radio\" checked> <i>sí</i> | o |" -#~ "<input type=\"radio\"> <i>no</i> | para activar las autoprogramaciones. " -#~ "Ajusta tambien con que frequencia se van a hacer las búsquedas en los " -#~ "datos de la guía electrónica (EPG) por las <i>Palabras claves</i>.\n" +#~ "<p>Ház clic en |<input type=\"radio\" checked> <i>sí</i> | o |<input type=" +#~ "\"radio\"> <i>no</i> | para activar las autoprogramaciones. Ajusta " +#~ "tambien con que frequencia se van a hacer las búsquedas en los datos de " +#~ "la guía electrónica (EPG) por las <i>Palabras claves</i>.\n" #~ "<br>La durabilidad se puede ajustar entre 0 y 99 para dar a la grabación " #~ "creada de ésta autoprogramación el valor deseado. El valor se refiere al " #~ "día de la grabacion - más el rango que pones.<br>\n" @@ -2052,8 +2049,8 @@ msgstr "Vista general" #~ msgstr "" #~ "<b>Programación:</b>\n" #~ "<p>Vista general de todas las programaciones.<br>\n" -#~ "Ház clíc encima de |<img src=\"bilder/poempl_gruen.gif\" alt=\"activado\" " -#~ "valign=\"center\"> <i>sí</i> | o |<img src=\"bilder/poempl_grau.gif\" alt=" +#~ "Ház clic en |<img src=\"bilder/poempl_gruen.gif\" alt=\"activado\" valign=" +#~ "\"center\"> <i>sí</i> | o |<img src=\"bilder/poempl_grau.gif\" alt=" #~ "\"noencendido\" valign=\"center\"> <i>no</i> | en la columna <i>Activado</" #~ "i>, para activar o desactivar un registro correspondiente.<br>\n" #~ "<img src=\"bilder/poempl_gelb.gif\" alt=\"conflicto\" valign=\"center\"> " @@ -2061,12 +2058,12 @@ msgstr "Vista general" #~ "disponible para cada una de las programaciones o estén en la misma " #~ "frecuencia. Con el símbolo <img src=\"bilder/poempl_rot.gif\" alt=" #~ "\"imposible\" valign=\"center\"> la programaciõn es imposible.<br>\n" -#~ "Para modificar un registro, ház clíc encima del símbolo <img src=\"bilder/" -#~ "edit.gif\" alt=\"Lapíz\" valign=\"center\">, para borrar encima de la " -#~ "<img src=\"bilder/delete.gif\" alt=\"Goma\" valign=\"center\">. Si " -#~ "quieres borrar varios registros de una vez, marca (<input type=\"checkbox" -#~ "\" checked>) la casilla a lado de los registros y ház clíc encima " -#~ "<i>Borrar programaciones elegidas</i> al final de la lista.</p>" +#~ "Para modificar un registro, ház clic enl símbolo <img src=\"bilder/edit." +#~ "gif\" alt=\"Lapíz\" valign=\"center\">, para borrar en la <img src=" +#~ "\"bilder/delete.gif\" alt=\"Goma\" valign=\"center\">. Si quieres borrar " +#~ "varios registros de una vez, marca (<input type=\"checkbox\" checked>) la " +#~ "casilla a lado de los registros y ház clic encima <i>Borrar " +#~ "programaciones elegidas</i> al final de la lista.</p>" #~ msgid "" #~ "<p>No help available for <b>Add Timer:</b> yet. For adding text please " @@ -2093,16 +2090,15 @@ msgstr "Vista general" #~ msgstr "" #~ "<b>Autoprogramación:</b><br>\n" #~ "<p>Vista general de todos los registros de Autoprogramación.</p>\n" -#~ "<p>Ház clíc encima de |<img src=\"bilder/poempl_gruen.gif\" alt=" -#~ "\"encendido\" valign=\"center\"> <i>sí</i> | o |<img src=\"bilder/" -#~ "poempl_grau.gif\" alt=\"noencendido\" valign=\"center\"> <i>no</i> | en " -#~ "la columna <i>Activada</i>, para activar o desactivar un registro " -#~ "correspondiente.</br>\n" -#~ "Para modificar un registro, ház clíc encima del símbolo <img src=\"bilder/" -#~ "edit.gif\" alt=\"Lapíz\" valign=\"center\">, para borrar encima de la " -#~ "<img src=\"bilder/delete.gif\" alt=\"Goma\" valign=\"center\">.<br>\n" +#~ "<p>Ház clic en |<img src=\"bilder/poempl_gruen.gif\" alt=\"encendido\" " +#~ "valign=\"center\"> <i>sí</i> | o |<img src=\"bilder/poempl_grau.gif\" alt=" +#~ "\"noencendido\" valign=\"center\"> <i>no</i> | en la columna <i>Activada</" +#~ "i>, para activar o desactivar un registro correspondiente.</br>\n" +#~ "Para modificar un registro, ház clic en el símbolo <img src=\"bilder/edit." +#~ "gif\" alt=\"Lapíz\" valign=\"center\">, para borrar en la <img src=" +#~ "\"bilder/delete.gif\" alt=\"Goma\" valign=\"center\">.<br>\n" #~ "Si quieres borrar varios registros de una vez, marca (<input type=" -#~ "\"checkbox\" checked>) el campo junto a los registros y ház clíc encima " +#~ "\"checkbox\" checked>) el campo junto a los registros y ház clic encima " #~ "de <i>Borrar autoprogramaciones elegidas</i> al final de la lista.\n" #~ "</p>" @@ -2186,7 +2182,7 @@ msgstr "Vista general" #~ "<b>Grabaciones</b>\n" #~ "<p>Aquí se puede ver todas las grabaciones hechas en el VDR conectado. \n" #~ "Desde aquí se puede cambiar título y carpeta de las grabaciones, haciendo " -#~ "clíc encima del símbolo <img src=\"bilder/edit.gif\" alt=\"pen\" valign=" +#~ "clic en el símbolo <img src=\"bilder/edit.gif\" alt=\"pen\" valign=" #~ "\"center\">. Tambien se puede eliminar grabaciones con el símbolo <img " #~ "src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\">. \n" #~ "<br>La ruta de las grabaciones se separan por carpetas usando la ˜</" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDRAdmin-0.97-AM3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-09-23 10:28+0200\n" +"POT-Creation-Date: 2005-10-03 10:15+0200\n" "PO-Revision-Date: 2005-06-17 12:36+0200\n" "Last-Translator: Rofa\n" "Language-Team: Suomi\n" @@ -427,7 +427,7 @@ msgstr "Konfigurointitiedostojen polku:" #: ../template/default/config.html:132 ../template/default/help_config.html:62 msgid "Path to EPG images:" -msgstr "" +msgstr "Ohjelmisto-oppaan kuvien polku:" #: ../template/default/config.html:146 ../template/default/help_config.html:38 #: ../template/default/help_config.html:68 @@ -561,11 +561,11 @@ msgstr "Käytä kanavavalintoja \"Aikajana\"-sivulla" #: ../template/default/config.html:459 msgid "In \"Channels\"?" -msgstr "" +msgstr "Käytä kanavavalintoja \"Kanavat\"-sivulla" #: ../template/default/config.html:468 msgid "In \"Playing Today\"?" -msgstr "" +msgstr "Käytä kanavavalintoja \"Ohjelmisto tänään\"-sivulla" #: ../template/default/config.html:477 msgid "In \"What's On Now\"?" @@ -1032,17 +1032,17 @@ msgid "" "dd></dl></p><p>Each timer's state is indicated by differently coloured boxes " "(in the chart view) or images (in the list view):<br /><span class=\"color_ok" "\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on" -"\" align=\"absmiddle\" /> Timer is OK and will record.<br /><span class=" +"\" align=\"middle\" /> Timer is OK and will record.<br /><span class=" "\"color_collision\"> </span> / <img src=\"bilder/" -"poempl_gelb.gif\" alt=\"problem\" align=\"absmiddle\" /> Timer conflicts " -"with other timers. That's not critical, as long as you have enough DVB cards " -"for the parallel recordings.<br /><span class=\"color_conflict\"> " +"poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Timer conflicts with " +"other timers. That's not critical, as long as you have enough DVB cards for " +"the parallel recordings.<br /><span class=\"color_conflict\"> " " </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> Timer is critical and will most likely <strong>not</strong> " +"\"middle\" /> Timer is critical and will most likely <strong>not</strong> " "record.<br /><span class=\"color_inactive\"> </span> / <img " -"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> Timer " -"is not active.</p><p>In addition to these functions you can add a new timer " -"by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " +"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> Timer is " +"not active.</p><p>In addition to these functions you can add a new timer by " +"clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " "the top and you can delete a number of timers at once by checking the box in " "the last column of those timers and clicking <input type=\"submit\" class=" "\"submit\" value=\"Delete Selected Timers\"/>.</p>" @@ -1140,9 +1140,9 @@ msgid "" "alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer " "you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></" "p><p>Each AutoTimer's state is indicated by differently coloured images:<br /" -"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> " "AutoTimer is OK and will automatically program matching broadcasts.<br /" -"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> " "AutoTimer is not active.</p><p>In addition to these functions you can add a " "new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=" "\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at " @@ -1425,12 +1425,12 @@ msgstr "vdradmind.pl %s käynnistetty prosessitunnisteella %d." #: ../vdradmind.pl:2432 msgid "Playing Tomorrow" -msgstr "" +msgstr "Ohjelmisto huomenna" #: ../vdradmind.pl:2432 #, perl-format msgid "Playing on the %d." -msgstr "" +msgstr "Ohjelmisto %d. päivä" #: ../template/i18n.pl:3 msgid "Playing Today?" @@ -1484,7 +1484,3 @@ msgstr "Komennon lähetys VDR:lle epäonnistui (%s)" #: ../template/i18n.pl:23 msgid "Schedule" msgstr "Ohjelmisto" - -#~ msgid "In \"Channels\" / \"Playing Today\"?" -#~ msgstr "" -#~ "Käytä kanavavalintoja \"Kanavat\"- ja \"Ohjelmisto tänään\"-sivuilla" @@ -18,9 +18,9 @@ msgid "" msgstr "" "Project-Id-Version: VDRAdmin-0.97-AM3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-09-23 10:28+0200\n" -"PO-Revision-Date: 2005-06-23 09:16+0000\n" -"Last-Translator: Bads\n" +"POT-Creation-Date: 2005-10-03 10:15+0200\n" +"PO-Revision-Date: 2005-10-04 14:02+0100\n" +"Last-Translator: Trois Six <trois.six@free.fr>\n" "Language-Team: <fr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,17 +29,25 @@ msgstr "" "X-Poedit-Country: FRANCE\n" "X-Generator: KBabel 1.10\n" -#: ../template/default/noperm.html:4 ../template/default/index.html:5 -#: ../template/default/timer_new.html:5 ../template/default/help_no.html:5 -#: ../template/default/rc.html:5 ../template/default/noauth.html:4 +#: ../template/default/noperm.html:4 +#: ../template/default/index.html:5 +#: ../template/default/timer_new.html:5 +#: ../template/default/help_no.html:5 +#: ../template/default/rc.html:5 +#: ../template/default/noauth.html:4 #: ../template/default/at_timer_list.html:5 -#: ../template/default/prog_summary.html:6 ../template/default/config.html:4 -#: ../template/default/timer_list.html:5 ../template/default/prog_list.html:5 -#: ../template/default/error.html:5 ../template/default/tv.html:6 -#: ../template/default/prog_detail.html:5 ../template/default/rec_list.html:5 +#: ../template/default/prog_summary.html:6 +#: ../template/default/config.html:4 +#: ../template/default/timer_list.html:5 +#: ../template/default/prog_list.html:5 +#: ../template/default/error.html:5 +#: ../template/default/tv.html:6 +#: ../template/default/prog_detail.html:5 +#: ../template/default/rec_list.html:5 #: ../template/default/help_config.html:8 #: ../template/default/prog_timeline.html:6 -#: ../template/default/prog_list2.html:5 ../template/default/rec_edit.html:5 +#: ../template/default/prog_list2.html:5 +#: ../template/default/rec_edit.html:5 #: ../template/default/help_timer_list.html:5 #: ../template/default/help_timer_new.html:8 #: ../template/default/help_at_timer_list.html:5 @@ -54,11 +62,13 @@ msgstr "charset=ISO-8859-1" msgid "Your Browser does not support frames!" msgstr "Votre Navigateur ne supporte pas les frames !" -#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:49 +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:49 msgid "Create New Timer" msgstr "Créer Nouvelle Programmation" -#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:49 +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:49 #: ../template/default/help_timer_new.html:9 #: ../template/default/help_timer_new.html:21 msgid "Edit Timer" @@ -66,7 +76,8 @@ msgstr "Editer Programmation" #: ../template/default/timer_new.html:53 #: ../template/default/at_timer_list.html:39 -#: ../template/default/config.html:23 ../template/default/timer_list.html:47 +#: ../template/default/config.html:23 +#: ../template/default/timer_list.html:47 #: ../template/default/rec_list.html:27 #: ../template/default/at_timer_new.html:24 msgid "Help" @@ -79,12 +90,18 @@ msgstr "Programmation Active :" #: ../template/default/timer_new.html:75 #: ../template/default/at_timer_list.html:128 -#: ../template/default/config.html:170 ../template/default/config.html:241 -#: ../template/default/config.html:343 ../template/default/config.html:358 -#: ../template/default/config.html:406 ../template/default/config.html:421 -#: ../template/default/config.html:452 ../template/default/config.html:461 -#: ../template/default/config.html:470 ../template/default/config.html:479 -#: ../template/default/config.html:488 ../template/default/timer_list.html:318 +#: ../template/default/config.html:170 +#: ../template/default/config.html:241 +#: ../template/default/config.html:343 +#: ../template/default/config.html:358 +#: ../template/default/config.html:406 +#: ../template/default/config.html:421 +#: ../template/default/config.html:452 +#: ../template/default/config.html:461 +#: ../template/default/config.html:470 +#: ../template/default/config.html:479 +#: ../template/default/config.html:488 +#: ../template/default/timer_list.html:318 #: ../template/default/at_timer_new.html:48 #: ../template/default/at_timer_new.html:52 #: ../template/default/at_timer_new.html:154 @@ -93,12 +110,18 @@ msgstr "Oui" #: ../template/default/timer_new.html:76 #: ../template/default/at_timer_list.html:130 -#: ../template/default/config.html:171 ../template/default/config.html:242 -#: ../template/default/config.html:344 ../template/default/config.html:359 -#: ../template/default/config.html:407 ../template/default/config.html:422 -#: ../template/default/config.html:453 ../template/default/config.html:462 -#: ../template/default/config.html:471 ../template/default/config.html:480 -#: ../template/default/config.html:489 ../template/default/timer_list.html:319 +#: ../template/default/config.html:171 +#: ../template/default/config.html:242 +#: ../template/default/config.html:344 +#: ../template/default/config.html:359 +#: ../template/default/config.html:407 +#: ../template/default/config.html:422 +#: ../template/default/config.html:453 +#: ../template/default/config.html:462 +#: ../template/default/config.html:471 +#: ../template/default/config.html:480 +#: ../template/default/config.html:489 +#: ../template/default/timer_list.html:319 #: ../template/default/at_timer_new.html:49 #: ../template/default/at_timer_new.html:53 #: ../template/default/at_timer_new.html:155 @@ -115,17 +138,20 @@ msgstr "Vérification Auto-Programmation :" msgid "Transmission Identification" msgstr "Identification Transmission" -#: ../template/default/timer_new.html:87 ../template/default/rec_list.html:70 +#: ../template/default/timer_new.html:87 +#: ../template/default/rec_list.html:70 #: ../template/default/help_timer_new.html:41 msgid "Time" msgstr "Horaires" -#: ../template/default/timer_new.html:88 ../template/default/tv.html:180 +#: ../template/default/timer_new.html:88 +#: ../template/default/tv.html:180 #: ../template/default/help_timer_new.html:43 msgid "off" msgstr "off" -#: ../template/default/timer_new.html:94 ../template/default/prog_list.html:27 +#: ../template/default/timer_new.html:94 +#: ../template/default/prog_list.html:27 #: ../template/default/help_timer_new.html:47 #: ../template/default/help_at_timer_new.html:46 #: ../template/default/at_timer_new.html:93 @@ -196,7 +222,8 @@ msgstr "Heure De Fin :" #: ../template/default/timer_new.html:144 #: ../template/default/at_timer_list.html:21 -#: ../template/default/config.html:254 ../template/default/config.html:298 +#: ../template/default/config.html:254 +#: ../template/default/config.html:298 #: ../template/default/timer_list.html:24 #: ../template/default/help_config.html:100 #: ../template/default/help_config.html:110 @@ -208,7 +235,8 @@ msgstr "Priorité :" #: ../template/default/timer_new.html:150 #: ../template/default/at_timer_list.html:21 -#: ../template/default/config.html:260 ../template/default/config.html:304 +#: ../template/default/config.html:260 +#: ../template/default/config.html:304 #: ../template/default/timer_list.html:24 #: ../template/default/help_config.html:102 #: ../template/default/help_config.html:112 @@ -228,51 +256,45 @@ msgstr "Titre d'Enregistrement :" msgid "Summary:" msgstr "Sommaire :" -#: ../template/default/timer_new.html:174 ../template/default/config.html:526 +#: ../template/default/timer_new.html:174 +#: ../template/default/config.html:526 #: ../template/default/at_timer_new.html:176 msgid "Save" msgstr "Enregistrer" -#: ../template/default/timer_new.html:175 ../template/default/rec_edit.html:58 +#: ../template/default/timer_new.html:175 +#: ../template/default/rec_edit.html:58 #: ../template/default/at_timer_new.html:177 msgid "Cancel" msgstr "Annuler" -#: ../template/default/help_no.html:6 ../template/default/help_no.html:18 +#: ../template/default/help_no.html:6 +#: ../template/default/help_no.html:18 msgid "No Help Available" msgstr "Pas d'aide disponible" #: ../template/default/help_no.html:29 -msgid "" -"<p>No help available yet. For adding or changing text please contact <a href=" -"\"mailto:mail@andreas.vdr-developer.org\">mail@andreas.vdr-developer.org</a>." -"</p>" -msgstr "" -"<p>Aucune aide n'est disponible. Pour ajouter ou changer du texte contactez " -"<a href=\"mailto:mail@andreas.vdr-developer.org\">mail@andreas.vdr-developer." -"org.</a>.</p>" +msgid "<p>No help available yet. For adding or changing text please contact <a href=\"mailto:mail@andreas.vdr-developer.org\">mail@andreas.vdr-developer.org</a>.</p>" +msgstr "<p>Aucune aide n'est disponible. Pour ajouter ou changer du texte contactez <a href=\"mailto:mail@andreas.vdr-developer.org\">mail@andreas.vdr-developer.org.</a>.</p>" -#: ../template/default/rc.html:6 ../template/default/navigation.html:61 +#: ../template/default/rc.html:6 +#: ../template/default/navigation.html:61 msgid "Remote Control" msgstr "Télécommande" -#: ../template/default/noauth.html:5 ../template/default/noauth.html:14 +#: ../template/default/noauth.html:5 +#: ../template/default/noauth.html:14 msgid "Authorization Required" msgstr "Autorisation Requise" #: ../template/default/noauth.html:15 -msgid "" -"This server could not verify that you are authorized to access the document " -"requested. Either you supplied the wrong credentials (e.g. bad password), or " -"your browser doesn't understand how to supply the credentials required." -msgstr "" -"Le serveur n'a pas pu vérifier que vous êtes autorisé à accéder au document " -"demandé. Ou vous avez fourni de mauvaises informations (par ex. mauvais mot " -"de passe), ou votre navigateur n'a pu fournir les informations requises." +msgid "This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g. bad password), or your browser doesn't understand how to supply the credentials required." +msgstr "Le serveur n'a pas pu vérifier que vous êtes autorisé à accéder au document demandé. Ou vous avez fourni de mauvaises informations (par ex. mauvais mot de passe), ou votre navigateur n'a pu fournir les informations requises." #: ../template/default/at_timer_list.html:6 #: ../template/default/at_timer_list.html:31 -#: ../template/default/config.html:229 ../template/default/help_config.html:38 +#: ../template/default/config.html:229 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:94 #: ../template/default/help_at_timer_list.html:6 #: ../template/default/help_at_timer_list.html:22 @@ -347,7 +369,8 @@ msgstr "Supprimer Programmations Sélectionnées ?" #: ../template/default/prog_summary.html:7 #: ../template/default/prog_timeline.html:7 -#: ../template/default/navigation.html:29 ../template/i18n.pl:2 +#: ../template/default/navigation.html:29 +#: ../template/i18n.pl:2 msgid "What's On Now?" msgstr "En ce Moment ?" @@ -367,7 +390,8 @@ msgid "at:" msgstr "à :" #: ../template/default/prog_summary.html:43 -#: ../template/default/prog_list.html:23 ../template/default/rec_list.html:149 +#: ../template/default/prog_list.html:23 +#: ../template/default/rec_list.html:149 #: ../template/default/prog_list2.html:56 msgid "Stream" msgstr "Flux" @@ -388,14 +412,16 @@ msgstr "Plus dáInformation" msgid "Record" msgstr "Enregistrer" -#: ../template/default/config.html:5 ../template/default/config.html:19 +#: ../template/default/config.html:5 +#: ../template/default/config.html:19 #: ../template/default/help_config.html:9 #: ../template/default/help_config.html:25 #: ../template/default/navigation.html:57 msgid "Configuration" msgstr "Configuration" -#: ../template/default/config.html:36 ../template/default/help_config.html:38 +#: ../template/default/config.html:36 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:40 msgid "General Settings" msgstr "Paramètres Généraux" @@ -404,110 +430,136 @@ msgstr "Paramètres Généraux" msgid "Template:" msgstr "Gabarit :" -#: ../template/default/config.html:60 ../template/default/help_config.html:42 +#: ../template/default/config.html:60 +#: ../template/default/help_config.html:42 msgid "Skin:" msgstr "Thème :" -#: ../template/default/config.html:72 ../template/default/help_config.html:44 +#: ../template/default/config.html:72 +#: ../template/default/help_config.html:44 msgid "Login Page:" msgstr "Page de Démarrage :" -#: ../template/default/config.html:82 ../template/default/config.html:402 +#: ../template/default/config.html:82 +#: ../template/default/config.html:402 msgid "Gets active after restarting VDRAdmin" msgstr "Etre actif après le redémarrage de VDRAdmin" -#: ../template/default/config.html:84 ../template/default/help_config.html:46 +#: ../template/default/config.html:84 +#: ../template/default/help_config.html:46 msgid "Number of channels to use:" msgstr "Nombre de chaînes à utiliser :" -#: ../template/default/config.html:90 ../template/default/help_config.html:48 +#: ../template/default/config.html:90 +#: ../template/default/help_config.html:48 msgid "Local net (no login required):" msgstr "Réseau local (login non nécessaire) :" -#: ../template/default/config.html:104 ../template/default/help_config.html:38 +#: ../template/default/config.html:104 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:54 msgid "VDR" msgstr "VDR" -#: ../template/default/config.html:114 ../template/default/help_config.html:56 +#: ../template/default/config.html:114 +#: ../template/default/help_config.html:56 msgid "Number of DVB cards:" msgstr "Nbre de Cartes DVB :" -#: ../template/default/config.html:120 ../template/default/help_config.html:58 +#: ../template/default/config.html:120 +#: ../template/default/help_config.html:58 msgid "Path to recordings:" msgstr "Chemin des Enregistrements VDR :" -#: ../template/default/config.html:126 ../template/default/help_config.html:60 +#: ../template/default/config.html:126 +#: ../template/default/help_config.html:60 msgid "Path to configuration files:" msgstr "Chemin vers les fichiers de configuration :" -#: ../template/default/config.html:132 ../template/default/help_config.html:62 +#: ../template/default/config.html:132 +#: ../template/default/help_config.html:62 msgid "Path to EPG images:" -msgstr "" +msgstr "Chemin vers les images EPG :" -#: ../template/default/config.html:146 ../template/default/help_config.html:38 +#: ../template/default/config.html:146 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:68 msgid "Identification" msgstr "Identification" -#: ../template/default/config.html:156 ../template/default/help_config.html:70 +#: ../template/default/config.html:156 +#: ../template/default/help_config.html:70 msgid "Username:" msgstr "Identifiant :" -#: ../template/default/config.html:162 ../template/default/help_config.html:72 +#: ../template/default/config.html:162 +#: ../template/default/help_config.html:72 msgid "Password:" msgstr "Mot de Passe :" -#: ../template/default/config.html:168 ../template/default/help_config.html:74 +#: ../template/default/config.html:168 +#: ../template/default/help_config.html:74 msgid "Guest Account:" msgstr "Compte d'Invité :" -#: ../template/default/config.html:177 ../template/default/help_config.html:76 +#: ../template/default/config.html:177 +#: ../template/default/help_config.html:76 msgid "Guest Username:" msgstr "Identifiant Invité :" -#: ../template/default/config.html:183 ../template/default/help_config.html:78 +#: ../template/default/config.html:183 +#: ../template/default/help_config.html:78 msgid "Guest Password:" msgstr "Mot de Passe Invité :" -#: ../template/default/config.html:197 ../template/default/help_config.html:38 +#: ../template/default/config.html:197 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:84 -#: ../template/default/navigation.html:37 ../template/i18n.pl:4 +#: ../template/default/navigation.html:37 +#: ../template/i18n.pl:4 msgid "Timeline" msgstr "Chronologie" -#: ../template/default/config.html:207 ../template/default/help_config.html:86 +#: ../template/default/config.html:207 +#: ../template/default/help_config.html:86 msgid "Hours:" msgstr "Heures :" -#: ../template/default/config.html:213 ../template/default/help_config.html:88 +#: ../template/default/config.html:213 +#: ../template/default/help_config.html:88 msgid "Times:" msgstr "Périodes :" -#: ../template/default/config.html:239 ../template/default/help_config.html:96 +#: ../template/default/config.html:239 +#: ../template/default/help_config.html:96 msgid "Active:" msgstr "Active :" -#: ../template/default/config.html:248 ../template/default/help_config.html:98 +#: ../template/default/config.html:248 +#: ../template/default/help_config.html:98 msgid "Timeout:" msgstr "Timeout :" -#: ../template/default/config.html:249 ../template/default/config.html:311 +#: ../template/default/config.html:249 +#: ../template/default/config.html:311 #: ../template/default/config.html:317 msgid "minutes" msgstr "minutes" -#: ../template/default/config.html:267 ../template/default/config.html:310 +#: ../template/default/config.html:267 +#: ../template/default/config.html:310 #: ../template/default/help_config.html:114 msgid "Time Margin at Start:" msgstr "Marge avant :" -#: ../template/default/config.html:273 ../template/default/config.html:316 +#: ../template/default/config.html:273 +#: ../template/default/config.html:316 #: ../template/default/help_config.html:116 msgid "Time Margin at Stop:" msgstr "Marge après :" -#: ../template/default/config.html:288 ../template/default/timer_list.html:6 +#: ../template/default/config.html:288 +#: ../template/default/timer_list.html:6 #: ../template/default/timer_list.html:40 #: ../template/default/help_config.html:38 #: ../template/default/help_config.html:108 @@ -517,7 +569,8 @@ msgstr "Marge après :" msgid "Timer" msgstr "Programmation" -#: ../template/default/config.html:331 ../template/default/help_config.html:38 +#: ../template/default/config.html:331 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:122 msgid "Streaming" msgstr "Emission de Flux" @@ -546,7 +599,8 @@ msgstr "Chemin vers les Enregistrements VDR sur votre poste de travail :" msgid "Bandwidth of Streams:" msgstr "Bande Passante Flux :" -#: ../template/default/config.html:394 ../template/default/help_config.html:38 +#: ../template/default/config.html:394 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:136 msgid "Expert" msgstr "Expert" @@ -566,7 +620,8 @@ msgstr "Nom du fichier epg.data :" msgid "VFAT:" msgstr "VFAT:" -#: ../template/default/config.html:440 ../template/default/help_config.html:38 +#: ../template/default/config.html:440 +#: ../template/default/help_config.html:38 #: ../template/default/help_config.html:149 msgid "Channel Selections" msgstr "Sélections Chaînes" @@ -577,11 +632,11 @@ msgstr "Dans \"Chronologie\" ?" #: ../template/default/config.html:459 msgid "In \"Channels\"?" -msgstr "" +msgstr "Dans \"Chaînes\" ?" #: ../template/default/config.html:468 msgid "In \"Playing Today\"?" -msgstr "" +msgstr "Dans \"Joué Aujourd'hui\" ?" #: ../template/default/config.html:477 msgid "In \"What's On Now\"?" @@ -646,7 +701,8 @@ msgstr "Auto" msgid "Delete Selected Timers" msgstr "Supprimer Programmations Sélectionnées" -#: ../template/default/prog_list.html:6 ../template/default/navigation.html:41 +#: ../template/default/prog_list.html:6 +#: ../template/default/navigation.html:41 #: ../template/i18n.pl:5 msgid "Channels" msgstr "Chaînes" @@ -667,18 +723,23 @@ msgstr "TV" msgid "Interval:" msgstr "Intervalle :" -#: ../template/default/tv.html:181 ../template/default/tv.html:182 -#: ../template/default/tv.html:183 ../template/default/tv.html:184 -#: ../template/default/tv.html:185 ../template/default/tv.html:186 +#: ../template/default/tv.html:181 +#: ../template/default/tv.html:182 +#: ../template/default/tv.html:183 +#: ../template/default/tv.html:184 +#: ../template/default/tv.html:185 +#: ../template/default/tv.html:186 #: ../template/default/tv.html:187 msgid "sec." msgstr "sec." -#: ../template/default/tv.html:189 ../template/default/tv.html:196 +#: ../template/default/tv.html:189 +#: ../template/default/tv.html:196 msgid "G" msgstr "R" -#: ../template/default/tv.html:189 ../template/default/tv.html:196 +#: ../template/default/tv.html:189 +#: ../template/default/tv.html:196 msgid "Grab the picture!" msgstr "Rafraîchir!" @@ -710,10 +771,12 @@ msgstr "rechercher" msgid "Lookup movie in the Internet-Movie-Database (IMDb)" msgstr "Plus de details sur Internet" -#: ../template/default/rec_list.html:6 ../template/default/rec_list.html:18 +#: ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:18 #: ../template/default/help_rec_list.html:6 #: ../template/default/help_rec_list.html:18 -#: ../template/default/navigation.html:53 ../template/i18n.pl:7 +#: ../template/default/navigation.html:53 +#: ../template/i18n.pl:7 msgid "Recordings" msgstr "Enregistrements" @@ -721,7 +784,8 @@ msgstr "Enregistrements" msgid "Total:" msgstr "Total :" -#: ../template/default/rec_list.html:21 ../template/default/rec_list.html:22 +#: ../template/default/rec_list.html:21 +#: ../template/default/rec_list.html:22 msgid "h" msgstr "h" @@ -733,11 +797,13 @@ msgstr "Libre :" msgid "Total" msgstr "Total" -#: ../template/default/rec_list.html:118 ../template/default/rec_list.html:121 +#: ../template/default/rec_list.html:118 +#: ../template/default/rec_list.html:121 msgid "New" msgstr "Nouveau" -#: ../template/default/rec_list.html:135 ../template/default/rec_edit.html:57 +#: ../template/default/rec_list.html:135 +#: ../template/default/rec_edit.html:57 msgid "Rename" msgstr "Renommer" @@ -766,13 +832,8 @@ msgid "Delete all selected recordings?" msgstr "Supprimer Enregistrements Sélectionnés ?" #: ../template/default/help_config.html:36 -msgid "" -"<p>Here you can change general settings and base settings for timers, " -"AutoTimers, channel selection and streaming parameters.</p>" -msgstr "" -"<p>Vous pouvez changer ici les réglages généraux et de base pour les " -"programmations, les Auto-Programmations, la sélection des chaines et les " -"paramétrages de diffusion.</p>" +msgid "<p>Here you can change general settings and base settings for timers, AutoTimers, channel selection and streaming parameters.</p>" +msgstr "<p>Vous pouvez changer ici les réglages généraux et de base pour les programmations, les Auto-Programmations, la sélection des chaines et les paramétrages de diffusion.</p>" #: ../template/default/help_config.html:43 msgid "The skin you want to use." @@ -783,40 +844,12 @@ msgid "The page you want to see at first connect to VDRAdmin." msgstr "La page que vous désirez voir à la première connection à VDRAdmin." #: ../template/default/help_config.html:47 -msgid "" -"VDRAdmin will load the given number of channels from VDR and present only " -"those in any fields where channels can be selected. This also limits the EPG " -"information VDRAdmin will read so that you can use this to reduce VDRAdmin's " -"memory consumption and increase its performance. <strong>0</strong> turns " -"this feature off and VDRAdmin will use all available channels. <h4>Note:</" -"h4> Changes are not populated immediately. You have to either wait until " -"VDRAdmin reconnects to VDR to update its EPG information or force this " -"update manually in the <span class=\"ref_menu\">AutoTimer</span> menu or " -"restart VDRAdmin." -msgstr "" -"VDRAdmin chargera le nombre donné de chaines depuis VDR et présentera " -"seulement celles-ci dans tous les champs où les chaines peuvent être " -"sélectionnées. Cela limite aussi ne nombre d'informations que VDRAdmin devra " -"lire dans le guide électronique des programmes. Vous pouvez utiliser ceci " -"pour réduire la consomation mémoire de VDRAdmin et améliorer les " -"performances. <strong>0</strong> Désactive cette fonctionnalité et VDRAdmin " -"utilisera toutes les chaines disponibles.<h4>Nota:</h4> Les changement ne " -"sont pas actifs. Vous devez soit attendre jusqu'à ce que VDRAdmin se " -"reconnecte à VDR pour rafraichir l'EPG ou forcer la mise à jour manuellement " -"dans le menu <span class=\"ref_menu\">Auto-Programmation</span>ou redémarrer " -"VDRAdmin." +msgid "VDRAdmin will load the given number of channels from VDR and present only those in any fields where channels can be selected. This also limits the EPG information VDRAdmin will read so that you can use this to reduce VDRAdmin's memory consumption and increase its performance. <strong>0</strong> turns this feature off and VDRAdmin will use all available channels. <h4>Note:</h4> Changes are not populated immediately. You have to either wait until VDRAdmin reconnects to VDR to update its EPG information or force this update manually in the <span class=\"ref_menu\">AutoTimer</span> menu or restart VDRAdmin." +msgstr "VDRAdmin chargera le nombre donné de chaines depuis VDR et présentera seulement celles-ci dans tous les champs où les chaines peuvent être sélectionnées. Cela limite aussi ne nombre d'informations que VDRAdmin devra lire dans le guide électronique des programmes. Vous pouvez utiliser ceci pour réduire la consomation mémoire de VDRAdmin et améliorer les performances. <strong>0</strong> Désactive cette fonctionnalité et VDRAdmin utilisera toutes les chaines disponibles.<h4>Nota:</h4> Les changement ne sont pas actifs. Vous devez soit attendre jusqu'à ce que VDRAdmin se reconnecte à VDR pour rafraichir l'EPG ou forcer la mise à jour manuellement dans le menu <span class=\"ref_menu\">Auto-Programmation</span>ou redémarrer VDRAdmin." #: ../template/default/help_config.html:49 -msgid "" -"Here you can specify an IP address or range that can login without providing " -"login information. For example: \"192.168.0.0/24\" will include any IP " -"starting with \"192.168.0\", \"192.168.0.123/32\" will only match " -"\"192.168.0.123\"." -msgstr "" -"Vous pouvez spécifier ici une adresse IP ou une plage pour laquelle aucune " -"autentification ne sera demandée. Par exemple:\"192.168.0.0/24\" inclura " -"toute adresse commencant par \"192.168.0\", \"192.168.0.123/32\" inclura " -"seulement \"192.168.0.123\"." +msgid "Here you can specify an IP address or range that can login without providing login information. For example: \"192.168.0.0/24\" will include any IP starting with \"192.168.0\", \"192.168.0.123/32\" will only match \"192.168.0.123\"." +msgstr "Vous pouvez spécifier ici une adresse IP ou une plage pour laquelle aucune autentification ne sera demandée. Par exemple:\"192.168.0.0/24\" inclura toute adresse commencant par \"192.168.0\", \"192.168.0.123/32\" inclura seulement \"192.168.0.123\"." #: ../template/default/help_config.html:51 #: ../template/default/help_config.html:65 @@ -831,64 +864,32 @@ msgid "Top" msgstr "Haut" #: ../template/default/help_config.html:57 -msgid "" -"The number of DVB cards VDR can access. Depending on this value VDRAdmin " -"will calculate critical timers in the <span class=\"ref_menu\">Timer</span> " -"menu." -msgstr "" -"Le nombre de carte DVB auxquelles VDR peut accéder. Suivant cette valeur " -"VDRAdmin calculera les programmations critiques an le menu <span class=" -"\"ref_menu\">Programmation</span>." +msgid "The number of DVB cards VDR can access. Depending on this value VDRAdmin will calculate critical timers in the <span class=\"ref_menu\">Timer</span> menu." +msgstr "Le nombre de carte DVB auxquelles VDR peut accéder. Suivant cette valeur VDRAdmin calculera les programmations critiques an le menu <span class=\"ref_menu\">Programmation</span>." #: ../template/default/help_config.html:59 -msgid "" -"The path to VDR's recordings. It's used so that VDRAdmin can locate the " -"recordings when using <span class=\"ref_label\">Recordings Streaming</span> " -"and <span class=\"ref_file\">reccmds.conf</span> in the <span class=" -"\"ref_menu\">Recordings</span> menu." -msgstr "" -"Le Chemin vers les enregistrements de VDR. Ceci est utilisé pour que VDR " -"puissse situer les enregistrements lorsque l'on utilise <span class=" -"\"ref_label\">Emission d'Enregistrements</span> et <span class=\"ref_file" -"\">reccmds.conf</span> dans le menu <span class=\"ref_menu" -"\">Enregistrements</span>." +msgid "The path to VDR's recordings. It's used so that VDRAdmin can locate the recordings when using <span class=\"ref_label\">Recordings Streaming</span> and <span class=\"ref_file\">reccmds.conf</span> in the <span class=\"ref_menu\">Recordings</span> menu." +msgstr "Le Chemin vers les enregistrements de VDR. Ceci est utilisé pour que VDR puissse situer les enregistrements lorsque l'on utilise <span class=\"ref_label\">Emission d'Enregistrements</span> et <span class=\"ref_file\">reccmds.conf</span> dans le menu <span class=\"ref_menu\">Enregistrements</span>." #: ../template/default/help_config.html:61 -msgid "" -"The path where VDR's configuration files are located. If this directory " -"contains the file <span class=\"ref_file\">reccmds.conf</span> its content " -"is shown in a selectbox in the <span class=\"ref_menu\">Recordings</span> " -"menu." -msgstr "" -"Le chemin où la configuration de VDR se situe. Si ce répertoire contient le " -"fichier <span class=\"ref_file\">reccmds.conf</span> son contenu est affiché " -"dans une boite de sélection dans le menu <span class=\"ref_menu" -"\">Enregistrements</span>." +msgid "The path where VDR's configuration files are located. If this directory contains the file <span class=\"ref_file\">reccmds.conf</span> its content is shown in a selectbox in the <span class=\"ref_menu\">Recordings</span> menu." +msgstr "Le chemin où la configuration de VDR se situe. Si ce répertoire contient le fichier <span class=\"ref_file\">reccmds.conf</span> son contenu est affiché dans une boite de sélection dans le menu <span class=\"ref_menu\">Enregistrements</span>." #: ../template/default/help_config.html:63 msgid "The path where the EPG images are stored." -msgstr "" +msgstr "Le chemin dans lequel les images EPG sont stockées." #: ../template/default/help_config.html:71 -msgid "" -"The username for the main user, i.e. the user having the most privileges." -msgstr "" -"Le nom d l'utilisateur principal, celui possédant le plus de privilèges." +msgid "The username for the main user, i.e. the user having the most privileges." +msgstr "Le nom d l'utilisateur principal, celui possédant le plus de privilèges." #: ../template/default/help_config.html:73 msgid "The main user's password." msgstr "Le mot de passe de l'utilisateur principal." #: ../template/default/help_config.html:75 -msgid "" -"If you want an user account having only limited privileges, this is for you. " -"The guest user cannot modify anything, it's only allowed to view the EPG, " -"timers, AutoTimers and recordings listings." -msgstr "" -"Si vous voulez un compte utilisateur possedant seulement des droits limités, " -"cei est pour vous. L'utilisateur invité ne peut rien modifier. Il est " -"seulement autoriser à voir le guides électronique des programmes, les " -"programmations, les Auto-Programmations et la liste des enregistrements." +msgid "If you want an user account having only limited privileges, this is for you. The guest user cannot modify anything, it's only allowed to view the EPG, timers, AutoTimers and recordings listings." +msgstr "Si vous voulez un compte utilisateur possedant seulement des droits limités, cei est pour vous. L'utilisateur invité ne peut rien modifier. Il est seulement autoriser à voir le guides électronique des programmes, les programmations, les Auto-Programmations et la liste des enregistrements." #: ../template/default/help_config.html:77 msgid "The username for the guest user." @@ -903,12 +904,8 @@ msgid "The number of hours to show in the timeline." msgstr "Le nombre d'heures à afficher dans la ligne du temps." #: ../template/default/help_config.html:89 -msgid "" -"A comma separated list of times in <strong>hh:mm</strong> format that appear " -"in the selectbox placed at the top." -msgstr "" -"Une liste d'horaires séparés par des virgules au format <strong>hh:mm</" -"strong> qui apparaissent dans la boites de sélection placée en haut." +msgid "A comma separated list of times in <strong>hh:mm</strong> format that appear in the selectbox placed at the top." +msgstr "Une liste d'horaires séparés par des virgules au format <strong>hh:mm</strong> qui apparaissent dans la boites de sélection placée en haut." #: ../template/default/help_config.html:97 msgid "Activate or deactivate the AutoTimer function." @@ -916,203 +913,65 @@ msgstr "Avtive ou désactive la fonction d'Auto-Programmation." #: ../template/default/help_config.html:99 msgid "The interval, the the EPG data is checked for updating the AutoTimers." -msgstr "" -"L'interval durant lequel les données du guide éléctronique des programmes " -"sont vérifiées pour mettre à jour les Auto-Programmations." +msgstr "L'interval durant lequel les données du guide éléctronique des programmes sont vérifiées pour mettre à jour les Auto-Programmations." #: ../template/default/help_config.html:101 #: ../template/default/help_config.html:111 #: ../template/default/help_timer_new.html:62 #: ../template/default/help_at_timer_new.html:53 -msgid "" -"An integer in the range <strong>0...99</strong>, defining the " -"<strong>priority</strong> of this timer and of recordings created by this " -"timer. <strong>0</strong> represents the lowest value, <strong>99</strong> " -"the highest. The priority is used to decide which timer shall be started in " -"case there are two or more timers with the exact same <strong>start</strong> " -"time. The first timer in the list with the highest priority will be used." -"<br /><br />This value is also stored with the recording and is later used " -"to decide which recording to remove from disk in order to free space for a " -"new recording. If the disk runs full and a new recording needs more space, " -"an existing recording with the lowest priority (and which has exceeded its " -"guaranteed <strong>lifetime</strong>) will be removed.<br /><br />If all " -"available DVB cards are currently occupied, a timer with a higher priority " -"will interrupt the timer with the lowest priority in order to start " -"recording." -msgstr "" -"Un entier dans l'interval <strong>0...99</strong>, définissant la " -"<strong>priorité</strong> de cette programmation et de l'enregitrement créé " -"par cette programmation. <strong>0</strong> représente la valeur la plus " -"faible, <strong>99</strong> la plus haute. La priorité est utilisée pour " -"décider quelle programmation devrait être démarrée dans le cas où deux ou " -"plus de programmation possèdent la même heure <strong>début</strong>. La " -"première programmation dans la liste avec la priorité la plus haute sera " -"utilisée.<br /><br />Cette valeur est aussi stockée avec l'enregistrement, " -"et est utilisée plus tard pour décider quel enregistrement doit être " -"supprimé du disque pour libérer de la place pour un nouvel enregistrement. " -"Si le disque est plein et qu'un nouvel enregistrement nécéssite plus de " -"place, un enregistrement avec la plus faible priorité (et dont <strong>durée " -"de vie</strong> ganrantie sera dépassée) sera enlevé.<br /><br />Si toutes " -"les cartes DVB disponibles sont actuellement occupés, une programmation avec " -"une priorité plus élevée interrompra la programmation avec la priorité la " -"plus faible pour démarrer l'enregistrement." +msgid "An integer in the range <strong>0...99</strong>, defining the <strong>priority</strong> of this timer and of recordings created by this timer. <strong>0</strong> represents the lowest value, <strong>99</strong> the highest. The priority is used to decide which timer shall be started in case there are two or more timers with the exact same <strong>start</strong> time. The first timer in the list with the highest priority will be used.<br /><br />This value is also stored with the recording and is later used to decide which recording to remove from disk in order to free space for a new recording. If the disk runs full and a new recording needs more space, an existing recording with the lowest priority (and which has exceeded its guaranteed <strong>lifetime</strong>) will be removed.<br /><br />If all available DVB cards are currently occupied, a timer with a higher priority will interrupt the timer with the lowest priority in order to start recording." +msgstr "Un entier dans l'interval <strong>0...99</strong>, définissant la <strong>priorité</strong> de cette programmation et de l'enregitrement créé par cette programmation. <strong>0</strong> représente la valeur la plus faible, <strong>99</strong> la plus haute. La priorité est utilisée pour décider quelle programmation devrait être démarrée dans le cas où deux ou plus de programmation possèdent la même heure <strong>début</strong>. La première programmation dans la liste avec la priorité la plus haute sera utilisée.<br /><br />Cette valeur est aussi stockée avec l'enregistrement, et est utilisée plus tard pour décider quel enregistrement doit être supprimé du disque pour libérer de la place pour un nouvel enregistrement. Si le disque est plein et qu'un nouvel enregistrement nécéssite plus de place, un enregistrement avec la plus faible priorité (et dont <strong>durée de vie</strong> ganrantie sera dépassée) sera enlevé.<br /><br />Si toutes les cartes DVB disponibles sont actuellement occupés, une programmation avec une priorité plus élevée interrompra la programmation avec la priorité la plus faible pour démarrer l'enregistrement." #: ../template/default/help_config.html:103 #: ../template/default/help_config.html:113 #: ../template/default/help_timer_new.html:64 #: ../template/default/help_at_timer_new.html:55 -msgid "" -"The <strong>guaranteed</strong> lifetime (in days) of a recording created by " -"this timer. <strong>0</strong> means that this recording may be " -"automatically deleted at any time by a new recording with higher priority. " -"<strong>99</strong> means that this recording will never be automatically " -"deleted. Any number in the range <strong>1...98</strong> means that this " -"recording may not be automatically deleted in favour of a new recording, " -"until the given number of days since the <strong>start</strong> time of the " -"recording has passed by." -msgstr "" -"La durée de vie <strong>guarantie</strong> (en jours) d'un enregistrement " -"créé pas cette programmation. <strong>0</strong> signifie que cet " -"enregistrement peut être automatiquement supprimé à n'importe quelle moment " -"par un enregistrement avec une priorité plus haute. <strong>99</strong> " -"signifie que cet enregistrement ne sera jamais automatiquement supprimé. " -"Tout nombre dans l'interval <strong>1...98</strong> signifie que cet " -"enregistrement ne peut être automatiquement supprimé en faveur d'un nouvel " -"enregistrement, jusqu'à ce que le nombre de jour donné depuis la date de " -"<strong>démarrage</strong> de l'enregistrement soit dépassé." +msgid "The <strong>guaranteed</strong> lifetime (in days) of a recording created by this timer. <strong>0</strong> means that this recording may be automatically deleted at any time by a new recording with higher priority. <strong>99</strong> means that this recording will never be automatically deleted. Any number in the range <strong>1...98</strong> means that this recording may not be automatically deleted in favour of a new recording, until the given number of days since the <strong>start</strong> time of the recording has passed by." +msgstr "La durée de vie <strong>guarantie</strong> (en jours) d'un enregistrement créé pas cette programmation. <strong>0</strong> signifie que cet enregistrement peut être automatiquement supprimé à n'importe quelle moment par un enregistrement avec une priorité plus haute. <strong>99</strong> signifie que cet enregistrement ne sera jamais automatiquement supprimé. Tout nombre dans l'interval <strong>1...98</strong> signifie que cet enregistrement ne peut être automatiquement supprimé en faveur d'un nouvel enregistrement, jusqu'à ce que le nombre de jour donné depuis la date de <strong>démarrage</strong> de l'enregistrement soit dépassé." #: ../template/default/help_config.html:115 -msgid "" -"The number of minutes VDRAdmin subtracts from the broadcasts start time " -"found in the EPG. This value is used for timers programmed by AutoTimer and " -"timers manually programmed when pressing \"Record\" in any EPG view." -msgstr "" -"Le nombre de minutes soustraites par VDRAdmin au début de diffusion trouvé " -"dans le guide électronique des programmes. Cette valeur est utilisée pour " -"les programmations d'AutoTimer et les programmations manuelles définies par " -"une pression sur \"Enregistrement\" sur tout affichage d'un guide " -"électronique des programmes." +msgid "The number of minutes VDRAdmin subtracts from the broadcasts start time found in the EPG. This value is used for timers programmed by AutoTimer and timers manually programmed when pressing \"Record\" in any EPG view." +msgstr "Le nombre de minutes soustraites par VDRAdmin au début de diffusion trouvé dans le guide électronique des programmes. Cette valeur est utilisée pour les programmations d'AutoTimer et les programmations manuelles définies par une pression sur \"Enregistrement\" sur tout affichage d'un guide électronique des programmes." #: ../template/default/help_config.html:117 -msgid "" -"The number of minutes VDRAdmin adds to the broadcasts stop time found in the " -"EPG. This value is used for timers programmed by AutoTimer and timers " -"manually programmed when pressing \"Record\" in any EPG view." -msgstr "" -"Le nombre de minutes ajoutés par VDRAdmin à la fin de diffusion trouvé dans " -"le guide électronique des programmes.The number of minutes VDRAdmin adds to " -"the broadcasts stop time found in the EPG. Cette valeur est utilisée pour " -"les programmations d'AutoTimer et les programmations manuelles définies par " -"une pression sur \"Enregistrement\" sur tout affichage d'un guide " -"électronique des programmes." +msgid "The number of minutes VDRAdmin adds to the broadcasts stop time found in the EPG. This value is used for timers programmed by AutoTimer and timers manually programmed when pressing \"Record\" in any EPG view." +msgstr "Le nombre de minutes ajoutés par VDRAdmin à la fin de diffusion trouvé dans le guide électronique des programmes.The number of minutes VDRAdmin adds to the broadcasts stop time found in the EPG. Cette valeur est utilisée pour les programmations d'AutoTimer et les programmations manuelles définies par une pression sur \"Enregistrement\" sur tout affichage d'un guide électronique des programmes." #: ../template/default/help_config.html:125 -msgid "" -"Enable or disable live streaming using the <a href=\"http://www.magoa.net/" -"linux/\">streamdev plugin</a>. You also have to set the correct <span class=" -"\"ref_label\">HTTP Port for Streamdev</span> below." -msgstr "" -"Active ou Désactive la diffusion en directe en utilisant <a href=\"http://" -"www.magoa.net/linux/\">le plugin streamdev</a>. Vous devez aussi définir le " -"réglage correct du <span class=\"ref_label\">Port HTTP pour Streamdev</span> " -"ci-dessous." +msgid "Enable or disable live streaming using the <a href=\"http://www.magoa.net/linux/\">streamdev plugin</a>. You also have to set the correct <span class=\"ref_label\">HTTP Port for Streamdev</span> below." +msgstr "Active ou Désactive la diffusion en directe en utilisant <a href=\"http://www.magoa.net/linux/\">le plugin streamdev</a>. Vous devez aussi définir le réglage correct du <span class=\"ref_label\">Port HTTP pour Streamdev</span> ci-dessous." #: ../template/default/help_config.html:127 -msgid "" -"Here you have to set the port number your VDR's streamdev server listens for " -"connections. Additionally you can also provide the stream type you like to " -"use." -msgstr "" -"Vous pouvez ici régler le numéro de port sur lequel le serveur streamdev de " -"VDR sera à l'écoute pour toute connection. Additionellement vous pouvez " -"aussi fournir le type de flux que vous désirez utiliser." +msgid "Here you have to set the port number your VDR's streamdev server listens for connections. Additionally you can also provide the stream type you like to use." +msgstr "Vous pouvez ici régler le numéro de port sur lequel le serveur streamdev de VDR sera à l'écoute pour toute connection. Additionellement vous pouvez aussi fournir le type de flux que vous désirez utiliser." #: ../template/default/help_config.html:129 -msgid "" -"Enable or disable streaming of recordings.<br />Well actually this is no " -"real \"streaming\", but you have to setup your workstation so that it can " -"access VDR's recordings. You can use for example Samba or NFS for this. " -"VDRAdmin simply generates a playlist that contains all parts of the " -"recording and sends this to your browser. If your browser and media player " -"are configured correctly you will see the recording on your workstation's " -"display." -msgstr "" -"Active ou désactive la diffusion des enregistrements.<br />Actuellement ceci " -"n'est un réel \"streaming\", mais vous avez à parametrer votre station pour " -"quelle puisse accéder aux enregistrements de VDR. Vous pouvez utiliser par " -"exemple Samba or NFS pour cette tâche. VDRAdmin générera simplement une " -"liste de lecture qui contiendra tous les enregistrements et l'enverra à " -"votre navigateur. Si votre navigateur et votre lecteur de media sont " -"configurés corectement, vous pourrez voir les enregistrements sur votre " -"station." +msgid "Enable or disable streaming of recordings.<br />Well actually this is no real \"streaming\", but you have to setup your workstation so that it can access VDR's recordings. You can use for example Samba or NFS for this. VDRAdmin simply generates a playlist that contains all parts of the recording and sends this to your browser. If your browser and media player are configured correctly you will see the recording on your workstation's display." +msgstr "Active ou désactive la diffusion des enregistrements.<br />Actuellement ceci n'est un réel \"streaming\", mais vous avez à parametrer votre station pour quelle puisse accéder aux enregistrements de VDR. Vous pouvez utiliser par exemple Samba or NFS pour cette tâche. VDRAdmin générera simplement une liste de lecture qui contiendra tous les enregistrements et l'enverra à votre navigateur. Si votre navigateur et votre lecteur de media sont configurés corectement, vous pourrez voir les enregistrements sur votre station." #: ../template/default/help_config.html:131 -msgid "" -"This is the path where your workstation can access VDR's recordings. This " -"depends on your VDR and workstation setup, for example \"\\\\vdr\\videos\" " -"or \"V:\\\" (on Windows) or \"/mnt/videos\" (on Linux)." -msgstr "" -"Ceci est le chemin où votre station peut accéder au enregistrements de VDR. " -"Cela dépend des réglages de votre VDR et de votre station, par exemple \"\\" -"\\vdr\\videos\" ou \"V:\\\" (sur Windows) ou \"/mnt/videos\" (sur Linux)." +msgid "This is the path where your workstation can access VDR's recordings. This depends on your VDR and workstation setup, for example \"\\\\vdr\\videos\" or \"V:\\\" (on Windows) or \"/mnt/videos\" (on Linux)." +msgstr "Ceci est le chemin où votre station peut accéder au enregistrements de VDR. Cela dépend des réglages de votre VDR et de votre station, par exemple \"\\\\vdr\\videos\" ou \"V:\\\" (sur Windows) ou \"/mnt/videos\" (sur Linux)." #: ../template/default/help_config.html:137 -msgid "" -"<p>This section is for experts <strong>only</strong>, i.e. you know what you " -"are doing!</p>" -msgstr "" -"<p>Cette section est pour les experts <strong>seulement</strong>. Vous devez " -"savoir ce que vous faites!</p>" +msgid "<p>This section is for experts <strong>only</strong>, i.e. you know what you are doing!</p>" +msgstr "<p>Cette section est pour les experts <strong>seulement</strong>. Vous devez savoir ce que vous faites!</p>" #: ../template/default/help_config.html:140 -msgid "" -"Accessing VDR's EPG through VDR's SVDRPort seems to block VDR for some time. " -"If this option is activated VDRAdmin will read the <span class=\"ref_file" -"\">epg.data</span> file directly so that VDR doesn't get blocked." -msgstr "" -"Accéder à l'EPG de VDR à travers SVDRP semble bloquer VDR pour quelque " -"temps. Si cette option est activée, VDRAdmin lira le fichier <span class=" -"\"ref_file\">epg.data</span> directement, et donc VDR ne sera pas bloqué." +msgid "Accessing VDR's EPG through VDR's SVDRPort seems to block VDR for some time. If this option is activated VDRAdmin will read the <span class=\"ref_file\">epg.data</span> file directly so that VDR doesn't get blocked." +msgstr "Accéder à l'EPG de VDR à travers SVDRP semble bloquer VDR pour quelque temps. Si cette option est activée, VDRAdmin lira le fichier <span class=\"ref_file\">epg.data</span> directement, et donc VDR ne sera pas bloqué." #: ../template/default/help_config.html:142 -msgid "" -"If you've enabled the option above you need to tell VDRAdmin where the <span " -"class=\"ref_file\">epg.data</span> file is located." -msgstr "" -"Si vous activez cette option ci-dessus, vous avez besoin de dire à VDRAdmin " -"où est situé le fichier <span class=\"ref_file\">epg.data</span>." +msgid "If you've enabled the option above you need to tell VDRAdmin where the <span class=\"ref_file\">epg.data</span> file is located." +msgstr "Si vous activez cette option ci-dessus, vous avez besoin de dire à VDRAdmin où est situé le fichier <span class=\"ref_file\">epg.data</span>." #: ../template/default/help_config.html:144 -msgid "" -"If you have compiled VDR with the VFAT define you have to enable this " -"option. If this option is set to the wrong value, you may have problems with " -"certain recordings if you want to stream them or run reccmds on them." -msgstr "" -"Si vous avez compilé VDR avec l'option VFAT, vous devez activer cette " -"option. Si cette option est paramétrée à une mauvaise valeur, vous pouvez " -"avoir des problèmes avec certains enregistrements si vous voulez les envoyer " -"en flux ou lancer des runcmds sur ceux-xi." +msgid "If you have compiled VDR with the VFAT define you have to enable this option. If this option is set to the wrong value, you may have problems with certain recordings if you want to stream them or run reccmds on them." +msgstr "Si vous avez compilé VDR avec l'option VFAT, vous devez activer cette option. Si cette option est paramétrée à une mauvaise valeur, vous pouvez avoir des problèmes avec certains enregistrements si vous voulez les envoyer en flux ou lancer des runcmds sur ceux-xi." #: ../template/default/help_config.html:150 -#, fuzzy -msgid "" -"<p>If you want to limit the number of channels used in some parts of " -"VDRAdmin, this is for you!</p><p>Use the radio buttons to activate or " -"deactivate the wanted channels in the named menu.</p><p>To add channels to " -"the list of wanted channels you have to select them in the left side " -"selectbox and click <input type=\"submit\" class=\"submit\" value=\">>" -">>>\"/>. If you want to remove channels from the list of wanted " -"channels you have to select them in the right side selectbox and click " -"<input type=\"submit\" class=\"submit\" value=\"<<<<<\"/>.</p>" -msgstr "" -"<p>Si vous voulez limiter le nombre de chaines dans certaines partie de " -"VDRAdmin, ceci est pour vous!</p><p>Utilisez les boutons radio pour activer " -"ou déactiver des chaines dans le menu.</p><p>Pour ajouter des chaines à la " -"liste des chaines désirées vous devez les sélectionner dans la partie gauche " -"de la boite de sélection et cliquer <span class=\"submit\">>>>>" -"></span>. Si vous voulez enlever des chaines à la liste des chaines " -"désirées vous devez les sélectionner dans la partie droite de la boite de " -"sélection et cliquer <span class=\"submit\"><<<<<</span>.</p>" +msgid "<p>If you want to limit the number of channels used in some parts of VDRAdmin, this is for you!</p><p>Use the radio buttons to activate or deactivate the wanted channels in the named menu.</p><p>To add channels to the list of wanted channels you have to select them in the left side selectbox and click <input type=\"submit\" class=\"submit\" value=\">>>>>\"/>. If you want to remove channels from the list of wanted channels you have to select them in the right side selectbox and click <input type=\"submit\" class=\"submit\" value=\"<<<<<\"/>.</p>" +msgstr "<p>Si vous voulez limiter le nombre de chaines dans certaines partie de VDRAdmin, ceci est pour vous!</p><p>Utilisez les boutons radio pour activer ou déactiver des chaines dans le menu.</p><p>Pour ajouter des chaines à la liste des chaines désirées vous devez les sélectionner dans la partie gauche de la boite de sélection et cliquer <input type=\"submit\" class=\"submit\" value=\">>>>>\"/>. Si vous voulez enlever des chaines à la liste des chaines désirées vous devez les sélectionner dans la partie droite de la boite de sélection et cliquer <input type=\"submit\" class=\"submit\" value=\"<<<<<\"/>.</p>" #: ../template/default/prog_timeline.html:119 msgid "Timeline:" @@ -1123,11 +982,13 @@ msgid "to" msgstr "à " #: ../template/default/prog_list2.html:6 -#: ../template/default/navigation.html:33 ../vdradmind.pl:2432 +#: ../template/default/navigation.html:33 +#: ../vdradmind.pl:2432 msgid "Playing Today" msgstr "Joué Aujourd'hui" -#: ../template/default/rec_edit.html:6 ../template/default/rec_edit.html:20 +#: ../template/default/rec_edit.html:6 +#: ../template/default/rec_edit.html:20 msgid "Rename Recording" msgstr "Renommer l'Enregistrement" @@ -1141,119 +1002,28 @@ msgstr "Nouveau Nom d'Enregistrement :" #: ../template/default/help_timer_list.html:33 #, fuzzy -msgid "" -"<p>Here you will find a listing of timers known to VDR.</p><p>On top you " -"will find a chart showing a day's timers graphically. This provides an quick " -"overview on what's going on at the specified day and helps you in finding " -"conflicting timers. Moving the mouse cursor above any timer box will display " -"a tooltip containing the timer's title, priority, lifetime and duration.</" -"p><p>Below the chart you'll find the timers list showing you some " -"information on the timers. You can change the list's sorting by clicking the " -"columns heading.</p><p>For each timer you have the following options:" -"<dl><dt>Set its state</dt><dd>By clicking on \"Yes\", \"No\", \"VPS\" or " -"\"Auto\" in the \"Active\" column.</dd><dt>Quickly view its priority and " -"lifetime</dt><dd>By pointing the mouse cursor to the timer's title.</" -"dd><dt>View its EPG entry</dt><dd>Timers that have set <span class=" -"\"ref_label\">AutoTimer Checking</span> to \"Transmission Identification\" " -"will show you the corresponding EPG entry if you click on the timer's title." -"</dd><dt>Edit the timer</dt><dd>You can edit a timer by clicking <img src=" -"\"bilder/edit.gif\" alt=\"edit\" />.</dd><dt>Delete the timer</dt><dd>To " -"delete a timer you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</" -"dd></dl></p><p>Each timer's state is indicated by differently coloured boxes " -"(in the chart view) or images (in the list view):<br /><span class=\"color_ok" -"\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on" -"\" align=\"absmiddle\" /> Timer is OK and will record.<br /><span class=" -"\"color_collision\"> </span> / <img src=\"bilder/" -"poempl_gelb.gif\" alt=\"problem\" align=\"absmiddle\" /> Timer conflicts " -"with other timers. That's not critical, as long as you have enough DVB cards " -"for the parallel recordings.<br /><span class=\"color_conflict\"> " -" </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> Timer is critical and will most likely <strong>not</strong> " -"record.<br /><span class=\"color_inactive\"> </span> / <img " -"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> Timer " -"is not active.</p><p>In addition to these functions you can add a new timer " -"by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " -"the top and you can delete a number of timers at once by checking the box in " -"the last column of those timers and clicking <input type=\"submit\" class=" -"\"submit\" value=\"Delete Selected Timers\"/>.</p>" -msgstr "" -"<p>Vous trouverez ici une liste des programmation connues de VDR.</p><p>Au " -"dessus vous trouverez un graphique montrant les programmations d'un jour. " -"Ceci fourni une rapide vue d'ensemble de ce qu'il va ce passer le jour " -"spécifié en vous aidera à trouver les programmation confictuelles. Le " -"déplacement de la souris au dessus d'une programmation affichera le titre de " -"la programmation, la priorité, la durée de vie, la durée.</p><p>Sous le " -"graphique, vous trouverez la liste des programmation vous montrant quelques " -"informations. Vous pouvez changer l'ordre de tri en cliquant sur les entête " -"de colonnes.</p><p>Pour chaque programmation vous avez les options suivantes:" -"<dl><dt>Mettre son état</dt><dd>En cliquant sur \"Oui\", \"Non\", \"VPS\" ou " -"\"Auto\" dans la colonne \"Active\".</dd><dt>Voir rapidement sa priorité et " -"sa durée de vie</dt><dd>En positionnant le curseur de la souris sur le titre " -"de la programmation.</dd><dt>Voir son entrée dans le guide électronique des " -"programmes</dt><dd>Les programmations réglées en <span class=\"ref_label" -"\">Vérification Auto-Programmation</span> à \"Identification Transmission\" " -"vous afficherons l'entrée correspondante du guide des programmes si vous " -"cliquez sur le titre de la programmation.</dd><dt>Editer la programmation</" -"dt><dd>Vous pouvez éditer une programmation en cliquant <img src=\"bilder/" -"edit.gif\" alt=\"edit\" />.</dd><dt>Supprimer la programmation</dt><dd>Pour " -"supprimer une programmation, cliquez sur <img src=\"bilder/delete.gif\" alt=" -"\"delete\" />.</dd></dl></p><p>Chaque état de programmation est indiqué par " -"différents rectangles de couleur (dans le graphique) ou images (dans la " -"liste):<br /><span class=\"color_ok\"> </span> / <img src=" -"\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> La " -"programmation est OK et enregistrera.<br /><span class=\"color_collision" -"\"> </span> / <img src=\"bilder/poempl_gelb.gif\" alt=" -"\"problem\" align=\"absmiddle\" /> Programmation en conflit avec d'autres. " -"Ce n'est pas critique, tant que vous avez suffisament de cartes DVB pour les " -"enregistrements simultanés.<br /><span class=\"color_conflict\"> " -" </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> La Programmation est critique et n'enregistrera " -"probablement <strong>pas</strong>.<br /><span class=\"color_inactive\"> " -" </span> / <img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" " -"align=\"absmiddle\" /> La programmation n'est pas active.</p><p>En " -"complément de ces fonctions vous pouvez ajouter un nouvelle programmation en " -"cliquant <span class=\"submit\">Nouvelle Programmation</span> en haut et " -"vous pouvez supprimer plusieurs programmation en même temps en cochant la " -"case dans la dernière colonne de ces programmations et en cliquant <span " -"class=\"submit\">Supprimer Programmations Sélectionnés</span>.</p>" +msgid "<p>Here you will find a listing of timers known to VDR.</p><p>On top you will find a chart showing a day's timers graphically. This provides an quick overview on what's going on at the specified day and helps you in finding conflicting timers. Moving the mouse cursor above any timer box will display a tooltip containing the timer's title, priority, lifetime and duration.</p><p>Below the chart you'll find the timers list showing you some information on the timers. You can change the list's sorting by clicking the columns heading.</p><p>For each timer you have the following options:<dl><dt>Set its state</dt><dd>By clicking on \"Yes\", \"No\", \"VPS\" or \"Auto\" in the \"Active\" column.</dd><dt>Quickly view its priority and lifetime</dt><dd>By pointing the mouse cursor to the timer's title.</dd><dt>View its EPG entry</dt><dd>Timers that have set <span class=\"ref_label\">AutoTimer Checking</span> to \"Transmission Identification\" will show you the corresponding EPG entry if you click on the timer's title.</dd><dt>Edit the timer</dt><dd>You can edit a timer by clicking <img src=\"bilder/edit.gif\" alt=\"edit\" />.</dd><dt>Delete the timer</dt><dd>To delete a timer you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></p><p>Each timer's state is indicated by differently coloured boxes (in the chart view) or images (in the list view):<br /><span class=\"color_ok\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> Timer is OK and will record.<br /><span class=\"color_collision\"> </span> / <img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Timer conflicts with other timers. That's not critical, as long as you have enough DVB cards for the parallel recordings.<br /><span class=\"color_conflict\"> </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=\"middle\" /> Timer is critical and will most likely <strong>not</strong> record.<br /><span class=\"color_inactive\"> </span> / <img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> Timer is not active.</p><p>In addition to these functions you can add a new timer by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at the top and you can delete a number of timers at once by checking the box in the last column of those timers and clicking <input type=\"submit\" class=\"submit\" value=\"Delete Selected Timers\"/>.</p>" +msgstr "<p>Vous trouverez ici une liste des programmation connues de VDR.</p><p>Au dessus vous trouverez un graphique montrant les programmations d'un jour. Ceci fourni une rapide vue d'ensemble de ce qu'il va ce passer le jour spécifié en vous aidera à trouver les programmation confictuelles. Le déplacement de la souris au dessus d'une programmation affichera le titre de la programmation, la priorité, la durée de vie, la durée.</p><p>Sous le graphique, vous trouverez la liste des programmation vous montrant quelques informations. Vous pouvez changer l'ordre de tri en cliquant sur les entête de colonnes.</p><p>Pour chaque programmation vous avez les options suivantes:<dl><dt>Mettre son état</dt><dd>En cliquant sur \"Oui\", \"Non\", \"VPS\" ou \"Auto\" dans la colonne \"Active\".</dd><dt>Voir rapidement sa priorité et sa durée de vie</dt><dd>En positionnant le curseur de la souris sur le titre de la programmation.</dd><dt>Voir son entrée dans le guide électronique des programmes</dt><dd>Les programmations réglées en <span class=\"ref_label\">Vérification Auto-Programmation</span> à \"Identification Transmission\" vous afficherons l'entrée correspondante du guide des programmes si vous cliquez sur le titre de la programmation.</dd><dt>Editer la programmation</dt><dd>Vous pouvez éditer une programmation en cliquant <img src=\"bilder/edit.gif\" alt=\"edit\" />.</dd><dt>Supprimer la programmation</dt><dd>Pour supprimer une programmation, cliquez sur <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></p><p>Chaque état de programmation est indiqué par différents rectangles de couleur (dans le graphique) ou images (dans la liste):<br /><span class=\"color_ok\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> La programmation est OK et enregistrera.<br /><span class=\"color_collision\"> </span> / <img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Programmation en conflit avec d'autres. Ce n'est pas critique, tant que vous avez suffisament de cartes DVB pour les enregistrements simultanés.<br /><span class=\"color_conflict\"> </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=\"middle\" /> La Programmation est critique et n'enregistrera probablement <strong>pas</strong>.<br /><span class=\"color_inactive\"> </span> / <img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> La programmation n'est pas active.</p><p>En complément de ces fonctions vous pouvez ajouter un nouvelle programmation en cliquant <span class=\"submit\">Nouvelle Programmation</span> en haut et vous pouvez supprimer plusieurs programmation en même temps en cochant la case dans la dernière colonne de ces programmations et en cliquant <span class=\"submit\">Supprimer Programmations Sélectionnés</span>.</p>" #: ../template/default/help_timer_new.html:32 msgid "<p>Here you can edit a timer's settings.</p>" msgstr "<p>Ici vous pouvez modifier un programmation.</p>" #: ../template/default/help_timer_new.html:35 -msgid "" -"Activate or deactivate this timer. Deactivated timers are still stored in " -"the timer list so that they can be activated again, but they do not record " -"anything meanwhile." -msgstr "" -"Active ou désactive une programmation. Les programmations désactivés sont " -"toujours stockées dans la liste des programmations et peuvent être activées " -"à nouveau, mais elles n'enregistrent néanmoins plus rien." +msgid "Activate or deactivate this timer. Deactivated timers are still stored in the timer list so that they can be activated again, but they do not record anything meanwhile." +msgstr "Active ou désactive une programmation. Les programmations désactivés sont toujours stockées dans la liste des programmations et peuvent être activées à nouveau, mais elles n'enregistrent néanmoins plus rien." #: ../template/default/help_timer_new.html:37 -msgid "" -"Depending on how this timer has been programmed you have up to three " -"possible settings:" -msgstr "" -"Suivant comment cette programmation à été définie,vous avez jusqu'à trois " -"possibilités:" +msgid "Depending on how this timer has been programmed you have up to three possible settings:" +msgstr "Suivant comment cette programmation à été définie,vous avez jusqu'à trois possibilités:" #: ../template/default/help_timer_new.html:40 -msgid "" -"Monitor this timer using the identification provided in the EPG. Please note " -"that this only works if the provided identification is a fix and unique " -"value! This option is not available with timers programmed in VDR." -msgstr "" -"Surveille cette programmation en utilisant l'identification fournie par le " -"guide électronique des programmes. Notez que cela fonctionne seulement si " -"l'identification est fixe et unique! Cette option n'est pas disponible avec " -"les programmations créées dans VDR." +msgid "Monitor this timer using the identification provided in the EPG. Please note that this only works if the provided identification is a fix and unique value! This option is not available with timers programmed in VDR." +msgstr "Surveille cette programmation en utilisant l'identification fournie par le guide électronique des programmes. Notez que cela fonctionne seulement si l'identification est fixe et unique! Cette option n'est pas disponible avec les programmations créées dans VDR." #: ../template/default/help_timer_new.html:42 msgid "Monitor this timer using the start and stop time." -msgstr "" -"Surveille cette programmation en utilisant l'horaire de démarrage et d'arrêt." +msgstr "Surveille cette programmation en utilisant l'horaire de démarrage et d'arrêt." #: ../template/default/help_timer_new.html:44 msgid "Do not monitor this timer." @@ -1264,124 +1034,29 @@ msgid "The channel to record." msgstr "La chaine à enregistrer." #: ../template/default/help_timer_new.html:50 -msgid "" -"The day when the timer should get active. You can enter the day in two " -"formats:<ul><li>Two digits (DD). This will use the current month and year.</" -"li><li>ISO norm (YYYY-MM-DD). Program your timers as far in the future as " -"you like.</li></ul>In case you want to program a repeating timer you can use " -"the seven checkboxes below the text field. Check the box for each day you " -"want the timer to get active." -msgstr "" -"Le jour lequel la progammation doit être active. Vous pouvez entrer le jour " -"sous deux :<ul><li>Deux chiffres (DD). Ceci utilisera le mois et l'année " -"actuels.</li><li>ISO norm (YYYY-MM-DD). Programmez aussi loin dans le futur " -"que vous le désirez.</li></ul>Dans le cas où vous voudriez une programmation " -"périodique, vous pouvez utiliser le sept case à cocher en dessous du champ " -"texte. Cochez la case pour chaque jour pour lequel vous voulez activer la " -"programmation." +msgid "The day when the timer should get active. You can enter the day in two formats:<ul><li>Two digits (DD). This will use the current month and year.</li><li>ISO norm (YYYY-MM-DD). Program your timers as far in the future as you like.</li></ul>In case you want to program a repeating timer you can use the seven checkboxes below the text field. Check the box for each day you want the timer to get active." +msgstr "Le jour lequel la progammation doit être active. Vous pouvez entrer le jour sous deux :<ul><li>Deux chiffres (DD). Ceci utilisera le mois et l'année actuels.</li><li>ISO norm (YYYY-MM-DD). Programmez aussi loin dans le futur que vous le désirez.</li></ul>Dans le cas où vous voudriez une programmation périodique, vous pouvez utiliser le sept case à cocher en dessous du champ texte. Cochez la case pour chaque jour pour lequel vous voulez activer la programmation." #: ../template/default/help_timer_new.html:58 -msgid "" -"This is the time when the timer should start recording. The first text field " -"is for \"hour\", the second for \"minute\"." -msgstr "" -"Ceci est l'heure à laquelle votre programmation démarrera l'enregistrement. " -"Le premier champ et pour \"hour\", le second pour \"minute\"." +msgid "This is the time when the timer should start recording. The first text field is for \"hour\", the second for \"minute\"." +msgstr "Ceci est l'heure à laquelle votre programmation démarrera l'enregistrement. Le premier champ et pour \"hour\", le second pour \"minute\"." #: ../template/default/help_timer_new.html:60 -msgid "" -"This is the time when the timer should stop recording. The first text field " -"is for \"hour\", the second for \"minute\"." -msgstr "" -"Ceci est l'horaire à laquelle la programmation doit s'arrêter d'enregistrer. " -"Le premier champ est pour \"heure\", le second pour \"minute\"." +msgid "This is the time when the timer should stop recording. The first text field is for \"hour\", the second for \"minute\"." +msgstr "Ceci est l'horaire à laquelle la programmation doit s'arrêter d'enregistrer. Le premier champ est pour \"heure\", le second pour \"minute\"." #: ../template/default/help_timer_new.html:66 -msgid "" -"The <strong>file name</strong> this timer will give to a recording. If the " -"name shall contain subdirectories, these have to be delimited by '~' (since " -"the '/' character may be part of a regular programme name).<br /><br />The " -"special keywords <strong>TITLE</strong> and <strong>EPISODE</strong>, if " -"present, will be replaced by the title and episode information from the EPG " -"data at the time of recording (if that data is available). If at the time of " -"recording either of these cannot be determined, <strong>TITLE</strong> will " -"default to the channel name, and <strong>EPISODE</strong> will default to a " -"blank." -msgstr "" -"Le <strong>nom de fichier</strong> que cette programmation donnera à " -"l'enregistrement. Si le nom doit contenir des sous repertoires, ceux ci " -"doive être délimité par '~' (car le caratère '/' peut être une partie du nom " -"d'un programme).<br /><br />Les mots clés spéciaux <strong>TITLE</strong> et " -"<strong>EPISODE</strong>, si présent, seront remplacés par l'information de " -"titre et d'épisode donné par le guide électronique des programmes à l'heure " -"de l'enregistrement (si cette donnée est disponible). Si à l'heure de " -"l'enregistrement aucun de ceux ci ne peuvent être déterminés, " -"<strong>TITLE</strong> equivaudra au nom de la chaine, et <strong>EPISODE</" -"strong> sera laissé vierge." +msgid "The <strong>file name</strong> this timer will give to a recording. If the name shall contain subdirectories, these have to be delimited by '~' (since the '/' character may be part of a regular programme name).<br /><br />The special keywords <strong>TITLE</strong> and <strong>EPISODE</strong>, if present, will be replaced by the title and episode information from the EPG data at the time of recording (if that data is available). If at the time of recording either of these cannot be determined, <strong>TITLE</strong> will default to the channel name, and <strong>EPISODE</strong> will default to a blank." +msgstr "Le <strong>nom de fichier</strong> que cette programmation donnera à l'enregistrement. Si le nom doit contenir des sous repertoires, ceux ci doive être délimité par '~' (car le caratère '/' peut être une partie du nom d'un programme).<br /><br />Les mots clés spéciaux <strong>TITLE</strong> et <strong>EPISODE</strong>, si présent, seront remplacés par l'information de titre et d'épisode donné par le guide électronique des programmes à l'heure de l'enregistrement (si cette donnée est disponible). Si à l'heure de l'enregistrement aucun de ceux ci ne peuvent être déterminés, <strong>TITLE</strong> equivaudra au nom de la chaine, et <strong>EPISODE</strong> sera laissé vierge." #: ../template/default/help_timer_new.html:68 -msgid "" -"Arbitrary text that describes the recording made by this timer. If this " -"field is not empty, its contents will be written into the <span class=" -"\"ref_file\">summary.vdr</span> or <span class=\"ref_file\">info.vdr</span> " -"file of the recording." -msgstr "" -"Texte arbitraire qui décrit l'enregistrement effectué par cette " -"programmation. Si le champ n'est pas vide, son contenu sera écrit dans le " -"fichier <span class=\"ref_file\">summary.vdr</span> ou <span class=\"ref_file" -"\">info.vdr</span> de l'enregistrement." +msgid "Arbitrary text that describes the recording made by this timer. If this field is not empty, its contents will be written into the <span class=\"ref_file\">summary.vdr</span> or <span class=\"ref_file\">info.vdr</span> file of the recording." +msgstr "Texte arbitraire qui décrit l'enregistrement effectué par cette programmation. Si le champ n'est pas vide, son contenu sera écrit dans le fichier <span class=\"ref_file\">summary.vdr</span> ou <span class=\"ref_file\">info.vdr</span> de l'enregistrement." #: ../template/default/help_at_timer_list.html:33 #, fuzzy -msgid "" -"<p>Here you will find a listing of automatic timers (AutoTimer) known to " -"VDRAdmin.</p><p>The list shows some information on AutoTimers. You can " -"change the list's sorting by clicking the columns heading.</p><p>For each " -"AutoTimer you have the following options:<dl><dt>Set its state</dt><dd>By " -"clicking on \"Yes\" or \"No\" in the \"Active\" column to toggle the " -"activity.</dd><dt>Quickly view its priority and lifetime</dt><dd>By pointing " -"the mouse cursor to the AutoTimer's title.</dd><dt>Edit the AutoTimer</" -"dt><dd>You can edit an AutoTimer by clicking <img src=\"bilder/edit.gif\" " -"alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer " -"you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></" -"p><p>Each AutoTimer's state is indicated by differently coloured images:<br /" -"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> " -"AutoTimer is OK and will automatically program matching broadcasts.<br /" -"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> " -"AutoTimer is not active.</p><p>In addition to these functions you can add a " -"new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=" -"\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at " -"once by checking the box in the last column of those timers and clicking " -"<input type=\"submit\" class=\"submit\" value=\"Delete Selected AutoTimers\"/" -">.</p><p>Click <input type=\"submit\" class=\"submit\" value=\"Force Update" -"\"/> to force VDRAdmin to reconnect to VDR, fetch the current EPG and check " -"for matching AutoTimers.</p>" -msgstr "" -"<p>Vous trouverez ici une liste des programmations automatiques (Auto-" -"Programmations) connues de VDRAdmin.</p><p>La liste vous montre quelques " -"informations. Vous pouvez changer l'ordre de tri en cliquant sur les entête " -"de colonnes.</p><p>Pour chaque programmation vous avez les options suivantes:" -"<dl><dt>Mettre son état</dt><dd>En cliquant sur \"Oui\", \"Non\", \"VPS\" ou " -"\"Auto\" dans la colonne \"Active\".</dd><dt>Voir rapidement sa priorité et " -"sa durée de vie</dt><dd>En positionnant le curseur de la souris sur le titre " -"de la programmation.</dd><dt>Editer l'Auto-Programmation</dt><dd>Sous pouvez " -"éditer une Auto-Programmation en cliquant <img src=\"bilder/edit.gif\" alt=" -"\"edit\" />.</dd><dt>Supprimer l'Auto-Programmation</dt><dd>Pour supprimer " -"une Auto-Programmation cliquez <img src=\"bilder/delete.gif\" alt=\"delete" -"\" />.</dd></dl></p><p>Chaque état d'Auto-Programmation est indiqué par une " -"image de couleur différente:<br /><img src=\"bilder/poempl_gruen.gif\" alt=" -"\"on\" align=\"absmiddle\" /> L'AutoPrigrammation est correcte et " -"programmera les diffusions concordantes.<br /><img src=\"bilder/poempl_grau." -"gif\" alt=\"inactive\" align=\"absmiddle\" /> L'Auto-Programmation n'est pas " -"active.</p><p>En complément de ces fonctions vous pouvez ajouter un nouvelle " -"Auto-Programmation en cliquant <span class=\"submit\">Nouvel Auto-" -"Programmation</span> en haut et vous pouvez supprimer plusieurs Auto-" -"Programmation en même temps en cochant la case dans la dernière colonne de " -"ces programmations et en cliquant <span class=\"submit\">Supprimer les Auto-" -"Programmations Sélectionées</span>.</p><p>Cliquez <span class=\"submit" -"\">Rafraichir</span> pour forcer VDRAdmin à se reconnecter à VDR, lisant " -"ainsi l'actuel guide électronique des programmes et vérifiant les Auto-" -"Programmation concordantes.</p> " +msgid "<p>Here you will find a listing of automatic timers (AutoTimer) known to VDRAdmin.</p><p>The list shows some information on AutoTimers. You can change the list's sorting by clicking the columns heading.</p><p>For each AutoTimer you have the following options:<dl><dt>Set its state</dt><dd>By clicking on \"Yes\" or \"No\" in the \"Active\" column to toggle the activity.</dd><dt>Quickly view its priority and lifetime</dt><dd>By pointing the mouse cursor to the AutoTimer's title.</dd><dt>Edit the AutoTimer</dt><dd>You can edit an AutoTimer by clicking <img src=\"bilder/edit.gif\" alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></p><p>Each AutoTimer's state is indicated by differently coloured images:<br /><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> AutoTimer is OK and will automatically program matching broadcasts.<br /><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> AutoTimer is not active.</p><p>In addition to these functions you can add a new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at once by checking the box in the last column of those timers and clicking <input type=\"submit\" class=\"submit\" value=\"Delete Selected AutoTimers\"/>.</p><p>Click <input type=\"submit\" class=\"submit\" value=\"Force Update\"/> to force VDRAdmin to reconnect to VDR, fetch the current EPG and check for matching AutoTimers.</p>" +msgstr "<p>Vous trouverez ici une liste des programmations automatiques (Auto-Programmations) connues de VDRAdmin.</p><p>La liste vous montre quelques informations. Vous pouvez changer l'ordre de tri en cliquant sur les entête de colonnes.</p><p>Pour chaque programmation vous avez les options suivantes:<dl><dt>Mettre son état</dt><dd>En cliquant sur \"Oui\", \"Non\", \"VPS\" ou \"Auto\" dans la colonne \"Active\".</dd><dt>Voir rapidement sa priorité et sa durée de vie</dt><dd>En positionnant le curseur de la souris sur le titre de la programmation.</dd><dt>Editer l'Auto-Programmation</dt><dd>Sous pouvez éditer une Auto-Programmation en cliquant <img src=\"bilder/edit.gif\" alt=\"edit\" />.</dd><dt>Supprimer l'Auto-Programmation</dt><dd>Pour supprimer une Auto-Programmation cliquez <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></p><p>Chaque état d'Auto-Programmation est indiqué par une image de couleur différente:<br /><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> L'AutoPrigrammation est correcte et programmera les diffusions concordantes.<br /><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> L'Auto-Programmation n'est pas active.</p><p>En complément de ces fonctions vous pouvez ajouter un nouvelle Auto-Programmation en cliquant <span class=\"submit\">Nouvel Auto-Programmation</span> en haut et vous pouvez supprimer plusieurs Auto-Programmation en même temps en cochant la case dans la dernière colonne de ces programmations et en cliquant <span class=\"submit\">Supprimer les Auto-Programmations Sélectionées</span>.</p><p>Cliquez <span class=\"submit\">Rafraichir</span> pour forcer VDRAdmin à se reconnecter à VDR, lisant ainsi l'actuel guide électronique des programmes et vérifiant les Auto-Programmation concordantes.</p> " #: ../template/default/help_at_timer_new.html:12 #: ../template/default/help_at_timer_new.html:24 @@ -1391,22 +1066,8 @@ msgid "Edit AutoTimer" msgstr "Editer Auto-Programmation" #: ../template/default/help_at_timer_new.html:35 -msgid "" -"<p>Here you can edit an automatic timer's (AutoTimer) settings.</" -"p><p>AutoTimer is a key feature of VDRAdmin. An AutoTimer consists of one or " -"more search terms and some other settings, that are looked for regularly in " -"the Electronic Program Guide (EPG). On match AutoTimer adds a timer in VDR " -"automatically for that broadcast. That's very comfortable for irregularly " -"broadcasted series or movies you don't want to miss.</p>" -msgstr "" -"<p>Vous pouvez editer ici les réglages d'une programmation automatique " -"(AutoProgrammation).</p><p>L'AutoProgrammation est une fonctionnalité clé de " -"VDRAdmin. Une Auto-Programmation consiste en une ou plusieurs recherches et " -"quelques autres paramètres, qui sont recherchés dans le guide électronique " -"des programmes (EPG). Sur concordance, l'Autoprogrammation ajoute " -"automatiquement une programmation dans VDR pour cette diffusion. Ceci est " -"très comfortable pour les diffusions irrégulières de séries ou de films que " -"vous ne voulez pas rater.</p>" +msgid "<p>Here you can edit an automatic timer's (AutoTimer) settings.</p><p>AutoTimer is a key feature of VDRAdmin. An AutoTimer consists of one or more search terms and some other settings, that are looked for regularly in the Electronic Program Guide (EPG). On match AutoTimer adds a timer in VDR automatically for that broadcast. That's very comfortable for irregularly broadcasted series or movies you don't want to miss.</p>" +msgstr "<p>Vous pouvez editer ici les réglages d'une programmation automatique (AutoProgrammation).</p><p>L'AutoProgrammation est une fonctionnalité clé de VDRAdmin. Une Auto-Programmation consiste en une ou plusieurs recherches et quelques autres paramètres, qui sont recherchés dans le guide électronique des programmes (EPG). Sur concordance, l'Autoprogrammation ajoute automatiquement une programmation dans VDR pour cette diffusion. Ceci est très comfortable pour les diffusions irrégulières de séries ou de films que vous ne voulez pas rater.</p>" #: ../template/default/help_at_timer_new.html:38 #: ../template/default/at_timer_new.html:45 @@ -1414,18 +1075,8 @@ msgid "AutoTimer Active:" msgstr "Auto-Programmation Active :" #: ../template/default/help_at_timer_new.html:39 -msgid "" -"Activate or deactivate this AutoTimer. Deactivated AutoTimers are still " -"stored in the AutoTimer list so that they can be activated again, but they " -"do not record anything meanwhile. Above that you can set this to \"oneshot\" " -"so this AutoTimer only programs the (one!) next matching broadcast." -msgstr "" -"Activer ou désactiver cette Auto-Programmation. Les Auto-Programmations " -"désactivées sont toujours stockées dans la liste des Auto-programmation, " -"aussi elles peuvent être activées à tout moment, mais cependant elles " -"n'enregistre rien. Au dessus vous pouvez régler ceci à \"Une Fois\", donc " -"cette Auto-Programmation programme seulement la prochaine (et unique!) " -"occurence de la diffusion." +msgid "Activate or deactivate this AutoTimer. Deactivated AutoTimers are still stored in the AutoTimer list so that they can be activated again, but they do not record anything meanwhile. Above that you can set this to \"oneshot\" so this AutoTimer only programs the (one!) next matching broadcast." +msgstr "Activer ou désactiver cette Auto-Programmation. Les Auto-Programmations désactivées sont toujours stockées dans la liste des Auto-programmation, aussi elles peuvent être activées à tout moment, mais cependant elles n'enregistre rien. Au dessus vous pouvez régler ceci à \"Une Fois\", donc cette Auto-Programmation programme seulement la prochaine (et unique!) occurence de la diffusion." #: ../template/default/help_at_timer_new.html:40 #: ../template/default/at_timer_new.html:61 @@ -1433,45 +1084,8 @@ msgid "Search Patterns:" msgstr "Rechercher Modèles :" #: ../template/default/help_at_timer_new.html:41 -msgid "" -"Choosing the right search items decides whether only the wanted broadcasts " -"or broadcasts having similar names or even nothing gets recorded.<br />Case " -"doesn't matter, \"X-Files\" matches anything \"x-files\" will match. You can " -"set multiple search items by separating them with spaces. Only broadcasts " -"will match if they contain <strong>all</strong> items.<br />You'd better " -"only use letters and numbers for search items, as the EPG often miss colons, " -"brackets and other characters.<br />Experts can also use regular " -"expressions, but you have to get needed information from the VDRAdmin " -"sources (undocumented feature).<br /><br />You can exclude broadcasts so " -"that they don't get recorded even if they would match an AutoTimer. " -"Therefore you have to enter that titles into the file <i>vdradmind.bl</i>, " -"one event a line. This file must be located in your VDRAdmin's configuration " -"folder. If this string is found either in the EPG's <u>title</u> or in " -"<u>title~subtitle</u>, this event will not be programmed by AutoTimer. So " -"you can disable complete episodes (for example when using \"Enterprise\" as " -"Blacklist-string) or only one episode (when using \"Enterprise~Azati Prime\" " -"as Blacklist-string)." -msgstr "" -"Choisir les bons critères de recherches décidera soit que seules les " -"diffusions recherchés ou les diffusions ayant un nom similaires voire même " -"rien ne sera enregistré.<br />La Casse n'est pas importante, \"X-Files\" " -"concorde avec tout ce que \"x-files\" fera concorder. Vous pouvez régler de " -"multiples critères de recherche en les séparants par des espaces. Les " -"diffusions concorderont seulement sielles contiennent <strong>tous</strong> " -"les critères.<br />Utiliser de preférence uniquement des chiffres et des " -"lettres, car l'EPG ommet souvent les virgules, parentheses, et autres " -"caractères.<br />Les experts peuvent aussi utiliser les expressions " -"régulières, mais vous devrez étudier les sources de VDRAdmin (fonctionnalité " -"non documentée).<br /><br />Vous pouvez exclure des duffusions et donc elle " -"ne seront pas enregistré même si elle concordent avec une Auto-" -"Programmation. Néanmoins vous devez entrer ses titres dans le fichier " -"<i>vdradmind.bl</i>, un evènement par ligne. Ce fichier doit être situé dans " -"votre répertoire de configuration de VDRAdmin. Si cette chaine de caractères " -"est trouvé soit dans <u>titre</u> ou dans <u>titre~soustitre</u>de l'EPG, " -"cet évenement ne sera pas programmé. Donc sous pouvez désactivé des épisodes " -"complets (par exemple en utilisant \"Enterprise\" comme chaine de caractère) " -"ou seulement un épisode (en utilisant \"Enterprise~Azati Prime\" comme " -"chaine de caractères)." +msgid "Choosing the right search items decides whether only the wanted broadcasts or broadcasts having similar names or even nothing gets recorded.<br />Case doesn't matter, \"X-Files\" matches anything \"x-files\" will match. You can set multiple search items by separating them with spaces. Only broadcasts will match if they contain <strong>all</strong> items.<br />You'd better only use letters and numbers for search items, as the EPG often miss colons, brackets and other characters.<br />Experts can also use regular expressions, but you have to get needed information from the VDRAdmin sources (undocumented feature).<br /><br />You can exclude broadcasts so that they don't get recorded even if they would match an AutoTimer. Therefore you have to enter that titles into the file <i>vdradmind.bl</i>, one event a line. This file must be located in your VDRAdmin's configuration folder. If this string is found either in the EPG's <u>title</u> or in <u>title~subtitle</u>, this event will not be programmed by AutoTimer. So you can disable complete episodes (for example when using \"Enterprise\" as Blacklist-string) or only one episode (when using \"Enterprise~Azati Prime\" as Blacklist-string)." +msgstr "Choisir les bons critères de recherches décidera soit que seules les diffusions recherchés ou les diffusions ayant un nom similaires voire même rien ne sera enregistré.<br />La Casse n'est pas importante, \"X-Files\" concorde avec tout ce que \"x-files\" fera concorder. Vous pouvez régler de multiples critères de recherche en les séparants par des espaces. Les diffusions concorderont seulement sielles contiennent <strong>tous</strong> les critères.<br />Utiliser de preférence uniquement des chiffres et des lettres, car l'EPG ommet souvent les virgules, parentheses, et autres caractères.<br />Les experts peuvent aussi utiliser les expressions régulières, mais vous devrez étudier les sources de VDRAdmin (fonctionnalité non documentée).<br /><br />Vous pouvez exclure des duffusions et donc elle ne seront pas enregistré même si elle concordent avec une Auto-Programmation. Néanmoins vous devez entrer ses titres dans le fichier <i>vdradmind.bl</i>, un evènement par ligne. Ce fichier doit être situé dans votre répertoire de configuration de VDRAdmin. Si cette chaine de caractères est trouvé soit dans <u>titre</u> ou dans <u>titre~soustitre</u>de l'EPG, cet évenement ne sera pas programmé. Donc sous pouvez désactivé des épisodes complets (par exemple en utilisant \"Enterprise\" comme chaine de caractère) ou seulement un épisode (en utilisant \"Enterprise~Azati Prime\" comme chaine de caractères)." #: ../template/default/help_at_timer_new.html:42 #: ../template/default/at_timer_new.html:69 @@ -1479,12 +1093,8 @@ msgid "Search in:" msgstr "Rechercher dans :" #: ../template/default/help_at_timer_new.html:43 -msgid "" -"Here you can define the EPG sections where VDRAdmin should look for the " -"search pattern." -msgstr "" -"Ici, vous pouvez définir les sections du guide éléctronique des programmes " -"où VDRAdmin recherchera le motif de recherche." +msgid "Here you can define the EPG sections where VDRAdmin should look for the search pattern." +msgstr "Ici, vous pouvez définir les sections du guide éléctronique des programmes où VDRAdmin recherchera le motif de recherche." #: ../template/default/help_at_timer_new.html:44 #: ../template/default/at_timer_new.html:79 @@ -1492,22 +1102,12 @@ msgid "Search only on these days:" msgstr "Rechercher uniquement sur ces jours :" #: ../template/default/help_at_timer_new.html:45 -msgid "" -"Use these checkboxes to limit searching for matching broadcasts to a set of " -"weekdays." -msgstr "" -"Utilisez ces cases à cocher pour limiter la recherche de diffusions " -"concordantes à un jeu de jours." +msgid "Use these checkboxes to limit searching for matching broadcasts to a set of weekdays." +msgstr "Utilisez ces cases à cocher pour limiter la recherche de diffusions concordantes à un jeu de jours." #: ../template/default/help_at_timer_new.html:47 -msgid "" -"The channel to look for matching broadcasts or \"all\" to search in all " -"known or wanted channels. You can define the wanted channels for AutoTimer " -"in \"Configuration\"." -msgstr "" -"La chaine à rechercher pour des diffusion concordantes ou \"toutes\" pour " -"rechercher dans toutes les chaines connues ou désirées. Vous pouvez définir " -"les chaines désirées pour l'Auto-programmation dans \"Configuration\"." +msgid "The channel to look for matching broadcasts or \"all\" to search in all known or wanted channels. You can define the wanted channels for AutoTimer in \"Configuration\"." +msgstr "La chaine à rechercher pour des diffusion concordantes ou \"toutes\" pour rechercher dans toutes les chaines connues ou désirées. Vous pouvez définir les chaines désirées pour l'Auto-programmation dans \"Configuration\"." #: ../template/default/help_at_timer_new.html:48 #: ../template/default/at_timer_new.html:106 @@ -1515,12 +1115,8 @@ msgid "Starts After:" msgstr "Début de recherche :" #: ../template/default/help_at_timer_new.html:49 -msgid "" -"A broadcast must start after the time entered here to match. The first text " -"field is for \"hour\", the second for \"minute\"." -msgstr "" -"Une diffusion doit démarrer après l'horaire entrée pour être concordante. Le " -"premier champ est pour \"heure\", le second pour \"minute\"." +msgid "A broadcast must start after the time entered here to match. The first text field is for \"hour\", the second for \"minute\"." +msgstr "Une diffusion doit démarrer après l'horaire entrée pour être concordante. Le premier champ est pour \"heure\", le second pour \"minute\"." #: ../template/default/help_at_timer_new.html:50 #: ../template/default/at_timer_new.html:117 @@ -1528,12 +1124,8 @@ msgid "Ends Before:" msgstr "Fin de recherche :" #: ../template/default/help_at_timer_new.html:51 -msgid "" -"A broadcast must end before the time entered here to match. The first text " -"field is for \"hour\", the second for \"minute\"." -msgstr "" -"Une diffusion doit s'arrêter avant l'horaire entrée pour être concordante. " -"Le premier champ est pour \"heure\", le second pour \"minute\"." +msgid "A broadcast must end before the time entered here to match. The first text field is for \"hour\", the second for \"minute\"." +msgstr "Une diffusion doit s'arrêter avant l'horaire entrée pour être concordante. Le premier champ est pour \"heure\", le second pour \"minute\"." #: ../template/default/help_at_timer_new.html:56 #: ../template/default/at_timer_new.html:144 @@ -1541,12 +1133,8 @@ msgid "Episode:" msgstr "Episode :" #: ../template/default/help_at_timer_new.html:57 -msgid "" -"Check this box if you want VDRAdmin to append the broadcast's EPG subtitle " -"to the recording's file name." -msgstr "" -"Cochez cette case si vous voulez que VDRAdmin ajoute le sous-titre EPG de la " -"diffusion au nom du fichier de l'enregistrement." +msgid "Check this box if you want VDRAdmin to append the broadcast's EPG subtitle to the recording's file name." +msgstr "Cochez cette case si vous voulez que VDRAdmin ajoute le sous-titre EPG de la diffusion au nom du fichier de l'enregistrement." #: ../template/default/help_at_timer_new.html:58 #: ../template/default/at_timer_new.html:152 @@ -1554,15 +1142,8 @@ msgid "Remember programmed timers:" msgstr "Se souvenir des programmations :" #: ../template/default/help_at_timer_new.html:59 -msgid "" -"If you enable this VDRAdmin will track timers it has already programmed " -"automatically. This is useful if want to deactivate or delete timers that " -"have been programmed automatically in the timers listing." -msgstr "" -"Si vous activez ceci, VDRAdmin suivra les programmations qu'il aura " -"automatiquement créées. Ceci est utile si vous voulez désactiver ou " -"supprimer les programmations automatiquement créées dans la liste des " -"programmations." +msgid "If you enable this VDRAdmin will track timers it has already programmed automatically. This is useful if want to deactivate or delete timers that have been programmed automatically in the timers listing." +msgstr "Si vous activez ceci, VDRAdmin suivra les programmations qu'il aura automatiquement créées. Ceci est utile si vous voulez désactiver ou supprimer les programmations automatiquement créées dans la liste des programmations." #: ../template/default/help_at_timer_new.html:60 #: ../template/default/at_timer_new.html:161 @@ -1570,121 +1151,13 @@ msgid "Directory:" msgstr "Chemin :" #: ../template/default/help_at_timer_new.html:62 -msgid "" -"The directory this AutoTimer will place the recordings in. If the name shall " -"contain subdirectories, these have to be delimited by '~' (since the '/' " -"character may be part of a regular programme name).<br />VDRAdmin will " -"append the matching broadcast's title and subtitle (if the \"Episode\" " -"checkbox is marked) to the directory given here.<br /><br />You can also use " -"the following keywords that are replaced in the final file name by the " -"values supplied by for example <a href=\"http://tvmovie2vdr.vdr-developer.org" -"\">tvm2vdr</a>:<ul><li>%Title% - will become the title of the event.</li><li>" -"%Subtitle% - will become the subtitle of the event.</li><li>%Director% - " -"will become the director of the event.</li><li>%Date% - will become the date " -"of the recording.</li><li>%Category% - will become the category of the event " -"(Spielfilm/Serie/...).</li><li>%Genre% - will become the genre of the event " -"(Drama/Krimi/..).</li><li>%Year% - will become the year of production.</" -"li><li>%Country% - will become the country of production.</li><li>%" -"Originaltitle% - will become the original title of the event.</li><li>%FSK% " -"- will become the FSK from the event.</li><li>%Episode% - will become the " -"episode's title of the event.</li><li>%Rating% - will become the rating of " -"the event from the EPG provider.</li></ul><h4>Note:</h4>If you use the above " -"keywords it's in your own responsibility to supply the <strong>complete file " -"name</strong> for the recordings! VDRAdmin will not append anything to the " -"resulting string." -msgstr "" -"Le répertoire dans lequel cette Auto-Programmation placera les " -"enregistrements. Si le nom doit contenir des sous répertoires, ceux-ci " -"seront délimités par '~' (car le caratères '/' peut être contenu dans le nom " -"d'un programme).<br />VDRAdmin ajoutera le titre et le sous-titre(si la case " -"\"Episode\" est cochée) au répertoire donné ici.<br /><br />Vous pouvez " -"aussi utiliser les mots clé suivants qui seront remplacés au final par les " -"valeurs fournies (par exemple par <a href=\"http://tvmovie2vdr.vdr-developer." -"org\">tvm2vdr</a>):<ul><li>%Title% - deviendra le titre de l'évenement.</" -"li><li>%Subtitle% - deviendra le sous-titre de l'évenement.</li><li>%Director" -"% - deviendra le réalisateur de l'évenement.</li><li>%Date% - deviendra la " -"date de l'évenement.</li><li>%Category% - deviendra la catégorie de " -"l'évenement (Film/Serie/...).</li><li>%Genre% - deviendra le genre de " -"l'évenement (Drame/Comédie/..).</li><li>%Year% - deviendra l'année de " -"production de l'évenement.</li><li>%Country% - deviendra le pays de " -"production de l'évenement.</li><li>%Originaltitle% - deviendra le titre " -"original de l'évenement.</li><li>%FSK% - deviendra le FSK de l'évenement.</" -"li><li>%Episode% - deviendra le titre de l'épisodede l'évenement.</li><li>%" -"Rating% - deviendra la notation de l'évenement fournie par l'EPG.</li></" -"ul><h4>Nota:</h4>Si vous utilisez les mots clés ci-dessus, il est de votre " -"resposabilité de fourni <strong>nom de fichier complet</strong> pour les " -"enregistrements! VDRAdmin n'ajoutera rien au nom résultant." +msgid "The directory this AutoTimer will place the recordings in. If the name shall contain subdirectories, these have to be delimited by '~' (since the '/' character may be part of a regular programme name).<br />VDRAdmin will append the matching broadcast's title and subtitle (if the \"Episode\" checkbox is marked) to the directory given here.<br /><br />You can also use the following keywords that are replaced in the final file name by the values supplied by for example <a href=\"http://tvmovie2vdr.vdr-developer.org\">tvm2vdr</a>:<ul><li>%Title% - will become the title of the event.</li><li>%Subtitle% - will become the subtitle of the event.</li><li>%Director% - will become the director of the event.</li><li>%Date% - will become the date of the recording.</li><li>%Category% - will become the category of the event (Spielfilm/Serie/...).</li><li>%Genre% - will become the genre of the event (Drama/Krimi/..).</li><li>%Year% - will become the year of production.</li><li>%Country% - will become the country of production.</li><li>%Originaltitle% - will become the original title of the event.</li><li>%FSK% - will become the FSK from the event.</li><li>%Episode% - will become the episode's title of the event.</li><li>%Rating% - will become the rating of the event from the EPG provider.</li></ul><h4>Note:</h4>If you use the above keywords it's in your own responsibility to supply the <strong>complete file name</strong> for the recordings! VDRAdmin will not append anything to the resulting string." +msgstr "Le répertoire dans lequel cette Auto-Programmation placera les enregistrements. Si le nom doit contenir des sous répertoires, ceux-ci seront délimités par '~' (car le caratères '/' peut être contenu dans le nom d'un programme).<br />VDRAdmin ajoutera le titre et le sous-titre(si la case \"Episode\" est cochée) au répertoire donné ici.<br /><br />Vous pouvez aussi utiliser les mots clé suivants qui seront remplacés au final par les valeurs fournies (par exemple par <a href=\"http://tvmovie2vdr.vdr-developer.org\">tvm2vdr</a>):<ul><li>%Title% - deviendra le titre de l'évenement.</li><li>%Subtitle% - deviendra le sous-titre de l'évenement.</li><li>%Director% - deviendra le réalisateur de l'évenement.</li><li>%Date% - deviendra la date de l'évenement.</li><li>%Category% - deviendra la catégorie de l'évenement (Film/Serie/...).</li><li>%Genre% - deviendra le genre de l'évenement (Drame/Comédie/..).</li><li>%Year% - deviendra l'année de production de l'évenement.</li><li>%Country% - deviendra le pays de production de l'évenement.</li><li>%Originaltitle% - deviendra le titre original de l'évenement.</li><li>%FSK% - deviendra le FSK de l'évenement.</li><li>%Episode% - deviendra le titre de l'épisodede l'évenement.</li><li>%Rating% - deviendra la notation de l'évenement fournie par l'EPG.</li></ul><h4>Nota:</h4>Si vous utilisez les mots clés ci-dessus, il est de votre resposabilité de fourni <strong>nom de fichier complet</strong> pour les enregistrements! VDRAdmin n'ajoutera rien au nom résultant." #: ../template/default/help_rec_list.html:29 #, fuzzy -msgid "" -"<p>Here you will find a listing of recordings known to VDR. The headline " -"will also show you VDR's total and free disk space.</p><p>The listing " -"showing you some information on the recordings. You can change the list's " -"sorting by clicking the columns heading. Above the list you'll see the " -"navigation path. If you want to view the contents of previous folders you'll " -"have to click on its name in that path.</p><p>Each row contains this " -"information:<dl><dt>Date</dt><dd>The date when the recording has been done. " -"In case of folders this will show the number of recordings the folder " -"contains.</dd><dt>Time</dt><dd>The time when the recording has been done. In " -"case of folders this will show the number of <strong>new</strong> recordings " -"the folder contains.</dd><dt>Name</dt><dd>The recording's or folder's name. " -"Click it to show the recording's summary or descend into the folder.</" -"dd><dt>Rename (<img src=\"bilder/edit.gif\" alt=\"edit\" />)</dt><dd>Rename " -"a recording.<br /><h4>Note:</h4>This only works if VDR has the <u>RENR</u> " -"SVDRPort command which is no core VDR feature but is available through a " -"patch. <span class=\"ref_file\">vdr-aio21_svdrprename.patch</span> or <span " -"class=\"ref_file\">enAIO-v2.2+</span> provide this command.</dd><dt>Delete " -"(<img src=\"bilder/delete.gif\" alt=\"delete\" />)</dt><dd>Delete a " -"recording.</dd><dt>Stream (<img src=\"bilder/stream.jpg\" alt=\"stream\" />)" -"</dt><dd>This column is only shown if you activated and configured <span " -"class=\"ref_label\">Recordings Streaming</span> in the <span class=\"ref_menu" -"\">Configuration</span> menu. You can watch the recording at your " -"workstation.</dd></dl></p><p>In addition to these functions you can delete a " -"number of recordings at once by checking the box in the last but one column " -"of those recordings and clicking <input type=\"submit\" class=\"submit\" " -"value=\"Delete Selected Recordings\"/>.</p><p>If you've set the path the " -"VDR's configuration files and have entries in VDR's <span class=\"ref_file" -"\">reccmds.conf</span> you can run those commands for the selected recording " -"by selecting the wanted command in the select box locate next to <span class=" -"\"ref_label\">Commands:</span> and pressing the <input type=\"submit\" class=" -"\"submit\" value=\"Run\"/> button.</p>" -msgstr "" -"<p>Vous trouverez ici une liste des enregistrements connus de VDR. L'en-tête " -"vous affiche aussi l'espace total et libre pour VDR</p><p>La liste vous " -"montre quelques informations.sur les enregistrements. Vous pouvez changer " -"l'ordre de tri en cliquant sur les en-têtes de colonne.Sous la liste " -"s'affiche la navigation. Si vous voulez voir le contenu des répertoires " -"précédents, voudevrez cliquer sur son nom dans le chemin</p><p>Chaque " -"colonnes contiennent ces informations :<dl><dt>Date</dt><dd>Date à laquelle " -"l'enregistrement a été fait. Dans le cas de dossiers cela affichera le " -"nombre d'enregistrements que contient le dossier.</dd><dt>Horaire</" -"dt><dd>L'horaire à laquelle l'enregistrement à été fait. Dans le cas de " -"dossiers cela affichera le nombre de <strong>nouveaux</strong> " -"enregistrements que contient le dossier.</dd><dt>Nom</dt><dd>Le nom de " -"l'enregistrement ou du dossier. Cliquer dessus pour afficher le résumé de " -"l'enregistrement ou descendre dans le dossier.</dd><dt>Renommer (<img src=" -"\"bilder/edit.gif\" alt=\"edit\" />)</dt><dd>Renommer un enregitrement.<br /" -"><h4>Nota:</h4>Cela fonctionne que si VDR possède le support pour la " -"commande SVDRP <u>RENR</u> qui n'est pas une commande VDR de base, mais est " -"disponible à travers un patch. <span class=\"ref_file\">vdr-" -"aio21_svdrprename.patch</span> ou <span class=\"ref_file\">enAIO-v2.2+</" -"span> fournissent cette commande.</dd><dt>Supprimer (<img src=\"bilder/" -"delete.gif\" alt=\"delete\" />)</dt><dd>Supprime un enregistrement.</" -"dd><dt>Stream (<img src=\"bilder/stream.jpg\" alt=\"stream\" />)</" -"dt><dd>Cette colonne est seulement affichée si vous avez activé et configuré " -"<span class=\"ref_label\">Recordings Streaming</span> dans le menu <span " -"class=\"ref_menu\">Configuration</span>. Vous pouvez regarder " -"l'enregistrement sur votre station.</dd></dl></p><p>En complément de ces " -"fonctions vous pouvez supprimer plusieurs enregistrements en même temps en " -"cochant la case dans la dernière colonne de ces programmations et en " -"cliquant <span class=\"submit\">Supprimer Enregistrements Sélectionnés</" -"span>.</p><p>Si vous avez régler le chemin des fichiers de configureation de " -"vdr et que le fichiers <span class=\"ref_file\">reccmds.conf</span> " -"possèdent des entrées, vous pouvez lancer les commandes pour les " -"enregistrements sélectionnés en sélectionnant la commande désirée dans la " -"liste de choix situé à côté de <span class=\"ref_label\">Commandes:</span> " -"et en pressant le bouton <span class=\"submit\">Lancer</span>.</p> " +msgid "<p>Here you will find a listing of recordings known to VDR. The headline will also show you VDR's total and free disk space.</p><p>The listing showing you some information on the recordings. You can change the list's sorting by clicking the columns heading. Above the list you'll see the navigation path. If you want to view the contents of previous folders you'll have to click on its name in that path.</p><p>Each row contains this information:<dl><dt>Date</dt><dd>The date when the recording has been done. In case of folders this will show the number of recordings the folder contains.</dd><dt>Time</dt><dd>The time when the recording has been done. In case of folders this will show the number of <strong>new</strong> recordings the folder contains.</dd><dt>Name</dt><dd>The recording's or folder's name. Click it to show the recording's summary or descend into the folder.</dd><dt>Rename (<img src=\"bilder/edit.gif\" alt=\"edit\" />)</dt><dd>Rename a recording.<br /><h4>Note:</h4>This only works if VDR has the <u>RENR</u> SVDRPort command which is no core VDR feature but is available through a patch. <span class=\"ref_file\">vdr-aio21_svdrprename.patch</span> or <span class=\"ref_file\">enAIO-v2.2+</span> provide this command.</dd><dt>Delete (<img src=\"bilder/delete.gif\" alt=\"delete\" />)</dt><dd>Delete a recording.</dd><dt>Stream (<img src=\"bilder/stream.jpg\" alt=\"stream\" />)</dt><dd>This column is only shown if you activated and configured <span class=\"ref_label\">Recordings Streaming</span> in the <span class=\"ref_menu\">Configuration</span> menu. You can watch the recording at your workstation.</dd></dl></p><p>In addition to these functions you can delete a number of recordings at once by checking the box in the last but one column of those recordings and clicking <input type=\"submit\" class=\"submit\" value=\"Delete Selected Recordings\"/>.</p><p>If you've set the path the VDR's configuration files and have entries in VDR's <span class=\"ref_file\">reccmds.conf</span> you can run those commands for the selected recording by selecting the wanted command in the select box locate next to <span class=\"ref_label\">Commands:</span> and pressing the <input type=\"submit\" class=\"submit\" value=\"Run\"/> button.</p>" +msgstr "<p>Vous trouverez ici une liste des enregistrements connus de VDR. L'en-tête vous affiche aussi l'espace total et libre pour VDR</p><p>La liste vous montre quelques informations.sur les enregistrements. Vous pouvez changer l'ordre de tri en cliquant sur les en-têtes de colonne.Sous la liste s'affiche la navigation. Si vous voulez voir le contenu des répertoires précédents, voudevrez cliquer sur son nom dans le chemin</p><p>Chaque colonnes contiennent ces informations :<dl><dt>Date</dt><dd>Date à laquelle l'enregistrement a été fait. Dans le cas de dossiers cela affichera le nombre d'enregistrements que contient le dossier.</dd><dt>Horaire</dt><dd>L'horaire à laquelle l'enregistrement à été fait. Dans le cas de dossiers cela affichera le nombre de <strong>nouveaux</strong> enregistrements que contient le dossier.</dd><dt>Nom</dt><dd>Le nom de l'enregistrement ou du dossier. Cliquer dessus pour afficher le résumé de l'enregistrement ou descendre dans le dossier.</dd><dt>Renommer (<img src=\"bilder/edit.gif\" alt=\"edit\" />)</dt><dd>Renommer un enregitrement.<br /><h4>Nota:</h4>Cela fonctionne que si VDR possède le support pour la commande SVDRP <u>RENR</u> qui n'est pas une commande VDR de base, mais est disponible à travers un patch. <span class=\"ref_file\">vdr-aio21_svdrprename.patch</span> ou <span class=\"ref_file\">enAIO-v2.2+</span> fournissent cette commande.</dd><dt>Supprimer (<img src=\"bilder/delete.gif\" alt=\"delete\" />)</dt><dd>Supprime un enregistrement.</dd><dt>Stream (<img src=\"bilder/stream.jpg\" alt=\"stream\" />)</dt><dd>Cette colonne est seulement affichée si vous avez activé et configuré <span class=\"ref_label\">Recordings Streaming</span> dans le menu <span class=\"ref_menu\">Configuration</span>. Vous pouvez regarder l'enregistrement sur votre station.</dd></dl></p><p>En complément de ces fonctions vous pouvez supprimer plusieurs enregistrements en même temps en cochant la case dans la dernière colonne de ces programmations et en cliquant <span class=\"submit\">Supprimer Enregistrements Sélectionnés</span>.</p><p>Si vous avez régler le chemin des fichiers de configureation de vdr et que le fichiers <span class=\"ref_file\">reccmds.conf</span> possèdent des entrées, vous pouvez lancer les commandes pour les enregistrements sélectionnés en sélectionnant la commande désirée dans la liste de choix situé à côté de <span class=\"ref_label\">Commandes:</span> et en pressant le bouton <span class=\"submit\">Lancer</span>.</p> " #: ../template/default/at_timer_new.html:6 #: ../template/default/at_timer_new.html:20 @@ -1763,12 +1236,12 @@ msgstr "vdradmin.pl %s a démarré avec le pid %d." #: ../vdradmind.pl:2432 msgid "Playing Tomorrow" -msgstr "" +msgstr "Joué demain" #: ../vdradmind.pl:2432 #, perl-format msgid "Playing on the %d." -msgstr "" +msgstr "En cours sur la %d." #: ../template/i18n.pl:3 msgid "Playing Today?" @@ -1825,16 +1298,14 @@ msgstr "Programmateur" #~ msgid "In \"Channels\" / \"Playing Today\"?" #~ msgstr "Dans \"Chaînes\" / \"Joué Aujourd'hui\" ?" - #~ msgid "more" #~ msgstr "suite" - #~ msgid "Number of columns in \"What's On Now\":" #~ msgstr "Nombre de colonnes dans \"En ce Moment\":" - #~ msgid "" #~ "Change the number of columns displayed in <span class=\"ref_menu\">What's " #~ "On Now</span> with this option." #~ msgstr "" #~ "Change le nombre de colonnes affichées dans <span class=\"ref_menu\">En " #~ "ce moment .</span> avec cette option." + diff --git a/po/vdradmin.pot b/po/vdradmin.pot index 57c2bce..6f90d0b 100644 --- a/po/vdradmin.pot +++ b/po/vdradmin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-09-23 10:28+0200\n" +"POT-Creation-Date: 2005-10-03 10:15+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -1029,17 +1029,17 @@ msgid "" "dd></dl></p><p>Each timer's state is indicated by differently coloured boxes " "(in the chart view) or images (in the list view):<br /><span class=\"color_ok" "\"> </span> / <img src=\"bilder/poempl_gruen.gif\" alt=\"on" -"\" align=\"absmiddle\" /> Timer is OK and will record.<br /><span class=" +"\" align=\"middle\" /> Timer is OK and will record.<br /><span class=" "\"color_collision\"> </span> / <img src=\"bilder/" -"poempl_gelb.gif\" alt=\"problem\" align=\"absmiddle\" /> Timer conflicts " -"with other timers. That's not critical, as long as you have enough DVB cards " -"for the parallel recordings.<br /><span class=\"color_conflict\"> " +"poempl_gelb.gif\" alt=\"problem\" align=\"middle\" /> Timer conflicts with " +"other timers. That's not critical, as long as you have enough DVB cards for " +"the parallel recordings.<br /><span class=\"color_conflict\"> " " </span> / <img src=\"bilder/poempl_rot.gif\" alt=\"impossible\" align=" -"\"absmiddle\" /> Timer is critical and will most likely <strong>not</strong> " +"\"middle\" /> Timer is critical and will most likely <strong>not</strong> " "record.<br /><span class=\"color_inactive\"> </span> / <img " -"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> Timer " -"is not active.</p><p>In addition to these functions you can add a new timer " -"by clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " +"src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> Timer is " +"not active.</p><p>In addition to these functions you can add a new timer by " +"clicking <input type=\"submit\" class=\"submit\" value=\"New Timer\"/> at " "the top and you can delete a number of timers at once by checking the box in " "the last column of those timers and clicking <input type=\"submit\" class=" "\"submit\" value=\"Delete Selected Timers\"/>.</p>" @@ -1137,9 +1137,9 @@ msgid "" "alt=\"edit\" />.</dd><dt>Delete the AutoTimer</dt><dd>To delete an AutoTimer " "you click <img src=\"bilder/delete.gif\" alt=\"delete\" />.</dd></dl></" "p><p>Each AutoTimer's state is indicated by differently coloured images:<br /" -"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_gruen.gif\" alt=\"on\" align=\"middle\" /> " "AutoTimer is OK and will automatically program matching broadcasts.<br /" -"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"absmiddle\" /> " +"><img src=\"bilder/poempl_grau.gif\" alt=\"inactive\" align=\"middle\" /> " "AutoTimer is not active.</p><p>In addition to these functions you can add a " "new AutoTimer by clicking <input type=\"submit\" class=\"submit\" value=" "\"New AutoTimer\"/> at the top and you can delete a number of AutoTimers at " diff --git a/template/default/config.html b/template/default/config.html index 1e240af..8a9bccc 100644 --- a/template/default/config.html +++ b/template/default/config.html @@ -495,7 +495,7 @@ <td class="col_channels"> <select name="all_channels" size="8" multiple> <tmpl_loop name="ALL_CHANNELS"> - <option value="<tmpl_var vdr_id>"><tmpl_var name></option> + <option value="<tmpl_var vdr_id>"><tmpl_var name escape="html"></option> </tmpl_loop> </select> </td> @@ -506,7 +506,7 @@ <td class="col_wanted_channels"> <select name="selected_channels" size="8" multiple> <tmpl_loop name="SELECTED_CHANNELS"> - <option value="<tmpl_var vdr_id>"><tmpl_var name></option> + <option value="<tmpl_var vdr_id>"><tmpl_var name escape="html"></option> </tmpl_loop> </select> </td> diff --git a/template/default/help_at_timer_list.html b/template/default/help_at_timer_list.html index c837536..f60c10c 100644 --- a/template/default/help_at_timer_list.html +++ b/template/default/help_at_timer_list.html @@ -12,7 +12,7 @@ </head> <body id="at_timer_list"> -<form onsubmit="return false;"> +<form onsubmit="return false;" action="help_at_timer_list.html"> <input type="hidden" name="aktion" value="show_help"/> <input type="hidden" name="area" value="<tmpl_var area>"/> @@ -45,8 +45,8 @@ </dl> </p> <p>Each AutoTimer's state is indicated by differently coloured images:<br /> - <img src="bilder/poempl_gruen.gif" alt="on" align="absmiddle" /> AutoTimer is OK and will automatically program matching broadcasts.<br /> - <img src="bilder/poempl_grau.gif" alt="inactive" align="absmiddle" /> AutoTimer is not active. + <img src="bilder/poempl_gruen.gif" alt="on" align="middle" /> AutoTimer is OK and will automatically program matching broadcasts.<br /> + <img src="bilder/poempl_grau.gif" alt="inactive" align="middle" /> AutoTimer is not active. </p> <p>In addition to these functions you can add a new AutoTimer by clicking <input type="submit" class="submit" value="New AutoTimer"/> at the top and you can delete a number of AutoTimers at once by checking the box in the last column of those timers and clicking <input type="submit" class="submit" value="Delete Selected AutoTimers"/>.</p> <p>Click <input type="submit" class="submit" value="Force Update"/> to force VDRAdmin to reconnect to VDR, fetch the current EPG and check for matching AutoTimers.</p> !%> diff --git a/template/default/help_config.html b/template/default/help_config.html index 705412b..2a51c05 100644 --- a/template/default/help_config.html +++ b/template/default/help_config.html @@ -15,7 +15,7 @@ </head> <body id="config"> -<form onsubmit="return false;"> +<form onsubmit="return false;" action="help_config.html"> <input type="hidden" name="aktion" value="show_help"/> <input type="hidden" name="area" value="<tmpl_var area>"/> diff --git a/template/default/help_timer_list.html b/template/default/help_timer_list.html index b2a4479..aff0f50 100644 --- a/template/default/help_timer_list.html +++ b/template/default/help_timer_list.html @@ -12,7 +12,7 @@ </head> <body id="timer_list"> -<form onsubmit="return false;"> +<form onsubmit="return false;" action="help_timer_list.html"> <input type="hidden" name="aktion" value="show_help"/> <input type="hidden" name="area" value="<tmpl_var area>"/> @@ -48,10 +48,10 @@ </dl> </p> <p>Each timer's state is indicated by differently coloured boxes (in the chart view) or images (in the list view):<br /> - <span class="color_ok"> </span> / <img src="bilder/poempl_gruen.gif" alt="on" align="absmiddle" /> Timer is OK and will record.<br /> - <span class="color_collision"> </span> / <img src="bilder/poempl_gelb.gif" alt="problem" align="absmiddle" /> Timer conflicts with other timers. That's not critical, as long as you have enough DVB cards for the parallel recordings.<br /> - <span class="color_conflict"> </span> / <img src="bilder/poempl_rot.gif" alt="impossible" align="absmiddle" /> Timer is critical and will most likely <strong>not</strong> record.<br /> - <span class="color_inactive"> </span> / <img src="bilder/poempl_grau.gif" alt="inactive" align="absmiddle" /> Timer is not active. + <span class="color_ok"> </span> / <img src="bilder/poempl_gruen.gif" alt="on" align="middle" /> Timer is OK and will record.<br /> + <span class="color_collision"> </span> / <img src="bilder/poempl_gelb.gif" alt="problem" align="middle" /> Timer conflicts with other timers. That's not critical, as long as you have enough DVB cards for the parallel recordings.<br /> + <span class="color_conflict"> </span> / <img src="bilder/poempl_rot.gif" alt="impossible" align="middle" /> Timer is critical and will most likely <strong>not</strong> record.<br /> + <span class="color_inactive"> </span> / <img src="bilder/poempl_grau.gif" alt="inactive" align="middle" /> Timer is not active. </p> <p>In addition to these functions you can add a new timer by clicking <input type="submit" class="submit" value="New Timer"/> at the top and you can delete a number of timers at once by checking the box in the last column of those timers and clicking <input type="submit" class="submit" value="Delete Selected Timers"/>.</p> !%> </td> diff --git a/template/default/prog_list.html b/template/default/prog_list.html index 032cc58..6ec2215 100644 --- a/template/default/prog_list.html +++ b/template/default/prog_list.html @@ -27,7 +27,7 @@ <td class="col_other"><%! Channel: !%> <select name="vdr_id" class="submit" onchange="window.open('<tmpl_var url>?aktion=prog_list&vdr_id=' + this.options[this.selectedIndex].value,'main')"> <tmpl_loop chanloop> - <option value="<tmpl_var vdr_id>" <tmpl_if current>selected</tmpl_if>><tmpl_var name></option> + <option value="<tmpl_var vdr_id>" <tmpl_if current>selected</tmpl_if>><tmpl_var name escape="html"></option> </tmpl_loop> </select> <input type="submit" class="submit" name="submit" value="<%! Go! !%>" /> @@ -58,7 +58,7 @@ <tmpl_else> <tmpl_unless endd> <tr class="<tmpl_if __ODD__>row_odd<tmpl_else>row_even</tmpl_if>"> - <td class="col_left"><a id="<tmpl_var anchor>" name="<tmpl_var anchor>"> </a></td> + <td class="col_left"><a name="<tmpl_var anchor>"> </a></td> <td class="col_duration"> <tmpl_var emit> - <tmpl_var duration> </td> diff --git a/template/default/rc.html b/template/default/rc.html index 1c18c65..ec011dc 100644 --- a/template/default/rc.html +++ b/template/default/rc.html @@ -12,7 +12,7 @@ <!-- function switch_channel(url) { Now = new Date(); - document.switchimage.src = url + "&" + Now.getTime(); + document.switchimage.src = url + "&" + Now.getTime(); } //--> </script> @@ -28,7 +28,7 @@ <tr> <td></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=power');"><img src="bilder/fern_03.jpg" alt="" height="27" width="68" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=power');"><img src="bilder/fern_03.jpg" alt="" height="27" width="68" border="0" /></a></td> </tr> <tr> <td></td> @@ -36,23 +36,23 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=1');"><img src="bilder/fern_05.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=2');"><img src="bilder/fern_06.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=3');"><img src="bilder/fern_07.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=1');"><img src="bilder/fern_05.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=2');"><img src="bilder/fern_06.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=3');"><img src="bilder/fern_07.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=4');"><img src="bilder/fern_08.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=5');"><img src="bilder/fern_09.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=6');"><img src="bilder/fern_10.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=4');"><img src="bilder/fern_08.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&;key=5');"><img src="bilder/fern_09.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=6');"><img src="bilder/fern_10.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=7');"><img src="bilder/fern_11.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=8');"><img src="bilder/fern_12.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=9');"><img src="bilder/fern_13.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=7');"><img src="bilder/fern_11.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=8');"><img src="bilder/fern_12.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=9');"><img src="bilder/fern_13.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=0');"><img src="bilder/fern_15.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=0');"><img src="bilder/fern_15.jpg" alt="" height="28" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -61,12 +61,12 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=menu');"><img src="bilder/fern_18.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=menu');"><img src="bilder/fern_18.jpg" alt="" height="27" width="67" border="0" /></a></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=back');"><img src="bilder/fern_19.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=back');"><img src="bilder/fern_19.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> - <td colspan="3"><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=red');"><img src="bilder/fern_22.jpg" alt="" height="28" width="50" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=green');"><img src="bilder/fern_23.jpg" alt="" height="28" width="49" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=yellow');"><img src="bilder/fern_24.jpg" alt="" height="28" width="51" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=blue');"><img src="bilder/fern_25.jpg" alt="" height="28" width="50" border="0" /></a></td> + <td colspan="3"><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=red');"><img src="bilder/fern_22.jpg" alt="" height="28" width="50" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=green');"><img src="bilder/fern_23.jpg" alt="" height="28" width="49" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=yellow');"><img src="bilder/fern_24.jpg" alt="" height="28" width="51" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=blue');"><img src="bilder/fern_25.jpg" alt="" height="28" width="50" border="0" /></a></td> </tr> <tr> <td></td> @@ -75,7 +75,7 @@ </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=up');"><img src="bilder/fern_28.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=up');"><img src="bilder/fern_28.jpg" alt="" height="27" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -84,9 +84,9 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=left');"><img src="bilder/fern_31.jpg" alt="" height="27" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=ok');"><img src="bilder/fern_32.jpg" alt="" height="27" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=right');"><img src="bilder/fern_33.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=left');"><img src="bilder/fern_31.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=ok');"><img src="bilder/fern_32.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=right');"><img src="bilder/fern_33.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> <td></td> @@ -95,7 +95,7 @@ </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=down');"><img src="bilder/fern_36.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=down');"><img src="bilder/fern_36.jpg" alt="" height="27" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -104,9 +104,9 @@ <td><img src="bilder/spacer.gif" name="switchimage" width="1" height="1" /> </td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumeMinus');"><img src="bilder/fern_39.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumeMinus');"><img src="bilder/fern_39.jpg" alt="" height="27" width="67" border="0" /></a></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumePlus');"><img src="bilder/fern_40.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumePlus');"><img src="bilder/fern_40.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> <td></td> diff --git a/template/default/timer_new.html b/template/default/timer_new.html index d900f73..b6b1048 100644 --- a/template/default/timer_new.html +++ b/template/default/timer_new.html @@ -95,7 +95,7 @@ <td class="col_value"> <select name="channel" class="submit"> <tmpl_loop name="channels"> - <option value="<tmpl_var vdr_id>" <tmpl_if current>selected</tmpl_if>><tmpl_var name="name"></option> + <option value="<tmpl_var vdr_id>" <tmpl_if current>selected</tmpl_if>><tmpl_var name="name" escape="html"></option> </tmpl_loop> </select> </td> diff --git a/template/default/tv.html b/template/default/tv.html index 0be28bc..e596409 100644 --- a/template/default/tv.html +++ b/template/default/tv.html @@ -17,13 +17,13 @@ function switch_channel(url) { Now = new Date(); - document.switchimage.src = url + "&" + Now.getTime(); + document.switchimage.src = url + "&" + Now.getTime(); window.setTimeout("WebcamUpdate()", 500); } function WebcamUpdate() { Now = new Date(); - NewPicUrl = "<tmpl_var url>&size=" + size + "&" + Now.getTime(); + NewPicUrl = "<tmpl_var url>&size=" + size + "&" + Now.getTime(); document.Bild.src = NewPicUrl; } @@ -60,7 +60,7 @@ } function tv_open() { - window.open("./vdradmin.pl?aktion=tv_show&new_win=1", "_blank", "width=615, height=548, resizable=yes, scrollbars=no, status=no, toolbar=no"); + window.open("./vdradmin.pl?aktion=tv_show&new_win=1", "_blank", "width=615, height=548, resizable=yes, scrollbars=no, status=no, toolbar=no"); } //--> </script> @@ -82,7 +82,7 @@ <tr> <td></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=power');"><img src="bilder/fern_03.jpg" alt="" height="27" width="68" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=power');"><img src="bilder/fern_03.jpg" alt="" height="27" width="68" border="0" /></a></td> </tr> <tr> <td></td> @@ -90,23 +90,23 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=1');"><img src="bilder/fern_05.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=2');"><img src="bilder/fern_06.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=3');"><img src="bilder/fern_07.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=1');"><img src="bilder/fern_05.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=2');"><img src="bilder/fern_06.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=3');"><img src="bilder/fern_07.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=4');"><img src="bilder/fern_08.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=5');"><img src="bilder/fern_09.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=6');"><img src="bilder/fern_10.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=4');"><img src="bilder/fern_08.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=5');"><img src="bilder/fern_09.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=6');"><img src="bilder/fern_10.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=7');"><img src="bilder/fern_11.jpg" alt="" height="28" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=8');"><img src="bilder/fern_12.jpg" alt="" height="28" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=9');"><img src="bilder/fern_13.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=7');"><img src="bilder/fern_11.jpg" alt="" height="28" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=8');"><img src="bilder/fern_12.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=9');"><img src="bilder/fern_13.jpg" alt="" height="28" width="67" border="0" /></a></td> </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=0');"><img src="bilder/fern_15.jpg" alt="" height="28" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=0');"><img src="bilder/fern_15.jpg" alt="" height="28" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -115,12 +115,12 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=menu');"><img src="bilder/fern_18.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=menu');"><img src="bilder/fern_18.jpg" alt="" height="27" width="67" border="0" /></a></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=back');"><img src="bilder/fern_19.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=back');"><img src="bilder/fern_19.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> - <td colspan="3"><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=red');"><img src="bilder/fern_22.jpg" alt="" height="28" width="50" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=green');"><img src="bilder/fern_23.jpg" alt="" height="28" width="49" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=yellow');"><img src="bilder/fern_24.jpg" alt="" height="28" width="51" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=blue');"><img src="bilder/fern_25.jpg" alt="" height="28" width="50" border="0" /></a></td> + <td colspan="3"><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=red');"><img src="bilder/fern_22.jpg" alt="" height="28" width="50" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=green');"><img src="bilder/fern_23.jpg" alt="" height="28" width="49" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=yellow');"><img src="bilder/fern_24.jpg" alt="" height="28" width="51" border="0" /></a><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=blue');"><img src="bilder/fern_25.jpg" alt="" height="28" width="50" border="0" /></a></td> </tr> <tr> <td></td> @@ -129,7 +129,7 @@ </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=up');"><img src="bilder/fern_28.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=up');"><img src="bilder/fern_28.jpg" alt="" height="27" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -138,9 +138,9 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=left');"><img src="bilder/fern_31.jpg" alt="" height="27" width="67" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=ok');"><img src="bilder/fern_32.jpg" alt="" height="27" width="66" border="0" /></a></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=right');"><img src="bilder/fern_33.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=left');"><img src="bilder/fern_31.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=ok');"><img src="bilder/fern_32.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=right');"><img src="bilder/fern_33.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> <td></td> @@ -149,7 +149,7 @@ </tr> <tr> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=down');"><img src="bilder/fern_36.jpg" alt="" height="27" width="66" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=down');"><img src="bilder/fern_36.jpg" alt="" height="27" width="66" border="0" /></a></td> <td></td> </tr> <tr> @@ -158,9 +158,9 @@ <td></td> </tr> <tr> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumeMinus');"><img src="bilder/fern_39.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumeMinus');"><img src="bilder/fern_39.jpg" alt="" height="27" width="67" border="0" /></a></td> <td></td> - <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumePlus');"><img src="bilder/fern_40.jpg" alt="" height="27" width="67" border="0" /></a></td> + <td><a href="javascript:switch_channel('./vdradmin.pl?aktion=rc_hitk&key=VolumePlus');"><img src="bilder/fern_40.jpg" alt="" height="27" width="67" border="0" /></a></td> </tr> <tr> <td></td> diff --git a/tools/check.sh b/tools/check.sh new file mode 100755 index 0000000..823d724 --- /dev/null +++ b/tools/check.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +[ -z "$1" ] && exit 1 + +cat $1 | sed -e 's#<\(tmpl_[^>]*\)>#<%!\1 /!%>#g' -e 's#</\(tmpl_[^>]*\)>#<%!\1 /!%>#g' | tidy -xml +#cat $1 | sed -e 's#\(<tmpl_var [^>]*\)>#\1 />#g' -e 's#\(<tmpl_else\)>#\1 />#g' | tidy -xml diff --git a/tools/lib/String/Escape.pm b/tools/lib/String/Escape.pm new file mode 100644 index 0000000..2c40f45 --- /dev/null +++ b/tools/lib/String/Escape.pm @@ -0,0 +1,625 @@ +### String::Escape - Backslash escaping, word splitting, and elision functions + +### Copyright 2002 Matthew Simon Cavalletto. + # You may use this software under the same terms as Perl. + +######################################################################## + +package String::Escape; + +require 5; +use strict; +use Carp; +use Exporter; + +use vars qw( $VERSION @ISA @EXPORT_OK ); +$VERSION = 2002.001; + +push @ISA, qw( Exporter ); +push @EXPORT_OK, qw( + escape + printable unprintable + elide + quote unquote quote_non_words qprintable unqprintable + string2list string2hash list2string list2hash hash2string hash2list +); + +######################################################################## + +### Call by-name interface + +# %Escapes - escaper function references by name +use vars qw( %Escapes ); +%Escapes = ( + %Escapes, + 'none' => sub ($) { $_[0]; }, + + 'uppercase' => sub ($) { uc $_[0] }, + 'lowercase' => sub ($) { lc $_[0] }, + 'initialcase' => sub ($) { ucfirst lc $_[0] }, + + 'quote' => \"e, + 'unquote' => \&unquote, + 'quote_non_words' => \"e_non_words, + + 'printable' => \&printable, + 'unprintable' => \&unprintable, + + 'qprintable' => 'printable quote_non_words', + 'unqprintable' => 'unquote unprintable', + + 'elide' => \&elide, +); + +# String::Escape::add( $name, $subroutine ); +sub add ($$) { $Escapes{ shift(@_) } = shift(@_); } + +# @defined_names = String::Escape::names(); +sub names () { keys(%Escapes); } + +# $escaped = escape($escape_spec, $value); +# @escaped = escape($escape_spec, @values); +sub escape ($@) { + my ($escape_spec, @values) = @_; + + croak "escape called with multiple values but in scalar context" + if ($#values > 0 && ! wantarray); + + my @escapes = expand_escape_spec($escape_spec); + # warn "Escaping: ". join(' ', @escapes) . "\n"; + my ($value, $escaper); + foreach $value ( @values ) { + foreach $escaper ( @escapes ) { + $value = &$escaper( $value ); + } + } + + return wantarray ? @values : $values[0]; +} + +# @escape_functions = expand_escape_spec($escape_spec); +sub expand_escape_spec { + my $escape_spec = shift; + + if ( ref($escape_spec) eq 'CODE' ) { + return $escape_spec; + } elsif ( ref($escape_spec) eq 'ARRAY' ) { + return map { expand_escape_spec($_) } @$escape_spec; + } elsif ( ! ref($escape_spec) ) { + return map { + expand_escape_spec($_) + } map { + $Escapes{$_} or croak "unsupported escape specification '$_'; " . + "should be one of " . join(', ', names()) + } split(/\s+/, $escape_spec); + } else { + croak "unsupported escape specification '$escape_spec'"; + } +} + +######################################################################## + +### Double Quoting + +# $with_surrounding_quotes = quote( $string_value ); +sub quote ($) { '"' . $_[0] . '"' } + +# $remove_surrounding_quotes = quote( $string_value ); +sub unquote ($) { local $_ = $_[0]; s/\A\"(.*)\"\Z/$1/s; $_; } + +# $word_or_phrase_with_surrounding_quotes = quote( $string_value ); +sub quote_non_words ($) { + ( ! length $_[0] or $_[0] =~ /[^\w\_\-\/\.\:\#]/ ) ? '"'.$_[0].'"' : $_[0] +} + +### Backslash Escaping + +use vars qw( %Printable %Unprintable ); +%Printable = ( ( map { chr($_), unpack('H2', chr($_)) } (0..255) ), + "\\"=>'\\', "\r"=>'r', "\n"=>'n', "\t"=>'t', "\""=>'"' ); +%Unprintable = ( reverse %Printable ); + +# $special_characters_escaped = printable( $source_string ); +sub printable ($) { + local $_ = ( defined $_[0] ? $_[0] : '' ); + s/([\r\n\t\"\\\x00-\x1f\x7F-\xFF])/\\$Printable{$1}/sg; + return $_; +} + +# $original_string = unprintable( $special_characters_escaped ); +sub unprintable ($) { + local $_ = ( defined $_[0] ? $_[0] : '' ); + s/((?:\A|\G|[^\\]))\\([rRnNtT\"\\]|[\da-fA-F]{2})/$1.$Unprintable{lc($2)}/gse; + return $_; +} + +# quoted_and_escaped = qprintable( $source_string ); +sub qprintable ($) { quote_non_words printable $_[0] } + +# $original_string = unqprintable( quoted_and_escaped ); +sub unqprintable ($) { unprintable unquote $_[0] } + +######################################################################## + +### Elision + +use vars qw( $Elipses $DefaultLength $DefaultStrictness ); +$Elipses = '...'; +$DefaultLength = 60; +$DefaultStrictness = 10; + +# $elided_string = elide($string); +# $elided_string = elide($string, $length); +# $elided_string = elide($string, $length, $word_boundary_strictness); + # Return a single-quoted, shortened version of the string, with ellipsis +sub elide ($;$$) { + my $source = shift; + my $length = scalar(@_) ? shift() : $DefaultLength; + my $word_limit = scalar(@_) ? shift() : $DefaultStrictness; + + # If the source is already short, we don't need to do anything + return $source if (length($source) < $length); + + # Leave room for the elipses and make sure we include at least one character. + $length -= length( $Elipses ); + $length = 1 if ( $length < 1 ); + + my $excerpt; + + # Try matching $length characters or less at a word boundary. + $excerpt = ( $source =~ /^(.{0,$length})(?:\s|\Z)/ )[0] if ( $word_limit ); + + # Ignore boundaries if that fails or returns much less than we wanted. + $excerpt = substr($source, 0, $length) if ( ! defined $excerpt or + length($excerpt) < length($source) and + ! length($excerpt) || abs($length - length($excerpt)) > $word_limit); + + return $excerpt . $Elipses; +} + +######################################################################## + +# @words = string2list( $space_separated_phrases ); +sub string2list { + my $text = shift; + + carp "string2list called with a non-text argument, '$text'" if (ref $text); + + my @words; + my $word = ''; + + while ( defined $text and length $text ) { + if ($text =~ s/\A(?: ([^\"\s\\]+) | \\(.) )//mx) { + $word .= $1; + } elsif ($text =~ s/\A"((?:[^\"\\]|\\.)*)"//mx) { + $word .= $1; + } elsif ($text =~ s/\A\s+//m){ + push(@words, unprintable($word)); + $word = ''; + } elsif ($text =~ s/\A"//) { + carp "string2list found an unmatched quote at '$text'"; + return; + } else { + carp "string2list parse exception at '$text'"; + return; + } + } + push(@words, unprintable($word)); + + return @words; +} + +# $space_sparated_string = list2string( @words ); +sub list2string { + join ( ' ', map qprintable($_), @_ ); +} + +# %hash = list2hash( @words ); +sub list2hash { + my @pairs; + foreach (@_) { + my ($key, $val) = m/\A(.*?)(?:\=(.*))?\Z/s; + push @pairs, $key, $val; + } + return @pairs; +} + +# @words = hash2list( %hash ); +sub hash2list { + my @words; + while ( scalar @_ ) { + my ($key, $value) = ( shift, shift ); + push @words, qprintable($key) . '=' . qprintable($value) + } + return @words; +} + +# %hash = string2hash( $string ); +sub string2hash { + return list2hash( string2list( shift ) ); +} + +# $string = hash2string( %hash ); +sub hash2string { + join ( ' ', hash2list( @_ ) ); +} + +######################################################################## + +1; + +__END__ + +=pod + +=head1 NAME + +String::Escape - Registry of string functions, including backslash escapes + + +=head1 SYNOPSIS + + use String::Escape qw( printable unprintable ); + # Convert control, high-bit chars to \n or \xxx escapes + $output = printable($value); + # Convert escape sequences back to original chars + $value = unprintable($input); + + use String::Escape qw( elide ); + # Shorten strings to fit, if necessary + foreach (@_) { print elide( $_, 79 ) . "\n"; } + + use String::Escape qw( string2list list2string ); + # Pack and unpack simple lists by quoting each item + $list = list2string( @list ); + @list = string2list( $list ); + + use String::Escape qw( string2hash hash2string ); + # Pack and unpack simple hashes by quoting each item + $hash = hash2string( %hash ); + %hash = string2hash( $hash ); + + use String::Escape qw( escape ); + # Defer selection of escaping routines until runtime + $escape_name = $use_quotes ? 'qprintable' : 'printable'; + @escaped = escape($escape_name, @values); + + +=head1 DESCRIPTION + +This module provides a flexible calling interface to some frequently-performed string conversion functions, including applying and removing C/Unix-style backslash escapes like \n and \t, wrapping and removing double-quotes, and truncating to fit within a desired length. + +Furthermore, the escape() function provides for dynamic selection of operations by using a package hash variable to map escape specification strings to the functions which implement them. The lookup imposes a bit of a performance penalty, but allows for some useful late-binding behaviour. Compound specifications (ex. 'quoted uppercase') are expanded to a list of functions to be applied in order. Other modules may also register their functions here for later general use. (See the "CALLING BY NAME" section below for more.) + + +=head1 FUNCTION REFERENCE + +=head2 Escaping And Unescaping Functions + +Each of these functions takes a single simple scalar argument and +returns its escaped (or unescaped) equivalent. + +=over 4 + +=item quote($value) : $escaped + +Add double quote characters to each end of the string. + +=item quote_non_words($value) : $escaped + +As above, but only quotes empty, punctuated, and multiword values; simple values consisting of alphanumerics without special characters are not quoted. + +=item unquote($value) : $escaped + +If the string both begins and ends with double quote characters, they are removed, otherwise the string is returned unchanged. + +=item printable($value) : $escaped + +=item unprintable($value) : $escaped + +These functions convert return, newline, tab, backslash and unprintable +characters to their backslash-escaped equivalents and back again. + +=item qprintable($value) : $escaped + +=item unqprintable($value) : $escaped + +The qprintable function applies printable escaping and then wraps the results +with quote_non_words, while unqprintable applies unquote and then unprintable. +(Note that this is I<not> MIME quoted-printable encoding.) + +=back + +=head2 Simple Arrays and Hashes + +=over 4 + +=item @words = string2list( $space_separated_phrases ); + +Converts a space separated string of words and quoted phrases to an array; + +=item $space_sparated_string = list2string( @words ); + +Joins an array of strings into a space separated string of words and quoted phrases; + +=item %hash = string2hash( $string ); + +Converts a space separated string of equal-sign-associated key=value pairs into a simple hash. + +=item $string = hash2string( %hash ); + +Converts a simple hash into a space separated string of equal-sign-associated key=value pairs. + +=item %hash = list2hash( @words ); + +Converts an array of equal-sign-associated key=value strings into a simple hash. + +=item @words = hash2list( %hash ); + +Converts a hash to an array of equal-sign-associated key=value strings. + +=back + +=head2 String Elision Function + +This function extracts the leading portion of a provided string and appends ellipsis if it's longer than the desired maximum excerpt length. + +=over 4 + +=item elide($string) : $elided_string + +=item elide($string, $length) : $elided_string + +=item elide($string, $length, $word_boundary_strictness) : $elided_string + +If the original string is shorter than $length, it is returned unchanged. At most $length characters are returned; if called with a single argument, $length defaults to $DefaultLength. + +Up to $word_boundary_strictness additional characters may be ommited in order to make the elided portion end on a word boundary; you can pass 0 to ignore word boundaries. If not provided, $word_boundary_strictness defaults to $DefaultStrictness. + +=item $Elipses + +The string of characters used to indicate the end of the excerpt. Initialized to '...'. + +=item $DefaultLength + +The default target excerpt length, used when the elide function is called with a single argument. Initialized to 60. + +=item $DefaultStrictness + +The default word-boundary flexibility, used when the elide function is called without the third argument. Initialized to 10. + +=back + +=head1 CALLING BY NAME + +These functions provide for the registration of string-escape specification +names and corresponding functions, and then allow the invocation of one or +several of these functions on one or several source string values. + +=over 4 + +=item escape($escapes, $value) : $escaped_value + +=item escape($escapes, @values) : @escaped_values + +Returns an altered copy of the provided values by looking up the escapes string in a registry of string-modification functions. + +If called in a scalar context, operates on the single value passed in; if +called in a list contact, operates identically on each of the provided values. + +Valid escape specifications are: + +=over 4 + +=item one of the keys defined in %Escapes + +The coresponding specification will be looked up and used. + +=item a sequence of names separated by whitespace, + +Each name will be looked up, and each of the associated functions will be applied successively, from left to right. + +=item a reference to a function + +The provided function will be called on with each value in turn. + +=item a reference to an array + +Each item in the array will be expanded as provided above. + +=back + +A fatal error will be generated if you pass an unsupported escape specification, or if the function is called with multiple values in a scalar context. + +=item String::Escape::names() : @defined_escapes + +Returns a list of defined escape specification strings. + +=item String::Escape::add( $escape_name, \&escape_function ); + +Add a new escape specification and corresponding function. + +=item %Escapes : $name, $operation, ... + +By default, the %Escapes hash is initialized to contain the following mappings: + +=over 4 + +=item quote, unquote, or quote_non_words + +=item printable, unprintable, qprintable, or unqprintable, + +=item elide + +Run the above-described functions of the same names. + +=item uppercase, lowercase, or initialcase + +Alters the case of letters in the string to upper or lower case, or for initialcase, sets the first letter to upper case and all others to lower. + +=item none + +Return an unchanged copy of the original value. + +=back + +=back + + +=head1 EXAMPLES + +Here are a few example uses of these functions, along with their output. + +=head2 Backslash Escaping + +C<print printable( "\tNow is the time\nfor all good folks\n" );> + + \tNow is the time\nfor all good folks\n + +C<print unprintable( '\\tNow is the time\\nfor all good folks\\n' );> + + Now is the time + for all good folks + + + +=head2 Escape By Name + +C<print escape('qprintable', "\tNow is the time\nfor all good folks\n" );> + + "\tNow is the time\nfor all good folks\n" + +C<print escape('uppercase qprintable', "\tNow is the time\nfor all good folks\n" );> + + "\tNOW IS THE TIME\nFOR ALL GOOD FOLKS\n" + + +C<print join '--', escape('printable', "\tNow is the time\n", "for all good folks\n" );> + + \tNow is the time\n--for all good folks\n + + +=head2 String Elision Function + +C<$string = 'foo bar baz this that the other';> + +C<print elide( $string, 100 );> + + foo bar baz this that the other + + +C<print elide( $string, 12 );> + + foo bar... + + +C<print elide( $string, 12, 0 );> + + foo bar b... + + +=head2 Simple Arrays and Hashes + +C<print list2string('hello', 'I move next march');> + + hello "I move next march" + + +C<@list = string2list('one "second item" 3 "four\nlines\nof\ntext"');> + +C<print $list[1];> + + second item + + +C<print hash2string( 'foo' =E<gt> 'Animal Cities', 'bar' =E<gt> 'Cheap' );> + + foo="Animal Cities" bar=Cheap + + +C<%hash = string2hash('key=value "undefined key" words="the cat in the hat"');> + +C<print $hash{'words'};> + + the cat in the hat + +C<print exists $hash{'undefined_key'} and ! defined $hash{'undefined_key'};> + + 1 + + +=head1 PREREQUISITES AND INSTALLATION + +This package should run on any standard Perl 5 installation. + +To install this package, download and unpack the distribution archive from +http://www.evoscript.com/dist/ or your favorite CPAN mirror, and execute +the standard "perl Makefile.PL", "make test", "make install" sequence. + + +=head1 STATUS AND SUPPORT + +This release of String::Escape is intended for public review and feedback. +It has been tested in several environments and no major problems have been +discovered, but it should be considered "beta" pending that feedback. + + Name DSLI Description + -------------- ---- --------------------------------------------- + String:: + ::Escape bdpf Registry of useful string escaping functions + +Further information and support for this module is available at E<lt>www.evoscript.orgE<gt>. + +Please report bugs or other problems to C<E<lt>simonm@cavalletto.orgE<gt>>. + +The following changes are in progress or under consideration: + +=over 4 + +=item * + +Use word-boundary test in elide's regular expression rather than \s|\Z. + +=item * + +Check for possible problems in the use of printable escaping functions and list2hash. For example, are the encoded strings for hashes with high-bit characters in their keys properly unquoted and unescaped? + +=item * + +Update string2list; among other things, embedded quotes (eg: a@"!a) shouldn't cause phrase breaks. + +=back + + +=head1 SEE ALSO + +Numerous modules provide collections of string manipulation functions; see L<String::Edit> for an example. + +The string2list function is similar to to the quotewords function in the standard distribution; see L<Text::ParseWords>. + +Use other packages to stringify more complex data structures; see L<Data::PropertyList>, L<Data::Dumper>, or other similar package. + + +=head1 CREDITS AND COPYRIGHT + +=head2 Developed By + + M. Simon Cavalletto, simonm@cavalletto.org + Evolution Softworks, www.evoscript.org + +=head2 Contributors + + Eleanor J. Evans piglet@piglet.org + Jeremy G. Bishop + +=head2 Copyright + +Copyright 2002 Matthew Simon Cavalletto. + +Portions copyright 1996, 1997, 1998, 2001 Evolution Online Systems, Inc. + +=head2 License + +You may use, modify, and distribute this software under the same terms as Perl. + +=cut diff --git a/tools/tmplgettext b/tools/tmplgettext new file mode 100755 index 0000000..5a756ab --- /dev/null +++ b/tools/tmplgettext @@ -0,0 +1,158 @@ +#!/usr/bin/perl + +# +# tmplgettext <regexp> <directories> +# +# Creates a gettext pot-template from any text template specified by <regexp> +# in <directories> (recursivly) +# +# Any text matching /<%! (.*) !%>/ (even across multiple lines) will be +# interpreted as a translatable strings like in gettext("foo") or _("foo"). +# +# e.g.: tmplgettext "^.*\.html$" ./templates >templates.pot +# +# Output goes to stdout. +# +# 04/2005 - Tobias Grimm <vdr@e-tobi.net> +# + +my $BASENAME; +BEGIN { + $BASENAME = $1; + unshift(@INC, $BASENAME . "../tools/lib/"); +} + +use String::Escape qw(printable); +use File::Find; + +my $START_TAG = "<%! "; +my $END_TAG = " !%>"; + +my $filePattern = ""; + +sub WritePotHeader +{ + my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = + localtime(time); + + print "# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid \"\" +msgstr \"\" +\"Project-Id-Version: VDRAdmin-0.97-AM3.3\\n\" +\"Report-Msgid-Bugs-To: Andreas Mair <mail@andreas.vdr-developer.org>\\n\"\n"; + + # FIXME: Correctly set timezone + + printf "\"POT-Creation-Date: %4d-%02d-%02d %02d:%02d+0100\"\n", + $year + 1900, $mon + 1, $mday, $hour, $min; + + print "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\" +\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\" +\"Language-Team: LANGUAGE <LL@li.org>\\n\" +\"MIME-Version: 1.0\\n\" +\"Content-Type: text/plain; charset=CHARSET\\n\" +\"Content-Transfer-Encoding: 8bit\\n\"\n\n"; +} + +sub my_normalize { + my $text = shift; + $text =~ s/[\t\n]//g; + return printable($text); +} + +sub WritePotEntry +{ + my ($fileName, $lineNumber, $msgid) = @_; + my $escapedMsgid = my_normalize($msgid); + + print "#: $fileName:$lineNumber\n"; + print "msgid \"$escapedMsgid\"\n"; + print "msgstr \"\"\n\n"; +} + +sub ExtractMsgids +{ + my ($fileName, @fileContent) = @_; + my $text = ""; + my $isTextStarted = 0; + my $lineCounter = 0; + my $textStartLine; + + foreach my $line (@fileContent) + { + my $lookAhead; + + $lineCounter++; + + if ($isTextStarted = 1) + { + $text = $text . "\n"; + } + + for (my $index=0; $index < length($line); $index++) + { + $lookAhead = substr($line, $index, length($START_TAG)); + if ($lookAhead eq $START_TAG) + { + $index = $index + length($START_TAG); # skip whole tag + $isTextStarted = 1; + $textStartLine = $lineCounter; + $text = ""; + } + + $lookAhead = substr($line, $index, length($END_TAG)); + if ($lookAhead eq $END_TAG) + { + if ($isTextStarted) + { + $index = $index + length($END_TAG); # skip whole tag + if (length($text) > 0) + { + WritePotEntry($fileName, $textStartLine, $text); + } + $isTextStarted = 0; + } + } + + if ($isTextStarted) + { + $text = $text . substr($line, $index, 1); + } + } + } +} + +sub ProcessFile +{ + if ($File::Find::name =~ /$filePattern/) + { + open(HTML, "< $File::Find::name"); + my @fileContent = <HTML>; + close(HTML); + + ExtractMsgids($File::Find::name, @fileContent); + } +} + +# +# main() +# + +$filePattern = shift(@ARGV); + +WritePotHeader; + +find({no_chdir => 1, wanted => \&ProcessFile}, @ARGV); diff --git a/tools/update-po b/tools/update-po new file mode 100755 index 0000000..076a9e2 --- /dev/null +++ b/tools/update-po @@ -0,0 +1,19 @@ +#!/bin/sh -e + +pushd po/ +../tools/tmplgettext "^.*\.html$" ../template >tmp-html-x.pot +msguniq tmp-html-x.pot >vdradmin.pot + +xgettext --from-code=ISO-8859-1 -L Perl ../vdradmind.pl -j -o vdradmin.pot +xgettext --from-code=ISO-8859-1 -L Perl ../template/i18n.pl -j -o vdradmin.pot +rm tmp-*.pot +popd + + +for LANG in de es fi fr ; do + if msgmerge po/$LANG.po po/vdradmin.pot >temp.po ; then + mv -f temp.po po/$LANG.po + else + echo "error merging po/$LANG.po and po/vdradmin.pot" + fi +done diff --git a/vdradmind.pl b/vdradmind.pl index 54ff969..eb47261 100755 --- a/vdradmind.pl +++ b/vdradmind.pl @@ -151,7 +151,7 @@ $CONFIG{CHANNELS_WANTED_SUMMARY} = ""; # $CONFIG{PROG_SUMMARY_COLS} = 3; -my $VERSION = "0.97-am3.4"; +my $VERSION = "0.97-am3.4.1"; my $SERVERVERSION = "vdradmind/$VERSION"; my $LINVDR = isLinVDR(); my $VDRVERSION = 0; @@ -1966,7 +1966,7 @@ sub access_log { return sprintf("%s - %s [%s +0100] \"%s\" %s %s \"%s\" \"%s\"", $ip, $username, - my_strftime("%d/%b/%Y:%H:%M:%S", $time), #TODO + my_strftime("%d/%b/%Y:%H:%M:%S", $time), $rawrequest, $http_status, $bytes_transfered, @@ -2174,12 +2174,12 @@ sub prog_detail { for(@{$EPG{$vdr_id}}) { #if($_->{id} == $epg_id) { #XXX if($_->{event_id} == $epg_id) { - $channel_name = $_->{channel_name}; - $title = $_->{title}; - $subtitle = $_->{subtitle}; + $channel_name = CGI::escapeHTML($_->{channel_name}); + $title = CGI::escapeHTML($_->{title}); + $subtitle = CGI::escapeHTML($_->{subtitle}); $start = my_strftime("%H:%M", $_->{start}); $stop = my_strftime("%H:%M", $_->{stop}); - $text = $_->{summary}; + $text = CGI::escapeHTML($_->{summary}); $date = my_strftime("%A, %x", $_->{start}); # find epgimages @@ -2488,6 +2488,7 @@ sub timer_list { $timer->{dor} = my_strftime("%a %d.%m", $timer->{startsse}); #TODO $timer->{title} =~ s/"/\"/g; + $timer->{title} = CGI::escapeHTML($timer->{title}); $TagAnfang=my_mktime(0,0,my_strftime("%d", $timer->{start}),my_strftime("%m", $timer->{start}),my_strftime("%Y", $timer->{start})); $TagEnde=my_mktime(0,0,my_strftime("%d", $timer->{stop}),my_strftime("%m", $timer->{stop}),my_strftime("%Y", $timer->{stop})); @@ -2768,9 +2769,9 @@ sub timer_new_form { my $ref; if(defined($epg_id)) { if($Referer =~ /(.*)\#\d+$/) { - $ref = sprintf("%s#%s", $1, $epg_id); + $ref = sprintf("%s#id%s", $1, $epg_id); } else { - $ref = sprintf("%s#%s", $Referer, $epg_id); + $ref = sprintf("%s#id%s", $Referer, $epg_id); } } @@ -2981,7 +2982,7 @@ sub rec_stream { if( $CONFIG{VDRVFAT} > 0 ) { for ( $i=0 ;$ i < length($title); $i++) { $c = substr($title,$i,1); - unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&()+,.\-;=~]/) { + unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&()+,.\-;=~ ]/) { $newtitle.= sprintf( "#%02X", ord( $c )); } else { $newtitle.= $c; @@ -3061,6 +3062,7 @@ sub at_timer_list { $_->{stop} = substr($_->{stop}, 0, 2) . ":" . substr($_->{stop}, 2, 5); } $_->{pattern} =~ s/"/\"/g; + $_->{pattern} = CGI::escapeHTML($_->{pattern}); $_->{modurl} = $MyURL . "?aktion=at_timer_edit&id=$id"; $_->{delurl} = $MyURL . "?aktion=at_timer_delete&id=$id"; $_->{prio} = $_->{prio} ? $_->{prio} : $CONFIG{AT_PRIORITY}; @@ -3171,11 +3173,10 @@ sub at_timer_edit { ($found = 1) if($n eq $chan->{vdr_id}); } next if(!$found); + if($chan->{vdr_id}) { + $chan->{cur} = ($chan->{vdr_id} == $at[$id-1]->{channel}) ? 1 : 0; + } push(@chans, $chan); -# if($chan->{vdr_id}) { -# $chan->{cur} = ($chan->{vdr_id} == $at[$id-1]->{channel}) ? 1 : 0; -# push(@chans, $chan); -# } } } @@ -3451,7 +3452,7 @@ sub prog_timeline { switchurl=> sprintf("%s?aktion=prog_switch&channel=%s", $MyURL, $event->{vdr_id}), infurl => ($event->{summary} ? sprintf("%s?aktion=prog_detail&epg_id=%s&vdr_id=%s", $MyURL, $event->{event_id}, $event->{vdr_id}) : undef), recurl => sprintf("%s?aktion=timer_new_form&epg_id=%s&vdr_id=%s", $MyURL, $event->{event_id}, $event->{vdr_id}), - anchor => "id" . $event->{event_id}, + anchor => $event->{event_id}, timer => ( defined $TIM->{ $event->{title} } && $TIM->{ $event->{title} }->{vdr_id} == $event->{vdr_id} ? 1 : 0 ), }); } @@ -3566,7 +3567,6 @@ sub prog_summary { $displaytitle =~ s/\|/<br \/>\n/g; $displaysubtitle =~ s/\n/<br \/>\n/g; $displaysubtitle =~ s/\|/<br \/>\n/g; - push(@show, { date => my_strftime("%x", $event->{start}), longdate => my_strftime("%A, %x", $event->{start}), @@ -3574,7 +3574,7 @@ sub prog_summary { stop => my_strftime("%H:%M", $event->{stop}), title => $displaytitle, subtitle => $displaysubtitle, - progname => $event->{channel_name}, + progname => CGI::escapeHTML($event->{channel_name}), summary => $displaytext, vdr_id => $event->{vdr_id}, proglink => sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $event->{vdr_id}), @@ -3585,29 +3585,29 @@ sub prog_summary { recurl => sprintf("%s?aktion=timer_new_form&epg_id=%s&vdr_id=%s", $MyURL, $event->{event_id}, $event->{vdr_id}), find_title => uri_escape($event->{title}), anchor => "id" . $event->{event_id} - }); - last if(!$search); - } - } + }); + last if(!$search); + } + } - # needed for vdr 1.0.x, dunno why - @show = sort({ $a->{vdr_id} <=> $b->{vdr_id} } @show); + # needed for vdr 1.0.x, dunno why + @show = sort({ $a->{vdr_id} <=> $b->{vdr_id} } @show); - # - my @status; - for(my $i = 0; $i <= $#show; $i++) { - undef(@temp); - undef(@status); - for(my $z = 0; $z < $CONFIG{PROG_SUMMARY_COLS}; $i++, $z++) { - push(@temp, $show[$i]); - push(@status, $show[$i]); - } - $i--; - push(@shows, { day => [ @temp ], status => [ @status ] }); - } + # + my @status; + for(my $i = 0; $i <= $#show; $i++) { + undef(@temp); + undef(@status); + for(my $z = 0; $z < $CONFIG{PROG_SUMMARY_COLS}; $i++, $z++) { + push(@temp, $show[$i]); + push(@status, $show[$i]); + } + $i--; + push(@shows, { day => [ @temp ], status => [ @status ] }); + } - # - my $template = TemplateNew("prog_summary.html"); + # + my $template = TemplateNew("prog_summary.html"); my $vars = { usercss => $UserCSS, rows => \@shows, @@ -3887,9 +3887,9 @@ sub rec_detail { if(/^D (.*)/) { $text = $1; } } - my $displaytext = $text; - my $displaytitle = $title; - my $displaysubtitle = $subtitle; + my $displaytext = CGI::escapeHTML($text); + my $displaytitle = CGI::escapeHTML($title); + my $displaysubtitle = CGI::escapeHTML($subtitle); my $imdb_title = $title; $displaytext =~ s/\n/<br \/>\n/g; @@ -3901,6 +3901,7 @@ sub rec_detail { $imdb_title =~ s/^.*~\([^~]*\)/\1/; $vars = { + usercss => $UserCSS, text => $displaytext ? $displaytext : undef, title => $displaytitle ? $displaytitle : undef, subtitle => $displaysubtitle ? $displaysubtitle : undef, @@ -3925,16 +3926,14 @@ sub rec_detail { } } -printf("TITLE: $title\n"); my $imdb_title = $title; $imdb_title =~ s/^.*\~//; $title =~ s/\~/ - /g; -printf("IMDBTITLE: " . $imdb_title . "\n"); $vars = { usercss => $UserCSS, - text => $text ? $text : "", + text => $text ? CGI::escapeHTML($text) : "", imdburl => "http://akas.imdb.com/Tsearch?title=" . $imdb_title, - title => $title + title => CGI::escapeHTML($title) }; } @@ -3994,7 +3993,7 @@ sub recRunCmd { if( $CONFIG{VDRVFAT} > 0 ) { for ( my $i=0 ;$ i < length($title); $i++) { $c = substr($title,$i,1); - unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&()+,.\-;=~]/) { + unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&()+,.\-;=~ ]/) { $newtitle.= sprintf( "#%02X", ord( $c )); } else { $newtitle.= $c; |