diff options
68 files changed, 6741 insertions, 2729 deletions
@@ -4,10 +4,25 @@ E-Mail: mail AT andreas DOT vdr-developer DOT org VDR-Portal: amair ----------------------------------------------------------- -************************************************************ -PLEASE NOTE: -- Streaming recordings is not implemented. If you have some code that works, please let me know! -************************************************************ +2005-05-12: 0.97-am3.2 +- Added "make uninstall" to remove VDRAdmin from your system if you have installed it using "make install". Please always use this before you install a new release! +- Fixed programming of repeating timers when day is "D" (Thanks to "maxkr" for reporting this). +- Print date in prog_list & prog_list2 in system's locale. Please comment! +- More transparent "selected channels" usage. +- Added reccmds.conf content to rec_list (needs valid VDRCONFDIR in vdradmind.conf) +- AutoTimers can now be limited to certain weekdays (Patch submitted by Magnus Schmidt). +- Streaming can be turn on/off for live viewing and recordings viewing (Based on code submitted by Tobias Grimm). +- Added streaming button to prog_list2. +- Fixed handling of incorrect start/stop times in AutoTimer. +- Changed localisation to use gettext() (Thanks to Tobias Grimm for doing most of the needed work). +- Language can no longer be set in VDRAdmin, it's taken from your system's setting. Issue "export LC_MESSAGES=<language code>" if you need to change it, where <language code> is one of "de_DE", "en_EN", "es_ES", "fi_FI" or "fr_FR". +- Added Finnish i18n (Submitted by Rolf Ahrenberg). +- Fixed ":" & "|" handling in timer's directory (Thanks "vejoun"). +- Added links to prog_list on channels in at_timer_list and timer_list. +- Added IMDb lookup button to recording's detail view. +- Added "Priority" and "Lifetime" tooltip to at_timer_list and timer_list (point mouse to timer's name). +- Small changes for streaming recordings: Please update your vdradmind.conf (VIDEODIR & ST_VIDEODIR)! +- Non-LinVDR logo on non-LinVDR machines (Posted by Unimatrix0 at vdrportal.de). 2005-04-12: 0.97-am3.1 - Updated Spanish i18n (Thanks to Ruediger Jung). @@ -2,45 +2,53 @@ *** Installation *** *********************************************************** - Unpack the archive somewhere: - $ tar xvf vdradmin-VERSION.tar.bz2 - $ cd vdradmin-VERSION +1) Unpack the archive somewhere: + $ tar xvf vdradmin-VERSION.tar.bz2 + $ cd vdradmin-VERSION - Now you have to deside wether you want to run vdradmin locally - in this directory or install it into your system. +2) If you want to run VDRAdmin using a language other than set on + our system, then before running it you have to issue: + $ export LANG="<language code>" -a) run locally - First you have to configure vdradmin. This only has to be done once. - $ ./vdradmind.pl --config + Where <language code> has to be one of: de_DE, es_ES, fi_FI or fr_FR + (en_GB is default). - Some questions about the configuration will asked. +3) Now you have to deside wether you want to run VDRAdmin locally (3a) + in this directory or install it into your system (3b). - Now you're done and you can run vdradmin: - $ ./vdradmind.pl +3a) run locally + First you have to configure VDRAdmin. This only has to be done once. + $ ./vdradmind.pl --config -b) install into system - $ make install - - Now you have to configure vdradmin: - $ vdradmind.pl --config + Some questions about the configuration will be asked. - Some questions about the configuration will asked. + Now you're done and you can run VDRAdmin: + $ ./vdradmind.pl - Now you're done and you can run vdradmin: - $ vdradmind.pl +3b) install into system + $ make install - If you want vdradmin to run automatically on system boot, you have - to add a startup script to the wanted runlevel. Please consult your - Linux distribution's documentation. Maybe you'll also find some help - in vdradmin's "contrib" directory. + Now you have to configure VDRAdmin: + $ vdradmind.pl --config + Some questions about the configuration will asked. - No matter how you run vdradmin, you now can point your browser to - the given parameters (e.g. http://localhost:8001). + Now you're done and you can run VDRAdmin: + $ vdradmind.pl + +4) If you want VDRAdmin to run automatically on system boot, you have + to add a startup script to the wanted runlevel. Please consult your + Linux distribution's documentation. Maybe you'll also find some help + in VDRAdmin's "contrib" directory. + Please also note that you might have to set the wanted language in + that startup as shown in (2). + +5) No matter how you run VDRAdmin, you now can point your browser to + the given parameters (e.g. http://localhost:8001). *********************************************************** -*** Hide vdradmin behind apache *** +*** Hide VDRAdmin behind apache *** *********************************************************** you will need apache with mod_proxy and these lines in httpd.conf: @@ -50,6 +58,7 @@ b) install into system ProxyPass /vdradmin/ http://127.0.0.1:8001/ </IfModule> + *********************************************************** *** Hint from Martin Neuditschko for apache2 (untested) *** *********************************************************** @@ -64,6 +73,7 @@ b) install into system RewriteRule ^/vdradmin(.*) http://localhost:8001$1 [P,L] </VirtualHost> + *********************************************************** *** See who's calling (you need an ISDN card for this) *** *********************************************************** @@ -3,10 +3,27 @@ LIBDIR=/usr/share/vdradmin ETCDIR=/etc/vdradmin DOCDIR=/usr/share/doc/vdradmin BINDIR=/usr/bin +LOCDIR=/usr/share/locale/ MANDIR=/usr/share/man/man1/ -distclean: - rm -f vdradmind.conf vdradmind.at vdradmind.bl vdradmind.pid vdradmind.log +LANGS=de es fr fi + +po/build_stamp: + $(MAKE) -C po LANGS="$(LANGS)" + for lang in $(LANGS); do \ + [ ! -d locale/$$lang/LC_MESSAGES/ ] && mkdir -p locale/$$lang/LC_MESSAGES/; \ + install -m 644 po/$$lang.mo locale/$$lang/LC_MESSAGES/vdradmin.mo; \ + done + +all: po/build_stamp + touch build_stamp + +clean: + $(MAKE) -C po clean + -rm -f build_stamp + +distclean: clean + rm -f vdradmind.conf vdradmind.at vdradmind.bl vdradmind.done vdradmind.pid vdradmind.log install: @if [ ! -d $(DESTDIR)$(BINDIR) ]; then \ @@ -17,7 +34,7 @@ install: @if [ ! -d $(DESTDIR)$(LIBDIR) ]; then \ mkdir -p $(DESTDIR)$(LIBDIR); \ fi - cp -r i18n template lib $(DESTDIR)$(LIBDIR) + cp -r template lib $(DESTDIR)$(LIBDIR) @if [ ! -d $(DESTDIR)$(ETCDIR) ]; then \ mkdir -p $(DESTDIR)$(ETCDIR); \ fi @@ -29,3 +46,40 @@ install: mkdir -p $(DESTDIR)$(DOCDIR); \ fi cp -r COPYING HISTORY* README* INSTALL contrib $(DESTDIR)$(DOCDIR) + for lang in $(LANGS); do \ + [ ! -d $(LOCDIR)/$$lang/LC_MESSAGES/ ] && mkdir -p $(LOCDIR)/$$lang/LC_MESSAGES/; \ + install -m 644 po/$$lang.mo $(LOCDIR)/$$lang/LC_MESSAGES/vdradmin.mo; \ + done + +uninstall: + if [ "$$(pidof -x vdradmind.pl)" ]; then \ + killall vdradmind.pl; \ + fi + if [ -d $(DESTDIR)$(DOCDIR) ]; then \ + rm -rf $(DESTDIR)$(DOCDIR); \ + fi + if [ -d $(DESTDIR)$(LIBDIR) ]; then \ + rm -rf $(DESTDIR)$(LIBDIR); \ + fi + if [ -e $(MANDIR)/vdradmind.pl.1 ]; then \ + rm -f $(MANDIR)/vdradmind.pl.1; \ + fi + if [ -e $(DESTDIR)$(BINDIR)/vdradmind.pl ]; then \ + rm -f $(DESTDIR)$(BINDIR)/vdradmind.pl; \ + fi + for lang in $(LANGS); do \ + if [ -e $(LOCDIR)/$$lang/LC_MESSAGES/vdradmin.mo ]; then \ + rm -f $(LOCDIR)/$$lang/LC_MESSAGES/vdradmin.mo; \ + fi; \ + done + @echo "" + @echo "" + @echo "******************************" + @echo "VDRAdmin has been uninstalled!" + @echo "" + @if [ -d $(DESTDIR)$(ETCDIR) ]; then \ + echo ""; \ + echo "Your configuration files located in $(DESTDIR)$(ETCDIR) have NOT been deleted!"; \ + echo "If you want to get rid of them, please delete them manually!"; \ + fi + diff --git a/README.translaters b/README.translaters deleted file mode 100644 index 011349c..0000000 --- a/README.translaters +++ /dev/null @@ -1,15 +0,0 @@ -Since vdradmin-0.97-am3.0 all text has been extracted from the templates and vdradmind.pl to a single i18n.pl file. So it's much easier for anybody who wants to translate VDRAdmin to another language. - -All you need to do is to let me (mail AT andreas DOT vdr-developer DOT org) know that you plan to add a new language, so that I can tell you if anybody else is already working on that language. After my OK you can begin your work: - -- Simply create a new folder in the "i18n" folder named like the language you want to submit. -- Copy an existing i18n.pl file depending on the languages you understand to this new folder. -- Translate the file and take care that you use HTML's named entities: see http://www.w3.org/TR/WD-entities-961125 (English) or http://de.selfhtml.org/html/referenz/zeichen.htm (German) -- Afterwards send the folder to me. - -Please note that you have to restart vdradmind.pl after any changes you made to the i18n.pl file because it is only read at startup. - -If you have any further questions please don't hesitate to contact me. - -2005-03-30, Andreas Mair - diff --git a/README.translators b/README.translators new file mode 100644 index 0000000..2693a89 --- /dev/null +++ b/README.translators @@ -0,0 +1,82 @@ +VDRAdmin-am translators guide +============================== + +Since vdradmin-0.97-am3.2 almost every text has been extracted from the +scripts and templates. This makes it much easier for anybody, who wants to +translate VDRAdmin to another language. + +All you need to do is to let me (mail AT andreas DOT vdr-developer DOT org) +know, that you plan to add a new language, so that I can tell you if anybody +else is already working on that language. After my OK you can start your work. + + +Howto +----- + +We've decided to use GNU gettext for translating the user interface to +different languages. GNU gettext is widely used among Linux programs of all +kind. It comes with a lot of tools and with support for most programming +languages. + +The translations are stored in plain text files with a *.po file extension. +Each language has its own file (e.g. de.po, fi.po, ...). You may edit these +po-files with any text editor, but we recommend to use a po-editor like +poedit [1], kbabel [2] or gtranslator [3]. + +You must have installed the "gettext" package of your distribution to compile +the plain text translations to the binary files needed by VDRAdmin. + +The basic work flow for a translation looks like this: + +1) Copy po/vdradmin.pot to po/<language code>.po. See [4] for a list of + available language codes. + +2) Open the file in your favorit po-editor. Make sure you set the correct + encoding and fill in your email and language in the corresponding header + fields. poedit makes this pretty easy - just go to catalog/options and + fill out the form. + +3) Now you can start translating. Each message is commented to give you a hint, + where it came from. Keep in mind, that if you translate a message, you should + use html entities [5], [6] for special characters. Any text that origins from + vdradmind.pl must not have html entities. + Beside the help texts, you will not need any formating tags. + + Messages marked as "fuzzy" indicate, that they may have been derived from + similar messages and it's not sure, that the translation is correct. Check + these translations and correct them if needed or simply mark them as not + fuzzy (poedit: edit/mark as fuzzy) + +4) To check how your translated texts look like, you have to compile them + first to *.mo-files. To do so, you edit the "Makefile" first and append + your <language code> to the "LANGS=" line. Running "make" will then create + a new *.mo-file from your changed *.po-file. + + Please note, that you have to restart vdradmind.pl after any changes you + make to the translation. In order to allow vdradmin to select your language, + you must have the appropriate locales installed on your system (see + `locale -a`). You should make sure, that the correct locale is selected + with the LANG and LC_* environemt variables. + +5) If you are done, send the *.po-file to me: + + mail AT andreas DOT vdr-developer DOT org + +6) When changes have been made to vdradmin-am, that cause some messages to + change, the *.po-files will by modified and we will send them to the + translators. The process then starts with 2) again and we will include your + new translation with the next release. + + +If you have any further questions, please don't hesitate to contact me. + + +--- 2005-04-22, Andreas Mair --- + + +[1] http://www.poedit.org (available for Windows and Linux) +[2] http://i18n.kde.org/tools/kbabel/ (KDE) +[3] http://gtranslator.sourceforge.net/ (GNOME) +[4] http://www.gnu.org/software/gettext/manual/html_chapter/gettext_15.html +[5] http://www.w3.org/TR/WD-entities-961125 (English) +[6] http://de.selfhtml.org/html/referenz/zeichen.htm (German). diff --git a/contrib/README.Streaming b/contrib/README.Streaming new file mode 100644 index 0000000..b627bff --- /dev/null +++ b/contrib/README.Streaming @@ -0,0 +1,51 @@ +VDRAdmin Streaming +================== + +The idea of extending VDRAdmin with streaming features originally came from +the Debian maintainers of the vdradmin package. For questions about the +streaming, they are the right contact persons: + +Peter Siering <ps@ctmagazin.de>, Tobias Grimm <tg@e-tobi.net> + +You can enable access to the streaming feature, by setting STREAM_ON=1 in +vdradmind.conf. vdradmin is not responsible for providing video streams, +it's just a frontend to access them. + +At the configuration page you can now enable/disble live streaming and +streaming of recordings. + + +Live Streaming +-------------- + +Live streaming gives you access to the currently selected channel. To use +live streaming, you must have the streamdev-server-plugin from +Sascha Volkenandt (available at http://www.magoa.net/linux/) installed. +This plugin provides access to the currently watched channel, by +providing a video stream using the Video Transfer Protocol VTP. + +By default port 3000 is used, you can change this on the configuration page. + + +Recordings Streaming +-------------------- + +There is no real streaming server for VDR recordings available yet. Our +lazy solution right now is, to simply access the recordings using a Samba +share. So your first step to make use of the recordings streaming should +be, to make your recoordings directory available over the network. + +The URL, a client should use to access this network share, has to be +configured at the configuration page. + +VDRAadmin will also need direct access to VDR's recordings directory. You +have to set this in vdradmind.conf with VIDEODIR, which is by default +set to VIDEODIR="/video". + + +Setting up the Client / Browser +------------------------------- + +!!! TODO !!! + + -- Tobias Grimm <tg@e-tobi.net>, Sun, 23 Jan 2005 20:00:00 +0100 diff --git a/debian/NEWS b/debian/NEWS deleted file mode 100644 index d3976f3..0000000 --- a/debian/NEWS +++ /dev/null @@ -1,2 +0,0 @@ -vdradmin (0.97-am3.0) unstable; urgency=low - diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 9119fb4..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,23 +0,0 @@ -vdradmin for Debian -------------------- - -This package provides a working config-file under /var/lib/vdradmin/vdradmind.conf, -this files uses a standard-username and standard-password (linvdr/linvdr), you -should change this before you enable the vdradmin-service in -/etc/default/vdradmin, alternatively you can generate a new config with: - -vdradmin.pl --config - - -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>, Fri, 6 Aug 2004 22:57:28 +0200 - - -To hide vdradmin behind apache: - - you will need apache with mod_proxy and these lines in httpd.conf: - - <IfModule mod_proxy.c> - ProxyRequests Off - ProxyPass /vdradmin/ http://127.0.0.1:8001/ - </IfModule> - - -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>, Wed, 1 Oct 2003 21:07:47 +0200 diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index d0cfcb2..0000000 --- a/debian/changelog +++ /dev/null @@ -1,135 +0,0 @@ -vdradmin (0.97-am3.1) unstable; urgency=low - -vdradmin (0.97-am3.0) unstable; urgency=low - - * vdr-1.3.23 - -vdradmin (0.96-5.ctvdr.3) unstable; urgency=low - - * Added fix for new date format in vdr > 1.2.6 (thx to Andreas Mair, - Torsten Lang) - - -- Tobias Grimm <tg@e-tobi.net> Sun, 3 Apr 2005 19:11:39 +0200 - -vdradmin (0.96-5.ctvdr.2) unstable; urgency=low - - * Made vdradmind.conf readable by group "vdr" (may be needed by - autotimer plugin) - - -- Tobias Grimm <tg@e-tobi.net> Sun, 3 Apr 2005 13:45:13 +0200 - -vdradmin (0.96-5.ctvdr.1) unstable; urgency=low - - * Tobias Grimm <tg@e-tobi.net> - - Made package more compatible to official Debian version - * Thomas Schmidt <tschmidt@debian.org> - - From now on vdradmin will run under the user vdradmin, - the owner of the cfg-file will be changed in postinst - - Changed path of vdradmind.{conf,at} from /etc/vdradmin/ to - /var/lib/vdradmin to comply with the FHS (existing files - will be moved in postinst) - - -- Tobias Grimm <tg@e-tobi.net> Sun, 27 Mar 2005 14:33:27 +0200 - -vdradmin (0.96-3.ctvdr.1) unstable; urgency=low - - * New upstream release - * changed version numbering to "backports.org"-style to reflect relationship - to official debian package - * Modified streaming patch to allow streaming of recordings with - dot, slash, double underscore and parenthesis in filename - * Converted all patches to shorter format for new dpatch - * Added dist-var patch, that change vdradmin.pl to search for it's - files in system-directories, instead of local, relative paths - (taken from official debian version 0.96-3) - * Added 02_sectmpfiles.dpatch: use File::Temp to create temporary - files, to prevent possible symlink-attacks (Closes: #287601) - (taken from official debian version 0.96-3) - * Set permissions of /etc/vdradmin/vdradmind.conf to 600 on new - installations (users with an existing installation should - ensure that the cfg-file has a permission of 600) - (taken from official debian version 0.96-3) - * using dh_install now - * Added manpage for vdradmin.pl (taken from official debian version 0.96-2) - * Set section to "web" and architecture to "all", set standards version to - 3.6.1 - * Fixed depends (no longer depends on vdr, but suggests it) - * Added watch file - * The vdradmin daemon can now be enabled/disabled in /etc/default/vdradmin - (taken from official debian version 0.96-3) - * Do not install Base64.pm, Template.pm and RescDescent.pm - from upstream anymore, depend on libhtml-template-perl and - libparse-rescdescent-perl (Base64.pm is allready provided by - perl) (taken from official debian version 0.96-2) - * Link /usr/share/vdradmin/template/{English,French}/bilder to - /usr/share/vdradmin/template/Deutsch/bilder, this reduces the - size of the deb by about 50% (taken from official debian version 0.96-2) - * Took over README.Debian from official debian version 0.96-3 - * added debian/compat - - -- Tobias Grimm <tg@e-tobi.net> Thu, 30 Dec 2004 22:20:00 +0100 - -vdradmin (0.95-ct-10) unstable; urgency=low - - * Fix rec streaming patch: slashes in dir names and order - - -- Peter Siering <ps@ctmagazin.de> Fri, 29 Oct 2004 11:00:00 +0100 - -vdradmin (0.95-ct-9) unstable; urgency=low - - * extracted Peter Sierings modifications as 05_streaming.dpatch - - -- Tobias Grimm <tg@e-tobi.net> Sat, 21 Mar 2004 16:00:00 +0100 - -vdradmin (0.95-ct-8) unstable; urgency=low - - * added fix to rec_stream to skip "new"-char at time - - -- Tobias Grimm <tg@e-tobi.net> Wed, 17 Feb 2003 21:30:00 +0100 - -vdradmin (0.95-ct-7) unstable; urgency=low - - * changed additional_images -patch to work within CVS source-dirs too - * added patch to fix problem with vdr's Wareagle Icon Patch - (Thanks to HFlor from vdrportal.de) - - -- Tobias Grimm <tg@e-tobi.net> Sat, 08 Feb 2003 23:50:00 +0100 - -vdradmin (0.95-ct-6) unstable; urgency=low - - * vdradmin is distributed as non-native package from now on - - -- Tobias Grimm <tg@e-tobi.net> Sat, 08 Feb 2003 23:50:00 +0100 - -vdradmin (0.95-ct-5) unstable; urgency=low - - * new upstream release - * includes fix for using through apache - - -- Peter Siering <ps@ctmagazin.de> Tue, 22 Dec 2003 00:30:00 +0100 - -vdradmin (0.94-ct-4) unstable; urgency=low - - * minor streaming fixes, repair init - - -- Peter Siering <ps@ctmagazin.de> Tue, 28 Nov 2003 10:00:00 +0100 - -vdradmin (0.94-ct-3) unstable; urgency=low - - * incorporated (live) streaming functions - - -- Peter Siering <ps@ctmagazin.de> Tue, 25 Nov 2003 12:00:00 +0100 - -vdradmin (0.94-2) unstable; urgency=low - - * fixed vdradmind.pl location in init skript - - -- Peter Siering <ps@ctmagazin.de> Sun, 16 Nov 2003 12:00:00 +0100 - -vdradmin (0.94-1) unstable; urgency=low - - * Initial Release. - * includes daylight saving fix - - -- Peter Siering <ps@ctmagazin.de> Thu, 30 Oct 2003 00:13:40 +0100 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index b8626c4..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/debian/control b/debian/control deleted file mode 100644 index 223ca65..0000000 --- a/debian/control +++ /dev/null @@ -1,18 +0,0 @@ -Source: vdradmin -Section: web -Priority: optional -Maintainer: Peter Siering <ps@ctmagazin.de> -Origin: ctvdr -Bugs: mailto:pkg-vdr-dvb-devel@lists.alioth.debian.org -Build-Depends-Indep: debhelper (>= 4.0.0), dpatch (>= 2.0.9) -Standards-Version: 3.6.1 - -Package: vdradmin -Architecture: all -Depends: perl, libcompress-zlib-perl, libhtml-template-perl, libparse-recdescent-perl -Suggests: vdr -Description: VDRadmin is a web frontend to VDR - VDRadmin is a web frontend to Klaus Schmidingers - Video Disk Recorder. Beside that it adds some extras - to VDR like auto timers; that are some kind of - search lists to the electronic program guide (EPG). diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index d005dd8..0000000 --- a/debian/copyright +++ /dev/null @@ -1,26 +0,0 @@ -This package was debianized by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> on -Wed, 1 Oct 2003 20:36:52 +0200. -It was modified for VDRAdmin-AM by Andreas Mair <mail@andreas.vdr-developer.org>. - -It was downloaded from http://andreas.vdr-developer.org - -Upstream Author: Thomas Koch <tom@linvdr.org>, Andreas Mair <mail@andreas.vdr-developer.org> - -Copyright: 2001-2004, Thomas Koch <tom@linvdr.org> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - see /usr/share/common-licenses/GPL-2 - diff --git a/debian/patches/00list b/debian/patches/00list deleted file mode 100644 index 7b9e8ba..0000000 --- a/debian/patches/00list +++ /dev/null @@ -1,2 +0,0 @@ -01_dist-var -03_cfgfiles-fhs.dpatch diff --git a/debian/patches/01_dist-var.dpatch b/debian/patches/01_dist-var.dpatch deleted file mode 100644 index 3bf465e..0000000 --- a/debian/patches/01_dist-var.dpatch +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run - -## 01_dist-var.dpatch by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change vdradmin.pl to search for it's files in system-directories, -## DP: instead of local, relative paths - -@DPATCH@ -diff -urNad /home/chelli/vdr/cvs/vdr/vdradmin/vdradmind.pl vdradmin/vdradmind.pl ---- /home/chelli/vdr/cvs/vdr/vdradmin/vdradmind.pl 2004-05-27 16:34:55.000000000 +0200 -+++ vdradmin/vdradmind.pl 2004-05-27 16:35:55.000000000 +0200 -@@ -42,7 +42,7 @@ - #use warnings; - - #my $SEARCH_FILES_IN_SYSTEM = (-d '/usr/share/vdradmin/lib' ? 1 : 0); # for distribution --my $SEARCH_FILES_IN_SYSTEM = 0; -+my $SEARCH_FILES_IN_SYSTEM = 1; - - sub true () { 1 }; - sub false () { 0 }; diff --git a/debian/patches/03_cfgfiles-fhs.dpatch b/debian/patches/03_cfgfiles-fhs.dpatch deleted file mode 100644 index 50bb8e1..0000000 --- a/debian/patches/03_cfgfiles-fhs.dpatch +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 03_cfgfiles-fhs.dpatch by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change the path to the cfgfile and autotime-file to comply -## DP: with the FHS (vdradmin changes these files at runtime) - -@DPATCH@ -diff -urNad vdradmin-0.96/vdradmind.pl /tmp/dpep.0DtdZt/vdradmin-0.96/vdradmind.pl ---- vdradmin-0.96/vdradmind.pl 2005-01-23 21:41:19.000000000 +0100 -+++ /tmp/dpep.0DtdZt/vdradmin-0.96/vdradmind.pl 2005-01-23 21:42:53.000000000 +0100 -@@ -94,10 +94,10 @@ - } else { - $TEMPLATEDIR = "/usr/share/vdradmin/template"; - $I18NDIR = "/usr/share/vdradmin/i18n"; -- $CONFFILE = "/etc/vdradmin/vdradmind.conf"; -+ $CONFFILE = "/var/lib/vdradmin/vdradmind.conf"; - $LOGFILE = "/var/log/$CONFIG{LOGFILE}"; - $PIDFILE = "/var/run/vdradmind.pid"; -- $AT_FILENAME = "/etc/vdradmin/vdradmind.at"; -+ $AT_FILENAME = "/var/lib/vdradmin/vdradmind.at"; -- $DONE_FILENAME = "/etc/vdradmin/vdradmind.done"; -+ $DONE_FILENAME = "/var/lib/vdradmin/vdradmind.done"; -- $BL_FILENAME = "/etc/vdradmin/vdradmind.bl"; -+ $BL_FILENAME = "/var/lib/vdradmin/vdradmind.bl"; - } - my $DONE = &DONE_Read || {}; - diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index 735d586..0000000 --- a/debian/postinst +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -e -set -e - -TEMPLATE_DIR=/usr/share/vdradmin/template - -# Check if there are still cfgfiles in /etc/vdradmin/ and move them -# to /var/lib/vdradmin -if [ ! -f /var/lib/vdradmin/vdradmind.conf ]; then - if [ -f /etc/vdradmin/vdradmind.conf ]; then - mv /etc/vdradmin/vdradmind.conf /var/lib/vdradmin/ - else - cp /usr/share/doc/vdradmin/examples/vdradmind.conf /var/lib/vdradmin/ - fi -fi - -[ -e /etc/vdradmin/vdradmind.conf ] || ln -s /var/lib/vdradmin/vdradmind.conf \ -/etc/vdradmin/vdradmind.conf - -if [ ! -f /var/lib/vdradmin/vdradmind.at ]; then - [ ! -f /etc/vdradmin/vdradmind.at ] || mv /etc/vdradmin/vdradmind.at /var/lib/vdradmin/ -fi - -# ensure that user and group 'vdradmin' exist -USER=vdradmin -GROUP=vdradmin -if ! getent group | grep -q "^$GROUP:" ; then - echo -n "Adding group $GROUP.." - addgroup --quiet --system $GROUP - echo "..done" -fi -if ! getent passwd | grep -q "^$USER:"; then - echo -n "Adding user $USER.." - adduser --system --home /var/lib/vdradmin --shell /bin/false \ - --gecos "VDRAdmin user" --no-create-home \ - --disabled-login --disabled-password \ - --ingroup $GROUP \ - $USER - echo "...done" -fi - -# ensure vdradmind.at (auto timers) exists -ATFILE=/var/lib/vdradmin/vdradmind.at -[ -e $ATFILE ] || touch $ATFILE - -# ensure that vdradmin's config files have the correct owner -[ ! -d /var/lib/vdradmin ] || chown -R $USER:$GROUP /var/lib/vdradmin/ - -# change the permissions of the cfg-file to 0600 -[ ! -e /var/lib/vdradmin/vdradmind.conf ] || chmod 0600 /var/lib/vdradmin/vdradmind.conf - -# change the owner and group of the logfile to vdradmin -[ ! -e /var/log/vdradmind.log ] || chown $USER:$GROUP /var/log/vdradmind.log - -# make auto timer file "read/writeable" by group vdr and config file readable -# by group "vdr",so that vdr plugins (Autotimeredit plugin) get access -if getent group | grep -q "^vdr:" ; then - if [ -d /var/lib/vdradmin ] ; then - chgrp -R vdr /var/lib/vdradmin - chmod a=,ug=rwx /var/lib/vdradmin - chmod a=,ug=rw $ATFILE - CFGFILE=/var/lib/vdradmin/vdradmind.conf - [ -e $CFGFILE ] && chmod a=,u=rw,g=r $CFGFILE - fi -fi - -##DEBHELPER## diff --git a/debian/postrm b/debian/postrm deleted file mode 100644 index e2e719a..0000000 --- a/debian/postrm +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -e -set -e - -case "$1" in - purge) - rm -f /var/lib/vdradmin/vdradmind.conf > /dev/null 2>&1 || true - rm -f /var/lib/vdradmin/vdradmind.at > /dev/null 2>&1 || true - rm -f /var/lib/vdradmin/vdradmind.done > /dev/null 2>&1 || true - rm -f /var/lib/vdradmin/vdradmind.bl > /dev/null 2>&1 || true - rm -f /etc/vdradmin/vdradmind.conf > /dev/null 2>&1 || true - - chown root:root /var/log/vdradmind.log > /dev/null 2>&1 || true - - deluser vdradmin > /dev/null || true - ;; - remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -##DEBHELPER## diff --git a/debian/prerm b/debian/prerm deleted file mode 100644 index 87380fc..0000000 --- a/debian/prerm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -e -set -e - -TEMPLATE_DIR=/usr/share/vdradmin/template - -##DEBHELPER## diff --git a/debian/rules b/debian/rules deleted file mode 100644 index 2923e6c..0000000 --- a/debian/rules +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# include dpatch stuff -include /usr/share/dpatch/dpatch.make - -clean: clean-patched unpatch - -clean-patched: - dh_testdir - dh_testroot - dh_clean - -build: patch-stamp - # Nothing to build here - # - # Note: all files are installed using dh_install - -install: - dh_testdir - dh_testroot - dh_clean -k - - dh_installdirs - -# Build architecture-independent files here. -binary-indep: install - dh_testdir - dh_testroot - dh_installchangelogs HISTORY.am - dh_installdocs - dh_installexamples debian/vdradmind.conf - dh_install - dh_installinit - dh_installman - dh_link - dh_compress - dh_fixperms - dh_perl - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep -.PHONY: build clean binary-indep install patch unpatch diff --git a/debian/vdradmin.default b/debian/vdradmin.default deleted file mode 100644 index cbf4813..0000000 --- a/debian/vdradmin.default +++ /dev/null @@ -1,20 +0,0 @@ -# Defaults for vdradmin initscript -# sourced by /etc/init.d/vdradmin -# installed at /etc/default/vdradmin by the maintainer scripts - -# -# This is a POSIX shell fragment -# - -# Should vdradmin's init-script be enabled? - -################################################################# -# ATTENTION! YOU SHOULD MODIFY /var/lib/vdradmin/vdradmind.conf # -# before enabling this, because the default config uses a # -# really simple default username/password (linvdr/linvdr) # -################################################################# - -ENABLED="1" - -# Additional options that are passed to the Daemon. -DAEMON_OPTS="" diff --git a/debian/vdradmin.dirs b/debian/vdradmin.dirs deleted file mode 100644 index 0e9961e..0000000 --- a/debian/vdradmin.dirs +++ /dev/null @@ -1,2 +0,0 @@ -var/lib/vdradmin -etc/vdradmin diff --git a/debian/vdradmin.init b/debian/vdradmin.init deleted file mode 100644 index 24f7a99..0000000 --- a/debian/vdradmin.init +++ /dev/null @@ -1,91 +0,0 @@ -#! /bin/sh -# -# -# Init-script for vdradmin, created by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> -# -# - -# Default Settings: - -# Username vdradmin should run as: -USER=vdradmin - -# Group under which vdradmin should run: -GROUP=vdradmin - - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/bin/vdradmind.pl -NAME=vdradmin -DESC="VDR Webadministration interface" - -test -x $DAEMON || exit 0 - -# Include vdradmin defaults if available -if [ -f /etc/default/vdradmin ] ; then - . /etc/default/vdradmin -fi - -test "$ENABLED" != "0" || exit 0 - -set -e - -# Create Temporary Directory -create_temp () -{ - TEMPDIR=`mktemp -d -p /tmp vdradmin-XXXXXX` - - # Check if the group vdr exists and make vdr - # the owner of the temporary directory - if getent group | grep -q "^vdr:" ; then - chown vdr $TEMPDIR - fi - - chgrp vdradmin $TEMPDIR - chmod 2770 $TEMPDIR -} - -# Check if the logfile exists allready, if not, create it and set -# group and owner to $USER:$GROUP -create_logfile () -{ - LOGFILE="/var/log/vdradmind.log" - if [ ! -e $LOGFILE ] ; then - touch $LOGFILE - chown $USER:$GROUP $LOGFILE - fi -} - -case "$1" in - start) - echo -n "Starting $DESC: " - create_temp - create_logfile - TEMPDIR=$TEMPDIR start-stop-daemon --start \ - -c $USER:$GROUP -b -m --pidfile /var/run/vdradmin.pid \ - --exec /usr/bin/vdradmind.pl -- -nf - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon --stop -q -o --pidfile /var/run/vdradmin.pid - echo "$NAME." - ;; - restart|force-reload) - echo -n "Restarting $DESC: " - create_temp - create_logfile - start-stop-daemon --stop -q -o --pidfile /var/run/vdradmin.pid - TEMPDIR=$TEMPDIR start-stop-daemon --start \ - -c $USER:$GROUP -b -m --pidfile /var/run/vdradmin.pid \ - --exec /usr/bin/vdradmind.pl -- -nf - echo "$NAME." - ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/debian/vdradmin.install b/debian/vdradmin.install deleted file mode 100644 index cfb76f1..0000000 --- a/debian/vdradmin.install +++ /dev/null @@ -1,9 +0,0 @@ -lib/ usr/share/vdradmin/ - -template/ usr/share/vdradmin/ - -i18n/ usr/share/vdradmin/ - -vdradmind.pl usr/bin/ - -vdradmind.pl.1 usr/share/man/man1/ diff --git a/debian/vdradmind.conf b/debian/vdradmind.conf deleted file mode 100644 index dbac378..0000000 --- a/debian/vdradmind.conf +++ /dev/null @@ -1,39 +0,0 @@ -AT_FUNC = 1 -AT_LIFETIME = 99 -AT_PRIORITY = 99 -AT_TIMEOUT = 120 -CACHE_LASTUPDATE = 1112088214 -CACHE_TIMEOUT = 60 -CHANNELS_WANTED_AUTOTIMER = 0 -CHANNELS_WANTED_PRG = 0 -CHANNELS_WANTED_SUMMARY = 0 -EPG_DIRECT = 0 -EPG_FILENAME = /var/cache/vdr/epg.data -GUEST_ACCOUNT = 0 -LANGUAGE = Deutsch -LOCAL_NET = 0.0.0.0/32 -LOGFILE = vdradmind.log -LOGGING = 1 -LOGINPAGE = 1 -LOGLEVEL = 81 -MOD_GZIP = 0 -PASSWORD = linvdr -PASSWORD_GUEST = -RECORDINGS = 2 -SERVERHOST = 0.0.0.0 -SERVERPORT = 8001 -SKIN = copper -ST_FUNC = 1 -ST_STREAMDEV_PORT = 3000 -ST_URL = -TIMES = 18:00, 20:00, 21:00, 22:00 -TM_LIFETIME = 99 -TM_MARGIN_BEGIN = 3 -TM_MARGIN_END = 3 -TM_PRIORITY = 99 -USERNAME = linvdr -USERNAME_GUEST = -VDR_HOST = localhost -VDR_PORT = 2001 -VIDEODIR = /video -ZEITRAHMEN = 1 diff --git a/debian/watch b/debian/watch deleted file mode 100644 index 8497e1d..0000000 --- a/debian/watch +++ /dev/null @@ -1,2 +0,0 @@ -version=2 -http://linvdr.org/download/vdradmin/ vdradmin.*-([\d+\.]+|\d+)\.tar(\.gz|\.bz2) debian uupdate diff --git a/i18n/Deutsch/i18n.pl b/i18n/Deutsch/i18n.pl deleted file mode 100644 index 5a32ee9..0000000 --- a/i18n/Deutsch/i18n.pl +++ /dev/null @@ -1,325 +0,0 @@ -## -# Deutsch -# -# Author: Andreas Mair -## - -@I18N_Days = ( - "Sonntag", - "Montag", - "Dienstag", - "Mittwoch", - "Donnerstag", - "Freitag", - "Samstag" -); - -@I18N_Month = ( - "Januar", - "Februar", - "März", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Dezember" -); - -@LOGINPAGES_DESCRIPTION = ( - "Programmübersicht", - "Was läuft heute?", - "Was läuft jetzt?", - "Zeitleiste", - "Timer", - "Aufnahmen" -); - -%MESSAGES = ( -# common - c_progname => "VDRAdmin", - c_monday => $I18N_Days[1], - c_tuesday => $I18N_Days[2], - c_wednesday => $I18N_Days[3], - c_thursday => $I18N_Days[4], - c_friday => $I18N_Days[5], - c_saturday => $I18N_Days[6], - c_sunday => $I18N_Days[0], - c_help => "Hilfe", - c_yes => "Ja", - c_no => "Nein", - c_minutes => "Minuten", - c_hours_short => "h", - c_sec => "sek", - c_off => "aus", - c_channel => "Sender", - c_time => "Uhrzeit", - c_clock => "Uhr", - c_priority => "Priorität:", - c_lifetime => "Lebenszeit:", - c_buffer_before => "Zeitpuffer Anfang:", - c_buffer_after => "Zeitpuffer Ende:", - c_title => "Titel", - c_subtitle => "Untertitel", - c_description => "Beschreibung", - c_summary => "Zusammenfassung:", - c_save => "Speichern", - c_apply => "Anwenden", - c_cancel => "Abbrechen", - c_once => "einmal", - c_all => "alle", - c_directory => "Ordner:", - c_edit => "Bearbeiten", - c_delete => "Löschen", - c_whatson => "Was läuft:", - c_now => "jetzt", - c_at => "um:", - c_go => "Go!", - c_stream => "Stream", - c_select_allnone => "Alle/keine auswählen", - -# JavaScript - js_del_timer => "Timer löschen?", - js_del_selected_timer => "Ausgewählte Timer wirklich löschen?", - js_change_timer => "Timerstatus ändern?", - js_del_rec => "Aufnahme löschen?", - js_del_selected_rec => "Ausgewählte Aufnahmen wirklich löschen?", - -# headings for listings - c_list_active => "Aktiv", - c_list_channel => "Sender", - c_list_start => "Beginn", - c_list_stop => "Ende", - c_list_name => "Name", - c_list_date => "Datum", - c_list_time => "Uhrzeit", - -# at_new.html - an_new_timer => "Neuen AutoTimer anlegen", - an_edit_timer => "AutoTimer editieren", - an_timer_active => "AutoTimer aktiv:", - an_search_items => "Suchbegriffe:", - an_search_in => "zu suchen in:", - an_search_start => "Beginnt frühestens:", - an_search_stop => "Endet spätestens:", - an_episode => "Serie:", - an_done_active => ""Done" aktiv:", - -# at_timer_list.html - al_autotimer => "AutoTimer", - al_new_autotimer => "Neuer AutoTimer", - al_force_update => "Manuelles Update", - al_del_selected => "Ausgewählte AutoTimer löschen", - -# config.html - co_config => "Konfiguration", - co_hl_general => "Allgemeine Einstellungen", - co_g_language => "Sprache:", - co_g_template => "Template:", - co_g_loginpage => "Startseite:", - co_g_num_dvb => "Anzahl der DVB-Karten:", - co_g_skin => "Skin:", - co_hl_id => "Identifikation", - co_id_user => "Benutzername:", - co_id_password => "Passwort:", - co_id_guest_account => "Gast-Zugang:", - co_id_guest_user => "Gast Benutzername:", - co_id_guest_password => "Gast Passwort:", - co_hl_timeline => "Zeitleiste", - co_tl_hours => "Stunden:", - co_tl_times => "Zeiten:", - co_hl_autotimer => "AutoTimer", - co_at_active => "Aktiv:", - co_at_timeout => "Timeout:", - co_hl_timer => "Timer", - co_hl_streaming => "Streaming", - co_str_port => "HTTP-Port von Streamdev (auch möglich 3000/ts):", - co_str_bandwidth => "Bandbreite des Streams:", - co_str_rec_path => "Pfad der Aufnahmen:", - co_str_do_live => "Live Streaming?", - co_str_do_rec => "Aufnahmen streamen?", - co_hl_channels => "Selektive Senderauswahl", - co_ch_use_summary => "Bei "Programmübersicht"?", - co_ch_use_whatsonnow => "Bei "Was läuft jetzt"?", - co_ch_use_autotimer => "Bei "AutoTimer"?", - -# index.html - i_no_frames => "Ihr Browser unterstützt keine Frames!", - -# left.html - menu_prog_summary => "Was läuft jetzt?", - menu_prog_list2 => "Was läuft heute?", - menu_prog_timeline => "Zeitleiste", - menu_prog_list => "Programmübersicht", - menu_timer_list => "Timer", - menu_at_timer_list => "AutoTimer", - menu_rec_list => "Aufnahmen", - menu_config => "Konfiguration", - menu_rc => "Fernbedienung", - menu_tv => "Fernseher", - menu_search => "Suchen", - -# vdradmind.pl, noauth.html, error.html - err_notfound => "Nicht gefunden", - err_notfound_long => "Die angeforderte URL konnte auf dem Server nicht gefunden werden!", - err_notfound_file => "Die URL "%s" wurde auf dem Server nicht gefunden!", - err_forbidden => "Verboten", - err_forbidden_long => "Sie haben nicht die Erlaubnis diese Funktion aufzurufen!", - err_forbidden_file => "Zugriff auf Datei "%s" verweigert!", - err_cant_open => "Kann Datei "%s" nicht öffnen!", - err_noauth => "Autorisierung erforderlich", - err_cant_verify => "Dieser Server kann nicht bestätigen, dass Sie berechtigt sind, auf das angeforderte Dokument zuzugreifen. Entweder haben Sie falsche Anmeldedaten angegeben (z.B. falsches Passwort) oder Ihr Browser kann die Anmeldedaten nicht übermitteln.", - err_error => "Fehler!", - -# prog_detail.html - pd_close => "schließen", - pd_view => "umschalten", - pd_record => "aufnehmen", - pd_search => "Wiederholungen", - pd_imdb => "Film in der Internet-Movie-Database (IMDb) suchen", - -# prog_list2.html - pl2_headline => "Was läuft heute?", - -# prog_list.html - pl_headline => "Programmübersicht", - -# prog_summary.html - ps_headline => "Was läuft jetzt?", - ps_more => "mehr", - ps_search => "Nach Wiederholungen suchen", - ps_more_info => "mehr Infos", - ps_view => "TV umschalten", - ps_record => "Sendung aufnehmen", - -# prog_timeline.html - pt_headline => "Was läuft jetzt?", - pt_timeline => "Zeitleiste:", - pt_to => "bis", - -# rc.html - rc_headline => "Fernbedienung", - -# rec_edit.html - re_headline => "Aufnahme umbenennen", - re_old_title => "Alter Titel der Aufnahme:", - re_new_title => "Neuer Titel der Aufnahme:", - re_rename => "Umbenennen", - -# rec_list.html - rl_headline => "Aufnahmen", - rl_hd_total => "Total:", - rl_hd_free => "Frei:", - rl_rec_total => "Gesamt", - rl_rec_new => "neu", - rl_rename => "Umbenennen", - rl_del_selected => "Ausgewählte Aufnahmen löschen", - -# timer_list.html - tl_headline => "Timer", - tl_new_timer => "Neuer Timer", - tl_inactive => "Diese Aufnahme ist deaktiviert!", - tl_impossible => "Diese Aufnahme ist nicht möglich!", - tl_nomore => "Keine weiteren Aufnahmen mehr möglich!", - tl_possible => "Diese Aufnahme ist möglich.", - tl_vps => "VPS", - tl_auto => "Auto", - tl_del_selected => "Ausgewählte Timer löschen", - -# timer_new.html - tn_new_timer => "Neuen Timer anlegen", - tn_edit_timer => "Timer editieren", - tn_timer_active => "Timer aktiv:", - tn_autotimer_checking => "Automatische Timer-Überwachung:", - tn_transmission_id => "Sendungskennung", - tn_day_of_rec => "Tag der Aufnahme:", - tn_time_start => "Startzeit:", - tn_time_stop => "Endzeit:", - tn_rec_title => "Titel der Aufnahme:", - -# tv.html - tv_headline => "Fernseher", - tv_interval => "Intervall:", - tv_size => "Größe:", - tv_grab => "Hole das Bild!", - tv_g => "G" -); - -%ERRORMESSAGE = ( - CONNECT_FAILED => "Konnte Verbindung zu %s nicht aufbauen!", - SEND_COMMAND => "Fehler beim Senden eines Kommandos zu %s", -); - -%COMMONMESSAGE = ( - OVERVIEW => "Übersicht", -); - -%HELP = ( - at_timer_list => -"<b>Auto Timer:</b><br> -<p>Eine Übersicht aller Auto-Timer-Einträge.</p> -<p>Ein Mausklick auf |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Ja</i> | oder |<img src=\"bilder/poempl_rot.gif\" alt=\"off\" valign=\"center\"> <i>Nein</i> | in der Spalte <i>Aktiv</i>, schaltet den jeweiligen Eintrag an oder aus.</p> -<p>Um einen Eintrag zu bearbeiten, klicken Sie auf das Symbol <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, zum Löschen auf <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. Wenn Sie mehrere Auto-Timer-Einträge auf einmal löschen möchten, Aktivieren Sie die Kästchen (<input type=\"checkbox\" checked>) rechts neben den gewünschten Einträgen und klicken Sie abschließend auf <i>Ausgewählte Auto Timer löschen</i> am Ende der Liste.</p>", - - at_timer_new => -"<b>Neuen Auto Timer anlegen/bearbeiten:</b><br> -<p>Der Auto Timer ist eine der zentralen Funktionen VDR Admins. Ein Auto-Timer-Eintrag besteht hauptsächlich aus einem oder mehreren Suchbegriffen, nach denen in regelmäßigen Abständen der elektronische Programmführer (EPG) durchsucht wird. Bei Übereinstimmung der Suchbegriffe (und übrigen Parameter wie Uhrzeit und Kanal) programmiert Auto Timer selbständig eine Aufnahme (Timer) für die gefundene Sendung – das ist besonders für (un)regelmäßig gesendete Serien interessant, oder aber für Filme, die Sie keinesfalls verpassen wollen.</p> -<p>In dieser Maske können Sie einen neuen Auto-Timer-Eintrag anlegen. Sie müssen in jedem Fall einen oder mehrere Suchbegriffe angeben, damit es überhaupt zu Übereinstimmungen kommen kann. Details, welche Suchbegriffe Sie wählen sollten und wie Sie unsinnige Aufnahmen vermeiden, finden Sie in der Hilfe zu <i>Suchbegriffe</i>.</p> -<b>Auto Timer Aktiv:</b><br> -<p>Mit <i>ja</i> schalten Sie den Auto Timer scharf, der elektronische Programmführer (EPG) wird dann regelmäßig nach <i>Suchbegriffe</i> durchsucht und ein neuer Timer-Eintrag programmiert, wenn es eine Übereinstimmung mit <i>Suchbegriffe</i> sowie den übrigen Parametern gibt.</p> -<p>Mit <i>nein</i> schalten Sie den Auto-Timer-Eintrag ab, ohne ihn zu löschen. Dies lässt bereits automatisch programmierte Aufnahmen (Timer) jedoch unangetastet – sie müssen gegebenenfalls von Hand im <i>Timer</i>-Menü gelöscht werden.</p> -<b>Suchbegriffe:</b><br> -<p>Die Wahl der Suchbegriffe hat entscheidenden Einfluss darauf, ob nur die gewünschte Sendung, alle mit ähnlichem Namen oder gar nichts programmiert wird.</p> -<p>Zunächst einmal spielt Groß-Kleinschreibung keine Rolle, die Suchbegriffe \"Akte X\" liefern genau die selben Treffer wie \"akte x\". Mehrere Suchbegriffe werden mit Leerzeichen getrennt, und es müssen stets alle angegebenen Suchbegriffe bei der gleichen Sendung gefunden werden.</p> -<p>So finden die Suchbegriffe \"Akte X\" die Sendungen \"Akte X - Die unheimlichen Fälle des FBI\" genauso wie \"Aktenzeichen XY ungelöst\" und \"Extrem Aktiv\", jedoch nicht die Sendung \"Die Akte Jane\" (dort ist kein \"X\" enthalten).</p> -<p>Sie sollten möglichst nur Buchstaben und Zahlen als Suchbegriffe verwenden, erfahrungsgemäß fehlen im elektronischen Programmführer (EPG) gerne mal ein Punkt, Klammern oder sonstige Zeichen.</p> -<p>Es ist auch möglich, reguläre Ausdrücke zu verwenden – Experten mögen doch bitte die nötigen Infos dem Quelltext entnehmen (undocumented feature). -</p>", - - timer_list => -"<b>Timer</b> -<p>Übersicht über alle Timer im VDR.</p> -<p>Ein Mausklick auf |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Ja</i> | oder |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" valign=\"center\"> <i>Nein</i> | in der Spalte <i>Aktiv</i>, schaltet den jeweiligen Timer an oder aus.<br> -<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> zeigt an, daß es eine Überschneidung gibt. Das ist unkritisch, solange es für jeden Timer eine Karte gibt, um die Aufnahme durchzuführen.<br> -Um einen Eintrag zu bearbeiten, klicken Sie auf das Symbol <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, zum Löschen auf <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. Wenn Sie mehrere Auto-Timer-Einträge auf einmal löschen möchten, Aktivieren Sie die Kästchen (<input type=\"checkbox\" checked>) rechts neben den gewünschten Einträgen und klicken Sie abschließend auf <i>Ausgewählte Timer löschen</i> am Ende der Liste. -</p>", - - conf_list => -"<b>Allgemeine Einstellungen:</b> -<p>Hier kann man die allgemeinen Einstellungen vornehmen. Außerdem die Grundeinstellungen für Timer, AutoTimer, Kanalselektionen und Streaming Parameter -</p> -<b>Allgemeine Einstellungen:</b> -<p>Hier kann man die Sprache, die Startseite, das Aussehen, sowie die Anzahl der DVB-Karten einstellen. Außerdem die Grundeinstellungen für Timer, AutoTimer, Kanalselektionen und Streaming Parameter -</p> -<b>Identifikationen:</b> -<p>Ein Mausklick auf |<input type=\"radio\"> <i>ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | aktiviert oder deaktiviert den <i>Gast-Zugang</i>. Die Passwörter sollten für beide Konten geändert werden, wenn eine Verbindung zum Internet besteht -</p> -<b>Zeitleiste:</b> -<p>Hier bekommt man eine Balkenansicht der Sender präsentiert, wobei man den sichtbaren Zeitumfang einstellen kann.<br> -In den Balken sieht man die Titel der jeweiligen Sendung. Der Zeitbalken beginnt in der vollen halben Stunde vor "Jetzt". Ein feiner roter Strich zeigt die aktuelle Zeitposition an.<br>Programmierte Sendungen werden außerdem farblich hervorgehoben. -</p> -<b>Einstellungen für AutoTimer:</b> -<p>Ein Mausklick auf |<input type=\"radio\"> <i>Ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | aktiviert oder deaktiviert die AutoTimer-Funktion. Hier bestimmt man auch wie oft der AutorTimer in den EPG-Daten nach den <i>Suchbegriffen</i> Ausschau halten soll.<br> -Die Lebenszeit einer Aufnahme bestimmt man indem ein Wert zwischen 0 und 99 eingeträgt (99 verfällt nie). Der Wert bezieht sich dann auf den Tag, an dem die Aufnahme gemacht wurde. Sind die angegebenen Tage bereits verfallen, wenn beim VDR eine Aufnahme ansteht, so kann im Falle von Speicherknappheit die betreffende Aufnahme vom VDR gelöscht werden. Die am längsten abgelaufene Aufnahme wird zuerst gelöscht. Man bestimmt hier also, mit welcher Lebenszeitangabe der AutoTimer später eine Aufnahme macht.<br> -Die Priorität bestimmt, wer im Falle eines Zeitkonfliktes den Vorrang bekommt. Die höhere Priorität kommt dann zur Ausführung. <br> -Ein AutoTimer sollte also einen höheren Wert zugewiesen bekommen, als die normalen Aufnahmen. Schließlich sucht der AutoTimer in der Regel nach Sendungen, die einem wichtig sind.</p> -<b>Einstellungen für Timer:</b> -<p>Priorität und Lebenszeit haben die gleiche Bedeutung, wie vorher bei den AutoTimern beschrieben, gelten aber eben für die von Hand erstellten Timer. -</p> - -<b>Einstellungen für das Streamdevice:</b> -<p>Neben Port und Bandbreite, muß hier auch das Videoverzeichnis von VDR eingetragen werden. -</p> - -<b>Die selektive Kanalwahl:</b> -<p>Ein Mausklick auf |<input type=\"radio\"> <i>Ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | rechts neben den gewünschten Einträgen, aktiviert oder deaktiviert die "selektiven" Kanäle für das jeweilige Hauptfenster.<br> -So kann man die genannten Einzelansichten auf die gewählten Kanäle beschränken, was Übersichtlichkeit und Seitenaufbau günstig beeinflußt.<br> -Die Auswahl der Kanäle erfolgt nach Auswahl eines oder mehrerer Kanäle im linken Fenster (STRG-Taste gedrückt halten und alle Kanäle die man hinzufügen will anklicken), durch Übertragung in das rechte Fenster. <br>Mit den Knöpfen sind beide Richtungen möglich. -</p> -", - - ENOHELPMSG => "Bisher keine Hilfe vorhanden. Zum Hinzufügen oder Ändern eines Textes bitte an mail\@andreas.vdr-developer.org wenden." -); diff --git a/i18n/English/i18n.pl b/i18n/English/i18n.pl deleted file mode 100644 index 0b3b852..0000000 --- a/i18n/English/i18n.pl +++ /dev/null @@ -1,280 +0,0 @@ -## -# English -# -# Author: Andreas Mair -## - -@I18N_Days = ( - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" -); - -@I18N_Month = ( - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" -); - -@LOGINPAGES_DESCRIPTION = ( - "Channels", - "Playing Today", - "Whats On?", - "Timeline", - "Timers", - "Recordings" -); - -%MESSAGES = ( -# common - c_progname => "VDRAdmin", - c_monday => $I18N_Days[1], - c_tuesday => $I18N_Days[2], - c_wednesday => $I18N_Days[3], - c_thursday => $I18N_Days[4], - c_friday => $I18N_Days[5], - c_saturday => $I18N_Days[6], - c_sunday => $I18N_Days[0], - c_help => "Help", - c_yes => "Yes", - c_no => "No", - c_minutes => "minutes", - c_hours_short => "h", - c_sec => "sec.", - c_off => "off", - c_channel => "Channel:", - c_time => "Time", - c_clock => "o'clock", - c_priority => "Priority:", - c_lifetime => "Lifetime:", - c_buffer_before => "Time Margin at Start:", - c_buffer_after => "Time Margin at Stop:", - c_title => "Title", - c_subtitle => "Subtitle", - c_description => "Description", - c_summary => "Summary:", - c_save => "Save", - c_apply => "Apply", - c_cancel => "Cancel", - c_once => "oneshot", - c_all => "all", - c_directory => "Directory:", - c_edit => "Edit", - c_delete => "Delete", - c_whatson => "What's on:", - c_now => "now", - c_at => "at:", - c_go => "Go!", - c_stream => "Stream", - c_select_all_none => "Select all/none", - -# JavaScript - js_del_timer => "Delete timer?", - js_del_selected_timer => "Delete all selected timers?", - js_change_timer => "Edit timer status?", - js_del_rec => "Delete recording?", - js_del_selected_rec => "Delete all selected recordings?", - -# headings for listings - c_list_active => "Active", - c_list_channel => "Channel", - c_list_start => "Start", - c_list_stop => "Stop", - c_list_name => "Name", - c_list_date => "Date", - c_list_time => "Time", - -# at_new.html - an_new_timer => "Add New Auto Timer", - an_edit_timer => "Edit Auto Timer", - an_timer_active => "Auto Timer Active:", - an_search_items => "Search Patterns:", - an_search_in => "Search in:", - an_search_start => "Starts Before:", - an_search_stop => "Ends Before:", - an_episode => "Episode:", - an_done_active => "Done Active:", - -# at_timer_list.html - al_autotimer => "Auto Timer", - al_new_autotimer => "New Auto Timer", - al_force_update => "Force Update", - al_del_selected => "Delete Selected Auto Timers", - -# config.html - co_config => "Configuration", - co_hl_general => "General Settings", - co_g_language => "Language:", - co_g_template => "Template:", - co_g_loginpage => "Login Page:", - co_g_num_dvb => "Number of DVB Cards:", - co_g_skin => "Skin:", - co_hl_id => "Identification", - co_id_user => "Username:", - co_id_password => "Password:", - co_id_guest_account => "Guest Account:", - co_id_guest_user => "Guest Username:", - co_id_guest_password => "Guest Password:", - co_hl_timeline => "Timeline", - co_tl_hours => "Hours:", - co_tl_times => "Times:", - co_hl_autotimer => "Auto Timer", - co_at_active => "Active:", - co_at_timeout => "Timeout:", - co_hl_timer => "Timer", - co_hl_streaming => "Streaming", - co_str_port => "HTTP Port of Streamdev (also possible 3000/ts):", - co_str_bandwidth => "Bandwidth of Streams:", - co_str_rec_path => "Path to VDR Recordings:", - co_str_do_live => "Live Streaming?", - co_str_do_rec => "Stream recordings?", - co_hl_channels => "Channel Selections", - co_ch_use_summary => "In "Channels"?", - co_ch_use_whatsonnow => "In "What's On Now"?", - co_ch_use_autotimer => "In "Auto Timer"?", - -# index.html - i_no_frames => "Your Browser does not support frames!", - -# left.html - menu_prog_summary => "What's On Now?", - menu_prog_list2 => "Playing Today?", - menu_prog_timeline => "Timeline", - menu_prog_list => "Channels", - menu_timer_list => "Timer", - menu_at_timer_list => "Auto Timer", - menu_rec_list => "Recordings", - menu_config => "Configuration", - menu_rc => "Remote Control", - menu_tv => "Watch TV", - menu_search => "Search", - -# vdradmind.pl, noauth.html, error.html - err_notfound => "Not found", - err_notfound_long => "The requested URL was not found on this server!", - err_notfound_file => "The URL "%s" was not found on this server!", - err_forbidden => "Forbidden", - err_forbidden_long => "You don't have permission to access this function!", - err_forbidden_file => "Access to file "%s" denied!", - err_cant_open => "Can't open file "%s"!", - err_noauth => "Authorization Required", - err_cant_verify => "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.", - err_error => "Error!", - -# prog_detail.html - pd_close => "close", - pd_view => "view", - pd_record => "record", - pd_search => "search", - pd_imdb => "Lookup movie in the Internet-Movie-Database (IMDb)", - -# prog_list2.html - pl2_headline => "Playing Today", - -# prog_list.html - pl_headline => "Channels", - -# prog_summary.html - ps_headline => "What's On Now?", - ps_more => "more", - ps_search => "Search for other show times", - ps_more_info => "More Information", - ps_view => "TV select", - ps_record => "Record", - -# prog_timeline.html - pt_headline => "What's On Now?", - pt_timeline => "Timeline:", - pt_to => "to", - -# rc.html - rc_headline => "Remote Control", - -# rec_edit.html - re_headline => "Rename Recording", - re_old_title => "Original Name of Recording:", - re_new_title => "New Name of Recording:", - re_rename => "Rename", - -# rec_list.html - rl_headline => "Recordings", - rl_hd_total => "Total:", - rl_hd_free => "Free:", - rl_rec_total => "Total", - rl_rec_new => "New", - rl_rename => "Rename", - rl_del_selected => "Delete Selected Recordings", - -# timer_list.html - tl_headline => "Timer", - tl_new_timer => "New Timer", - tl_inactive => "This timer is inactive!", - tl_impossible => "This timer is impossible!", - tl_nomore => "No more timers possible!", - tl_possible => "Timer OK.", - tl_vps => "VPS", - tl_auto => "Auto", - tl_del_selected => "Delete Selected Timers", - -# timer_new.html - tn_new_timer => "Create New Timer", - tn_edit_timer => "Edit Timer", - tn_timer_active => "Timer Active:", - tn_autotimer_checking => "Auto Timer Checking:", - tn_transmission_id => "Transmission Identification", - tn_day_of_rec => "Day Of Recording:", - tn_time_start => "Start Time:", - tn_time_stop => "End Time:", - tn_rec_title => "Title of Recording:", - -# tv.html - tv_headline => "TV", - tv_interval => "Interval:", - tv_size => "Size:", - tv_grab => "Grab the picture!", - tv_g => "G" -); - -%ERRORMESSAGE = ( - CONNECT_FAILED => "Can't connect to VDR at %s!", - SEND_COMMAND => "Error while sending command to VDR at %s", -); - -%COMMONMESSAGE = ( - OVERVIEW => "Schedule", -); - -%HELP = ( - at_timer_list => -"<b>Auto Timer:</b><br> -<p>An overview of all Auto Timers</p> -<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)activate that Auto Timer.</p> -<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> for deleting an Auto Timer. If you want to delete multiple Auto Timers all at once, you have to check the boxes (<input type=\"checkbox\" checked>) on the right and finally click <i>Delete selected Auto Timers</i>.</p>", - - at_timer_new => -"<b>Edit Auto Timer:</b><br> -<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or more search terms and some other settings, that are looked for regularly in the Electronic Program Guide (EPG). On match Auto Timer 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> -<p>Here you can set an Auto Timer. It's required to specify at least one search item. Please have a look at <i>Search Items</i> if you need more information on how to find reasonable search items and how to avoid unwanted recordings.</p> -<b>Auto Timer Active:</b><br> -<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please note that VDR timers already added by VDRAdmin are not deleted if you deactivate this Auto Timer.</p> -<b>Search Items:</b><br> -<p>Choosing the right search items decides whether only the wanted broadcast or broadcast having similar names or nothing gets recorded.</p> -<p>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 all items.</p> -<p>You'd better only use letters and numbers for search items, as EPGs often miss colons, brackets and other characters.</p> -<p>Experts can also use regular expressions, but you have get needed information from the VDRAdmin sources (undocumented feature).</p>", - - ENOHELPMSG => "No help available yet. For adding or changing text please contact mail\@andreas.vdr-developer.org." -); diff --git a/i18n/French/i18n.pl b/i18n/French/i18n.pl deleted file mode 100644 index fa07f4a..0000000 --- a/i18n/French/i18n.pl +++ /dev/null @@ -1,280 +0,0 @@ -## -# French -# -# Authors: "Trois Six", "map" and "lobotomise" -## - -@I18N_Days = ( - "Dimanche", - "Lundi", - "Mardi", - "Mercredi", - "Jeudi", - "Vendredi", - "Samedi" -); - -@I18N_Month = ( - "Janvier", - "Février", - "Mars", - "Avril", - "Mai", - "Juin", - "Juillet", - "Août", - "Septembre", - "Octobre", - "Novembre", - "Décembre" -); - -@LOGINPAGES_DESCRIPTION = ( - "Liste de Chaînes", - "Aujourd'hui ?", - "En ce Moment ?", - "Chronologie", - "Programmations", - "Enregistrements" -); - -%MESSAGES = ( -# common - c_progname => "VDRAdmin", - c_monday => $I18N_Days[1], - c_tuesday => $I18N_Days[2], - c_wednesday => $I18N_Days[3], - c_thursday => $I18N_Days[4], - c_friday => $I18N_Days[5], - c_saturday => $I18N_Days[6], - c_sunday => $I18N_Days[0], - c_help => "Aide", - c_yes => "Oui", - c_no => "Non", - c_minutes => "minutes", - c_hours_short => "h", - c_sec => "sec.", - c_off => "off", - c_channel => "Chaîne :", - c_time => "horaires", - c_clock => "Heure", - c_priority => "Priorité :", - c_lifetime => "Chronologie :", - c_buffer_before => "Marge avant :", - c_buffer_after => "Marge après :", - c_title => "Titre", - c_subtitle => "Sous-titre", - c_description => "Description", - c_summary => "Sommaire:", - c_save => "Enregistrer", - c_apply => "Appliquer", - c_cancel => "Annuler", - c_once => "une fois", - c_all => "tout", - c_directory => "Chemin :", - c_edit => "Editer", - c_delete => "Supprimer", - c_whatson => "En ce moment :", - c_now => "maintenant", - c_at => "à :", - c_go => "Ok !", - c_stream => "Flux", - c_select_all_none => "Select all/none", #TODO - -# JavaScript - js_del_timer => "Supprimer Programmation ?", - js_del_selected_timer => "Supprimer Programmations Sélectionnées ?", - js_change_timer => "Changer Statut Programmation ?", - js_del_rec => "Supprimer l'Enregistrement ?", - js_del_selected_rec => "Supprimer Enregistrements Sélectionnés ?", - -# headings for listings - c_list_active => "Actif", - c_list_channel => "Chaîne", - c_list_start => "Début", - c_list_stop => "Fin", - c_list_name => "Nom", - c_list_date => "Date", - c_list_time => "Durée", - -# at_new.html - an_new_timer => "Ajouter Nouvelle Auto-Programmation", - an_edit_timer => "Editer Auto-Programmation", - an_timer_active => "Auto-Programmation Active :", - an_search_items => "Rechercher Modèles :", - an_search_in => "Rechercher dans :", - an_search_start => "Début de recherche :", - an_search_stop => "Fin de recherche :", - an_episode => "Episode :", - an_done_active => "Actif Prêt :", - -# at_timer_list.html - al_autotimer => "Auto-Programmation", - al_new_autotimer => "Nouvelle Auto-Programmation", - al_force_update => "Forcer Mise à jour", - al_del_selected => "Supprimer Auto-Programmations Sélectionnées", - -# config.html - co_config => "Configuration", - co_hl_general => "Paramètres Généraux", - co_g_language => "Langue :", - co_g_template => "Gabarit :", - co_g_loginpage => "Page de Démarrage :", - co_g_num_dvb => "Nombre de Cartes DVB :", - co_g_skin => "Thème :", - co_hl_id => "Identification", - co_id_user => "Identifiant :", - co_id_password => "Mot de Passe :", - co_id_guest_account => "Compte d'Invité :", - co_id_guest_user => "Identifiant Invité :", - co_id_guest_password => "Mot de Passe Invité :", - co_hl_timeline => "Chronologie", - co_tl_hours => "Heures :", - co_tl_times => "Périodes :", - co_hl_autotimer => "Auto-Programmation", - co_at_active => "Active :", - co_at_timeout => "Timeout :", - co_hl_timer => "Programmation", - co_hl_streaming => "Emission de Flux", - co_str_port => "Port HTTP de Streamdev (aussi possible 3000/ts) :", - co_str_bandwidth => "Bande Passante Flux :", - co_str_rec_path => "Chemin des Enregistrements VDR :", - co_str_do_live => "Live Streaming?", # TODO - co_str_do_rec => "Stream recordings?", # TODO - co_hl_channels => "Sélections Chaînes", - co_ch_use_summary => "Dans "Chaînes"?", - co_ch_use_whatsonnow => "Dans "En ce Moment"?", - co_ch_use_autotimer => "Dans "Auto-Programmations"?", - -# index.html - i_no_frames => "Votre Navigateur ne supporte pas les frames !", - -# left.html - menu_prog_summary => "En ce Moment ?", - menu_prog_list2 => "Aujourd'hui ?", - menu_prog_timeline => "Chronologie", - menu_prog_list => "Chaînes", - menu_timer_list => "Programmation", - menu_at_timer_list => "Auto-Programmation", - menu_rec_list => "Enregistrements", - menu_config => "Configuration", - menu_rc => "Télécommande", - menu_tv => "Regarder TV", - menu_search => "Rechercher", - -# vdradmind.pl, noauth.html, error.html - err_notfound => "Non trouvé", - err_notfound_long => "L'URL demandée n'a pas été trouvée sur le serveur !", - err_notfound_file => "L'URL "%s" n'a pas été trouvée sur le serveur !", - err_forbidden => "Interdit", - err_forbidden_long => "Vous n'avez pas la permission d'accéder à cette fonction !", - err_forbidden_file => "Accès au fichier "%s" interdit !", - err_cant_open => "Ne peut pas ouvrir le fichier "%s" !", - err_noauth => "Autorisation Requise", - err_cant_verify => "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.", - err_error => "Erreur !", - -# prog_detail.html - pd_close => "fermer", - pd_view => "vue", - pd_record => "enregistrer", - pd_search => "rechercher", - pd_imdb => "Lookup movie in the Internet-Movie-Database (IMDb)", # TODO - -# prog_list2.html - pl2_headline => "Joué Aujourd'hui", - -# prog_list.html - pl_headline => "Chaînes", - -# prog_summary.html - ps_headline => "En ce Moment ?", - ps_more => "plus", - ps_search => "Rechercher d´autres temps de diffusion", - ps_more_info => "Plus d´Information", - ps_view => "Zapper", - ps_record => "Enregistrer", - -# prog_timeline.html - pt_headline => "En ce Moment ?", - pt_timeline => "Chronologie :", - pt_to => "à", - -# rc.html - rc_headline => "Télécommande", - -# rec_edit.html - re_headline => "Renommer l'Enregistrement", - re_old_title => "Nom Original d'Enregistrement:", - re_new_title => "Nouveau Nom d'Enregistrement:", - re_rename => "Renommer", - -# rec_list.html - rl_headline => "Enregistrements", - rl_hd_total => "Total :", - rl_hd_free => "Libre :", - rl_rec_total => "Total", - rl_rec_new => "Nouveau", - rl_rename => "Renommer", - rl_del_selected => "Supprimer Enregistrements Sélectionnés", - -# timer_list.html - tl_headline => "Programmation", - tl_new_timer => "Nouvelle Programmation", - tl_inactive => "Cette Programmation est inactive !", - tl_impossible => "Cette Programmation est impossible !", - tl_nomore => "Pas plus de Programmations possibles !", - tl_possible => "Programmation OK.", - tl_vps => "VPS", - tl_auto => "Auto", - tl_del_selected => "Supprimer Programmations Sélectionnées", - -# timer_new.html - tn_new_timer => "Créer Nouvelle Programmation", - tn_edit_timer => "Editer Programmation", #ou "Modifier Programmation" - tn_timer_active => "Programmation Active :", - tn_autotimer_checking => "Vérification Auto-Programmation :", - tn_transmission_id => "Identification Transmission", - tn_day_of_rec => "Jour d'Enregistrement :", - tn_time_start => "Heure De Début :", - tn_time_stop => "Heure De Fin :", - tn_rec_title => "Titre d'Enregistrement :", - -# tv.html - tv_headline => "TV", - tv_interval => "Intervalle :", - tv_size => "Taille :", - tv_grab => "Rafraîchir", - tv_g => "G" -); - -%ERRORMESSAGE = ( - CONNECT_FAILED => "Ne peut se connecter à %s !", - SEND_COMMAND => "Erreur en envoyant la commande à %s", -); - -%COMMONMESSAGE = ( - OVERVIEW => "Programmateur", -); - -%HELP = ( - at_timer_list => -"<b>Pro Auto-Programmation :</b><br> -<p>Aperçu général des Auto-Programmations</p> -<p>Cliquer sur <i>Oui</i> ou <i>Non</i> dans la colonne <i>Active</i> pour activer/désactiver cette Auto-Programmation.</p> -<p>Utiliser <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> pour éditer et <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> pour supprimer une Auto-Programmation. Si vous voulez supprimer des Auto-Programmations multiples d'un seul coup, vous devez cocher les cases (<input type=\"checkbox\" checked>) a droite et finalement cliquer sur <i>Supprimer Auto-Programmations Sélectionnées</i>.</p>", - - at_timer_new => -"<b>Editer une Programmation:</b><br> -<p>L'Auto-Programmation est une caractéristique clé de VDRAdmin. Une Auto-Programmation consiste en un ou plusieurs articles de recherche et de quelques autres paramètres, ceci est recherché régulièrement dans le Guide de Programme Electronique (EPG). Sur combinaison l'Auto-Programmation ajoute une programmation automatiquement dans VDR pour cette émission. Ceci est très appréciable pour les feuilletons ou les films diffusés irrégulièrement et que vous ne voulez pas manquer.</p> -<p>Ici vous pouvez régler une Auto-Programmation. Il est exigé de spécifier au moins un article de recherche. Veuillez aller voir à <i>Rechercher Articles</i> si vous avez besoin de plus d'information sur la façon dont trouver les articles de recherche et comment éviter des enregistrements superflus.</p> -<b>Auto-Programmation Active :</b><br> -<p><i>Oui</i> active et <i>Non</i> désactive l'Auto-Programmation. Veuillez noter que les programmations de VDR déjà ajoutées par VDRAdmin ne sont pas supprimées si vous désactivez l'Auto-Programmation.</p> -<b>Rechercher Articles :</b><br> -<p>Le choix des éléments de recherche conditionne l'enregistrement de la diffusion, d'une diffusion avec un nom similaire, ou aucun enregistrement</p> -<p>La casse n'a pas d'importance,si "X-files" sélectionne tout "x-files" aussi.Vous pouvez choisir plusieurs éléments de recherche séparés par des espaces.Seul les diffusions contenant tous les éléments seront sélectionnées.</p> -<p>Il est préférable d'utiliser uniquement des lettres et des nombres pour les éléments de recherche,les EPG n'ont pas souvent d'autres caractères tels les deux points ou parenthèses.</p> -<p>Les experts peuvent utiliser aussi des expressions courantes, mais pour plus d'informations, regardez les sources de VDRAdmin (fonctions non documentées).</p>", - - ENOHELPMSG => "Aucune aide disponible. Pour ajouter ou changer du texte contactez mail\@andreas.vdr-developer.org." -); diff --git a/i18n/Spanish/i18n.pl b/i18n/Spanish/i18n.pl deleted file mode 100644 index a738516..0000000 --- a/i18n/Spanish/i18n.pl +++ /dev/null @@ -1,330 +0,0 @@ -## -# Español -# -# Author: Rüdiger Jung -## - -@I18N_Days = ( - "Domingo", - "Lunes", - "Martes", - "Miércoles", - "Jueves", - "Viernes", - "Sabado" -); - -@I18N_Month = ( - "Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre" -); - -@LOGINPAGES_DESCRIPTION = ( - "Datos de EPG", - "Estrenos ahora", - "¿Qué puedes ver hoy?", - "Tabla de tiempo", - "Programaciones", - "Grabaciones" -); - -%MESSAGES = ( -# common - c_progname => "VDRAdmin", - c_monday => $I18N_Days[1], - c_tuesday => $I18N_Days[2], - c_wednesday => $I18N_Days[3], - c_thursday => $I18N_Days[4], - c_friday => $I18N_Days[5], - c_saturday => $I18N_Days[6], - c_sunday => $I18N_Days[0], - c_help => "Ayuda", - c_yes => "Sí", - c_no => "No", - c_minutes => "Minutos", - c_hours_short => "h.", - c_sec => "sec", - c_off => "apagado", - c_channel => "Emisoras", - c_time => "Horario", - c_clock => "h.", - c_priority => "Prioridad:", - c_lifetime => "Durabilidad:", - c_buffer_before => "Más tiempo al principio:", - c_buffer_after => "Más tiempo al final:", - c_title => "Título", - c_subtitle => "Subtítulo", - c_description => "Descripción", - c_summary => "Resumen:", - c_save => "Guardar", - c_apply => "Aplicar", - c_cancel => "Cancelar", - c_once => "una vez", - c_all => "todas", - c_directory => "Carpeta:", - c_edit => "Modificar", - c_delete => "Borrar", - c_whatson => "Se puede ver:", - c_now => "ahora", - c_at => "a la/s:", - c_go => "¡venga!", - c_stream => "Flujo", - c_select_all_none => "Selececionar todos/ninguno", - -# JavaScript - js_del_timer => "¿Borrar programación?", - js_del_selected_timer => "¿Borrar en serio las programaciones elegidas?", - js_change_timer => "¿Cambiar estado de la programación?", - js_del_rec => "¿Borrar grabación?", - js_del_selected_rec => "¿Borrar en serio las grabaciones elegidas?", - -# headings for listings - c_list_active => "Activada", - c_list_channel => "Emisora", - c_list_start => "Comienzo", - c_list_stop => "Fin", - c_list_name => "Título", - c_list_date => "Fecha", - c_list_time => "Horarios", - -# at_new.html - an_new_timer => "Crear nueva autoprogramación", - an_edit_timer => "Modificar autoprogramación", - an_timer_active => "Autoprogramación activada:", - an_search_items => "Palabras claves:", - an_search_in => "Buscar en:", - an_search_start => "Buscar entre la/s:", - an_search_stop => "y la/s:", - an_episode => "Serie:", - an_done_active => ""Hecho" activado:", - -# at_timer_list.html - al_autotimer => "Autoprogramación", - al_new_autotimer => "Nueva autoprogramación", - al_force_update => "Actualizar ahora", - al_del_selected => "Borrar autoprogramaciones elegidas", - -# config.html - co_config => "Configuración", - co_hl_general => "Propiedades generales", - co_g_language => "Idioma:", - co_g_template => "Template:", - co_g_loginpage => "Página de inicio:", - co_g_num_dvb => "Cantidad tarjetas-DVB:", - co_g_skin => "Cara:", - co_hl_id => "Identificaciones", - co_id_user => "Nombre del usuario:", - co_id_password => "Contraseña:", - co_id_guest_account => "Acceso como invitado:", - co_id_guest_user => "Nombre como invitado:", - co_id_guest_password => "Contraseña como invitado:", - co_hl_timeline => "Tabla de tiempo", - co_tl_hours => "Rango de hora/s:", - co_tl_times => "Horarios:", - co_hl_autotimer => "Autoprogramaciones", - co_at_active => "Activadas:", - co_at_timeout => "Actualización cada:", - co_hl_timer => "Programaciones", - co_hl_streaming => "Flujo", - co_str_port => "Puerto-HTTP para el flujo (3000/ts también posible):", - co_str_bandwidth => "Ancho de banda del flujo:", - co_str_rec_path => "Ruta de las grabaciones:", - co_str_do_live => "¿Flujo en vivo?", - co_str_do_rec => "¿Grabar flujo?", - co_hl_channels => "Emisoras preferidas", - co_ch_use_summary => "Usar en "Datos de la guía electrónica (EPG)"?", - co_ch_use_whatsonnow => "Usar en "Estrenos ahora"?", - co_ch_use_autotimer => "Usar en "Autoprogramaciones"?", - -# index.html - i_no_frames => "¡El navegador no soporta marcos!", - -# left.html - menu_prog_summary => "Estrenos ahora", - menu_prog_list2 => "¿Qué puedes ver hoy?", - menu_prog_timeline => "Tabla de tiempo", - menu_prog_list => "Datos de EPG", - menu_timer_list => "Programaciones", - menu_at_timer_list => "Autoprogramaciones", - menu_rec_list => "Grabaciones", - menu_config => "Configuración", - menu_rc => "Mando de distancia", - menu_tv => "Televisión", - menu_search => "Buscar", - -# vdradmind.pl, noauth.html, error.html - err_notfound => "Nada encontrado", - err_notfound_long => "¡La URL requerida, no se encontró en el servidor!", - err_notfound_file => "¡La URL %s no se encontró en el servidor!", - err_forbidden => "Prohibido", - err_forbidden_long => "¡No tienes permiso para ésta funcción!", - err_forbidden_file => "¡Acceso al archivo %s negado!", - err_cant_open => "¡No se pudo abrir el archivo %s!", - err_noauth => "Autorización obligatoria", - err_cant_verify => "Este servidor no pudo verificar, tú permiso de acceso al documento requerido.<br>Posiblemente por entregar datos incorrectos (Nombre del usuario o contraseña p.e.) o por que tú navegador no soporta la forma de acceso.", - err_error => "¡Error!", - -# prog_detail.html - pd_close => "cerrar", - pd_view => "cambiar", - pd_record => "grabar", - pd_search => "repeticiones", - pd_imdb => "Buscar la película en la base de datos en Internet (IMDb)", - -# prog_list2.html - pl2_headline => "¿Qué puedes ver hoy?", - -# prog_list.html - pl_headline => "Datos de la guía electrónica (EPG)", - -# prog_summary.html - ps_headline => "Estrenos ahora", - ps_more => "más", - ps_search => "buscar repeticiones", - ps_more_info => "más info", - ps_view => "cambiar TV", - ps_record => "Grabar estreno", - -# prog_timeline.html - pt_headline => "Estrenos ahora", - pt_timeline => "Tabla de tiempo:", - pt_to => "hasta", - -# rc.html - rc_headline => "Mando de distancia", - -# rec_edit.html - re_headline => "Renombrar grabaciones", - re_old_title => "Título actual de la grabación:", - re_new_title => "Título nuevo de la grabación:", - re_rename => "Renombrar", - -# rec_list.html - rl_headline => "Grabaciones", - rl_hd_total => "Espacio en el disco:", - rl_hd_free => "Espacio disponible:", - rl_rec_total => "Todas", - rl_rec_new => "nueva", - rl_rename => "Renombrar", - rl_del_selected => "Borrar grabaciones elegidas", - -# timer_list.html - tl_headline => "Programaciones", - tl_new_timer => "Nueva programación", - tl_inactive => "¡Ésta programación está desactivada!", - tl_impossible => "¡Ésta programación es imposible!", - tl_nomore => "¡No se puede grabar más!", - tl_possible => "Ésta programación es posible.", - tl_vps => "VPS", - tl_auto => "Auto", - tl_del_selected => "Borrar programaciones elegidas", - -# timer_new.html - tn_new_timer => "Crear nueva programación", - tn_edit_timer => "Modificar programación", - tn_timer_active => "Programación activada:", - tn_autotimer_checking => "Autovigilancia de las programaciones", - tn_transmission_id => "Identificador de la emisora", - tn_day_of_rec => "Día de la grabación:", - tn_time_start => "Comienzo:", - tn_time_stop => "Fin:", - tn_rec_title => "Título de la grabación:", - -# tv.html - tv_headline => "Televisión", - tv_interval => "Intervalo:", - tv_size => "Dimensiones:", - tv_grab => "¡Captura la imagen!", - tv_g => "C" -); - -%ERRORMESSAGE = ( - CONNECT_FAILED => "¡No se pudo estabilizar la conexción a %s!", - SEND_COMMAND => "Error mandando el comando a %s ", -); - -%COMMONMESSAGE = ( - OVERVIEW => "Vista general", -); - -%HELP = ( - at_timer_list => -"<b>Autoprogramación:</b><br> -<p>Vista general de todos los registros de Autoprogramación.</p> -<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_rot.gif\" alt=\"noencendido\" valign=\"center\"> <i>no</i> | en la columna <i>Activada</i>, para activar o desactivar un registro correspondiente.</br> -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> -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 de <i>Borrar autoprogramaciones elegidas</i> al final de la lista. -</p>", - -###autotimer hinzufuegen-- - at_timer_new => -"<b>Crear/modificar nueva autoprogramación:</b> -<p>La autoprogramación es una función básica del VDR Admin. Una autoprogramación se refiere a una o más <i>Palabras claves</i>, cuales usará para analizar los datos de la guía electrónica (EPG) con un rango de tiempo ajustable. Cuando encuentra las palabras elegidas teniendo en cuenta la hora y la emisora, creará automáticamente una programación para el estreno encontrado – bastante útil para series (ir)regulares o igual para estrenos, que quieran grabar con seguridad.<br> -En esta pantalla se puede crear una nueva autoprogramación. Una o más palabras son obligatorias, para que puede actuar. Detalles, por palabras útiles y como evitar grabaciones inútiles, se puede encontrar en la ayuda para <i>Palabras claves</i> más abajo. -</p> -<b>Auto programación activo:</b> -<p>Marcando |<input type=\"radio\" checked> <i>sí</i> | activará la autoprogramación, y se va a buscar regularmente en la guía electrónica (EPG) por las <i>Palabras claves</i> y creará una programación, cuando cumple con las <i>Palabras claves</i> como con los parámetros demás.</br> -Con |<input type=\"radio\" checked> <i>no</i> | se desactiva la autoprogramación, sin borrarla. No afectará a las programaciones ya creadas por esta autoprogramación – a lo mejor tienes que borrarla manualmente en el menu <i>Autoprogramación</i>.<br> -Con |<input type=\"radio\" checked> <i>una vez</i> | la autoprogramación acaba de vigilar despúes de crear una programación. A partir de entonces serán programaciones normales sin las ventajas de una autoprogramación. -</p> -<b>Palabras claves:</b> -<p>Las palabras claves son importante, para lograr un buen resultado.<br> -No importa MAYÚSCULA o minúscula. Por eso las palabras claves \"X-Pasta\" logrará los mismos resultados como \"x-pasta\". Todas palabras claves se separa con espacio y para cumplir el órden, VDR-admin tiene que encontrar todas las palabras claves para un estreno.<br> -Las palabras claves \"Pasta X\" encontrarán \"Pasta - La cocina extraña de mi mujer\" como \"No se sabe hacer extra pasta\" y \"Pasta extrema \", pero no \"La pasta increible\" (no se encuentra una \"X\"!).<br> -Se recomienda usar sólo letras y cifras como palabras claves, por que la guía electrónica (EPG) se límita bastante en el uso de todas caracteres posibles o los interpreta mál. -<p>También deberia ser posible usar expresiones regulares – Expertos puedan extraer info del texto fuente (undocumented feature). -</p>", - -###Liste der Timer - timer_list => -"<b>Programación:</b> -<p>Vista general de todas las programaciones. -<br>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=\"noencendido\" valign=\"center\"> <i>no</i> | en la columna <i>Activado</i>, para activar o desactivar un registro correspondiente.<br> -<img src=\"bilder/poempl_gelb.gif\" alt=\"conflicto\" valign=\"center\"> indica que haya conflictos. Esto no importa, si hay una tarjeta disponible para cada una de las programaciones o estén en la misma frecuencia.<br> -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>", - -###Konfigurationsseite - conf_list => -"<b>Configuración:</b> -<p>En ésta página se ajusta las propiedades generales, las propiedades de la programación y de la autoprogramación, como las emisoras preferidas y por fin los ajustes del flujo. -</p> -<b>Propiedades generales:</b> -<p>Aquí se ajusta el idioma, la página principal, la cara y cuantas tarjetas de DVB hay. -</p> -<b>Identificaciones:</b> -<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>. Las contraseñas tienes que cambiar por algunas más seguras, si estás conectado al ínternet. -</p> -<b>Tabla de tiempo:</b> -<p>Ésta página te ofrece una vista de las canales como una tabla, en relacion al tiempo. Las horas introducidas, marcan el rango de las horas que vas a ver. Por defecto empiezara a la última hora cumplida anterioramente.<br> -En el campo de los horarios puedes entregar las horarios fijas, donde la barra va a empezar. Se refiere al campo en la página de tabla de tiempo, donde entonces puedes elegir entre esos valores predeterminados. -</p> -<b>Propiedades de las autoprogramaciones:</b> -<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>.<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> -Con el valor de la prioridad de la nueva grabacion tienes el segundo parámetro, para que VDR puede decidir, cuál de las grabaciones hechas se puede borrar, cuando necesita espacio en el disco duro. Por los 2 valores sabrá, si una grabación ha caducado y con una prioridad más alta de la grabación deseada entonces borraría ésta antigua. Así te ofrece VDR ajustar prioridades más altas a aquellas grabaciones, que te importan de verdad.<br> Durabilidad=99 por ejemplo, creará una grabación que nunca caduca! -</p> -<b>Propiedades de las programaciones:</b> -<p>Pon la prioridad de las programaciones, que es ajustable entre 0 y 99 . <br> -La durabilidad se puede ajustar entre 0 y 99 para dar a la grabación creada de ésta programación el valor deseado. El valor se refiere al día de la grabacion - más el rango que pones. -</p> - -<b>Propiedades del flujo</b> -<p>Si quieres usar la función del flujo (streaming over net) ajuste aquí las propiedades. -</p> - -<b>Emisoras preferidas</b> -<p>Con las emisoras preferidas te permite activar las pantallas que quieres usar con una cantidad de canales reducida. Así se carga mas rapido la página. Activa las páginas deseadas con los botones |<input type=\"radio\" checked> <i>sí</i> | o |<input type=\"radio\"> <i>no</i> | junto a los registros. -</p>", - - ENOHELPMSG => "Para ésta función no hay ayuda disponible hasta ahora. Para añadir o modificar un texto, por favor pon te en contacto con mail\@andreas.vdr-developer.org." -); diff --git a/locale/de/LC_MESSAGES/vdradmin.mo b/locale/de/LC_MESSAGES/vdradmin.mo Binary files differnew file mode 100644 index 0000000..5604220 --- /dev/null +++ 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 differnew file mode 100644 index 0000000..507d0d7 --- /dev/null +++ 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 differnew file mode 100644 index 0000000..64cee61 --- /dev/null +++ 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 differnew file mode 100644 index 0000000..5a4d9c0 --- /dev/null +++ b/locale/fr/LC_MESSAGES/vdradmin.mo diff --git a/po/Makefile b/po/Makefile new file mode 100644 index 0000000..3fa2aa8 --- /dev/null +++ b/po/Makefile @@ -0,0 +1,8 @@ +all: $(LANGS) + +$(LANGS): + msgfmt $@.po -o $@.mo + +clean: + -rm -f *.mo + -rm -f build_stamp diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..4fbf67b --- /dev/null +++ b/po/de.po @@ -0,0 +1,1046 @@ +# +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: VDRAdmin-0.97-AM3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-05-09 12:52+0200\n" +"PO-Revision-Date: 2005-05-10 12:49+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" +"Content-Transfer-Encoding: 8bit\n" + +#: ../template/default/index.html:18 +msgid "Your Browser does not support frames!" +msgstr "Ihr Browser unterstützt keine Frames!" + +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:45 +msgid "Create New Timer" +msgstr "Neuen Timer anlegen" + +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:45 +msgid "Edit Timer" +msgstr "Timer editieren" + +#: ../template/default/timer_new.html:50 +#: ../template/default/at_new.html:20 +#: ../template/default/at_timer_list.html:31 +#: ../template/default/config.html:20 +#: ../template/default/timer_list.html:46 +#: ../template/default/rec_list.html:26 +msgid "Help" +msgstr "Hilfe" + +#: ../template/default/timer_new.html:67 +msgid "Timer Active:" +msgstr "Timer aktiv:" + +#: ../template/default/timer_new.html:69 +#: ../template/default/at_new.html:39 +#: ../template/default/at_new.html:43 +#: ../template/default/at_new.html:145 +#: ../template/default/at_timer_list.html:110 +#: ../template/default/config.html:114 +#: ../template/default/config.html:175 +#: ../template/default/config.html:267 +#: ../template/default/config.html:276 +#: ../template/default/config.html:335 +#: ../template/default/config.html:344 +#: ../template/default/config.html:353 +#: ../template/default/config.html:362 +#: ../template/default/timer_list.html:295 +msgid "Yes" +msgstr "Ja" + +#: ../template/default/timer_new.html:70 +#: ../template/default/at_new.html:40 +#: ../template/default/at_new.html:44 +#: ../template/default/at_new.html:146 +#: ../template/default/at_timer_list.html:113 +#: ../template/default/config.html:115 +#: ../template/default/config.html:176 +#: ../template/default/config.html:268 +#: ../template/default/config.html:277 +#: ../template/default/config.html:336 +#: ../template/default/config.html:345 +#: ../template/default/config.html:354 +#: ../template/default/config.html:363 +#: ../template/default/timer_list.html:296 +msgid "No" +msgstr "Nein" + +#: ../template/default/timer_new.html:76 +msgid "Auto Timer Checking:" +msgstr "Automatische Timer-Überwachung:" + +#: ../template/default/timer_new.html:79 +msgid "Transmission Identification" +msgstr "Sendungskennung" + +#: ../template/default/timer_new.html:81 +#: ../template/default/rec_list.html:63 +msgid "Time" +msgstr "Uhrzeit" + +#: ../template/default/timer_new.html:82 +#: ../template/default/tv.html:184 +msgid "off" +msgstr "aus" + +#: ../template/default/timer_new.html:88 +#: ../template/default/at_new.html:84 +#: ../template/default/prog_list.html:23 +#: ../template/default/prog_list2.html:29 +msgid "Channel:" +msgstr "Sender" + +#: ../template/default/timer_new.html:100 +msgid "Day Of Recording:" +msgstr "Tag der Aufnahme:" + +#: ../template/default/timer_new.html:104 +#: ../template/default/at_new.html:72 +#: ../template/i18n.pl:3 +msgid "Monday" +msgstr "Montag" + +#: ../template/default/timer_new.html:105 +#: ../template/default/at_new.html:73 +#: ../template/i18n.pl:4 +msgid "Tuesday" +msgstr "Dienstag" + +#: ../template/default/timer_new.html:106 +#: ../template/default/at_new.html:74 +#: ../template/i18n.pl:5 +msgid "Wednesday" +msgstr "Mittwoch" + +#: ../template/default/timer_new.html:107 +#: ../template/default/at_new.html:75 +#: ../template/i18n.pl:6 +msgid "Thursday" +msgstr "Donnerstag" + +#: ../template/default/timer_new.html:108 +#: ../template/default/at_new.html:76 +#: ../template/i18n.pl:7 +msgid "Friday" +msgstr "Freitag" + +#: ../template/default/timer_new.html:109 +#: ../template/default/at_new.html:77 +#: ../template/i18n.pl:8 +msgid "Saturday" +msgstr "Samstag" + +#: ../template/default/timer_new.html:110 +#: ../template/default/at_new.html:78 +#: ../template/i18n.pl:2 +msgid "Sunday" +msgstr "Sonntag" + +#: ../template/default/timer_new.html:116 +msgid "Start Time:" +msgstr "Startzeit:" + +#: ../template/default/timer_new.html:121 +#: ../template/default/timer_new.html:132 +#: ../template/default/at_new.html:102 +#: ../template/default/at_new.html:113 +#: ../template/default/prog_summary.html:17 +#: ../template/default/prog_summary.html:22 +#: ../template/default/prog_list.html:61 +#: ../template/default/prog_timeline.html:71 +#: ../template/default/prog_timeline.html:84 +#: ../template/default/prog_timeline.html:99 +#: ../template/default/prog_list2.html:71 +msgid "o'clock" +msgstr "Uhr" + +#: ../template/default/timer_new.html:127 +msgid "End Time:" +msgstr "Endzeit:" + +#: ../template/default/timer_new.html:138 +#: ../template/default/at_new.html:119 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:188 +#: ../template/default/config.html:233 +#: ../template/default/timer_list.html:316 +msgid "Priority:" +msgstr "Priorität:" + +#: ../template/default/timer_new.html:144 +#: ../template/default/at_new.html:127 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:194 +#: ../template/default/config.html:227 +#: ../template/default/timer_list.html:316 +msgid "Lifetime:" +msgstr "Lebenszeit:" + +#: ../template/default/timer_new.html:150 +msgid "Title of Recording:" +msgstr "Titel der Aufnahme:" + +#: ../template/default/timer_new.html:156 +msgid "Summary:" +msgstr "Zusammenfassung:" + +#: ../template/default/timer_new.html:169 +#: ../template/default/at_new.html:166 +#: ../template/default/config.html:403 +msgid "Save" +msgstr "Speichern" + +#: ../template/default/timer_new.html:170 +#: ../template/default/at_new.html:167 +#: ../template/default/rec_edit.html:64 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../template/default/left.html:34 +#: ../template/default/prog_summary.html:7 +#: ../template/default/prog_timeline.html:7 +#: ../template/i18n.pl:27 +msgid "What's On Now?" +msgstr "Was läuft jetzt?" + +#: ../template/default/left.html:38 +#: ../template/default/prog_list2.html:6 +#: ../template/default/prog_list2.html:25 +msgid "Playing Today" +msgstr "Was läuft heute?" + +#: ../template/default/left.html:42 +#: ../template/default/config.html:141 +#: ../template/i18n.pl:29 +msgid "Timeline" +msgstr "Zeitleiste" + +#: ../template/default/left.html:46 +#: ../template/default/prog_list.html:6 +#: ../template/i18n.pl:30 +msgid "Channels" +msgstr "Programmübersicht" + +#: ../template/default/left.html:50 +#: ../template/default/config.html:222 +#: ../template/default/timer_list.html:6 +#: ../template/default/timer_list.html:30 +msgid "Timer" +msgstr "Timer" + +#: ../template/default/left.html:54 +#: ../template/default/at_timer_list.html:6 +#: ../template/default/at_timer_list.html:15 +#: ../template/default/config.html:168 +msgid "Auto Timer" +msgstr "AutoTimer" + +#: ../template/default/left.html:58 +#: ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:15 +#: ../template/i18n.pl:32 +msgid "Recordings" +msgstr "Aufnahmen" + +#: ../template/default/left.html:62 +#: ../template/default/config.html:5 +#: ../template/default/config.html:15 +msgid "Configuration" +msgstr "Konfiguration" + +#: ../template/default/left.html:66 +#: ../template/default/rc.html:6 +msgid "Remote Control" +msgstr "Fernbedienung" + +#: ../template/default/left.html:70 +msgid "Watch TV" +msgstr "Fernseher" + +#: ../template/default/left.html:77 +msgid "Search" +msgstr "Suchen" + +#: ../template/default/at_new.html:6 +#: ../template/default/at_new.html:16 +msgid "Add New Auto Timer" +msgstr "Neuen AutoTimer anlegen" + +#: ../template/default/at_new.html:6 +#: ../template/default/at_new.html:16 +msgid "Edit Auto Timer" +msgstr "AutoTimer editieren" + +#: ../template/default/at_new.html:36 +msgid "Auto Timer Active:" +msgstr "AutoTimer aktiv:" + +#: ../template/default/at_new.html:41 +#: ../template/default/at_new.html:45 +msgid "oneshot" +msgstr "einmal" + +#: ../template/default/at_new.html:52 +msgid "Search Patterns:" +msgstr "Suchbegriffe:" + +#: ../template/default/at_new.html:60 +msgid "Search in:" +msgstr "zu suchen in:" + +#: ../template/default/at_new.html:62 +msgid "Title" +msgstr "Titel" + +#: ../template/default/at_new.html:63 +msgid "Subtitle" +msgstr "Untertitel" + +#: ../template/default/at_new.html:64 +msgid "Description" +msgstr "Beschreibung" + +#: ../template/default/at_new.html:70 +msgid "Search only on these days:" +msgstr "Nur an diesen Tagen suchen:" + +#: ../template/default/at_new.html:87 +msgid "all" +msgstr "alle" + +#: ../template/default/at_new.html:97 +msgid "Starts Before:" +msgstr "Beginnt frühestens:" + +#: ../template/default/at_new.html:108 +msgid "Ends Before:" +msgstr "Endet spätestens:" + +#: ../template/default/at_new.html:135 +msgid "Episode:" +msgstr "Serie:" + +#: ../template/default/at_new.html:143 +msgid "Remember programmed timers:" +msgstr "Programmierte Timer merken:" + +#: ../template/default/at_new.html:152 +msgid "Directory:" +msgstr "Ordner:" + +#: ../template/default/noauth.html:5 +#: ../template/default/noauth.html:11 +msgid "Authorization Required" +msgstr "Autorisierung erforderlich" + +#: ../template/default/noauth.html:12 +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 "Dieser Server kann nicht bestätigen, dass Sie berechtigt sind, auf das angeforderte Dokument zuzugreifen. Entweder haben Sie falsche Anmeldedaten angegeben (z.B. falsches Passwort) oder Ihr Browser kann die Anmeldedaten nicht übermitteln." + +#: ../template/default/at_timer_list.html:22 +msgid "New Auto Timer" +msgstr "Neuer AutoTimer" + +#: ../template/default/at_timer_list.html:44 +#: ../template/default/timer_list.html:202 +msgid "Active" +msgstr "Aktiv" + +#: ../template/default/at_timer_list.html:55 +#: ../template/default/timer_list.html:213 +msgid "Channel" +msgstr "Sender" + +#: ../template/default/at_timer_list.html:66 +#: ../template/default/timer_list.html:235 +msgid "Start" +msgstr "Beginn" + +#: ../template/default/at_timer_list.html:77 +#: ../template/default/timer_list.html:246 +msgid "Stop" +msgstr "Ende" + +#: ../template/default/at_timer_list.html:88 +#: ../template/default/timer_list.html:257 +#: ../template/default/rec_list.html:74 +msgid "Name" +msgstr "Name" + +#: ../template/default/at_timer_list.html:99 +#: ../template/default/timer_list.html:268 +#: ../template/default/rec_list.html:85 +msgid "Select all/none" +msgstr "Alle/keine auswählen" + +#: ../template/default/at_timer_list.html:139 +#: ../template/default/timer_list.html:326 +msgid "Edit" +msgstr "Bearbeiten" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +msgid "Delete timer?" +msgstr "Timer löschen?" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +#: ../template/default/rec_list.html:137 +msgid "Delete" +msgstr "Löschen" + +#: ../template/default/at_timer_list.html:166 +msgid "Force Update" +msgstr "Manuelles Update" + +#: ../template/default/at_timer_list.html:178 +#: ../template/default/timer_list.html:350 +msgid "Delete all selected timers?" +msgstr "Ausgewählte Timer wirklich löschen?" + +#: ../template/default/at_timer_list.html:178 +msgid "Delete Selected Auto Timers" +msgstr "Ausgewählte AutoTimer löschen" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:74 +msgid "What's on:" +msgstr "Was läuft:" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:76 +msgid "now" +msgstr "jetzt" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:82 +msgid "at:" +msgstr "um:" + +#: ../template/default/prog_summary.html:43 +#: ../template/default/prog_list.html:19 +#: ../template/default/rec_list.html:150 +#: ../template/default/prog_list2.html:52 +msgid "Stream" +msgstr "Stream" + +#: ../template/default/prog_summary.html:62 +msgid "more" +msgstr "mehr" + +#: ../template/default/prog_summary.html:79 +msgid "TV select" +msgstr "TV umschalten" + +#: ../template/default/prog_summary.html:83 +msgid "Search for other show times" +msgstr "Nach Wiederholungen suchen" + +#: ../template/default/prog_summary.html:87 +msgid "More Information" +msgstr "mehr Infos" + +#: ../template/default/prog_summary.html:93 +msgid "Record" +msgstr "Sendung aufnehmen" + +#: ../template/default/config.html:38 +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#: ../template/default/config.html:44 +msgid "Template:" +msgstr "Template:" + +#: ../template/default/config.html:57 +msgid "Skin:" +msgstr "Skin:" + +#: ../template/default/config.html:69 +msgid "Login Page:" +msgstr "Startseite:" + +#: ../template/default/config.html:81 +msgid "Number of DVB Cards:" +msgstr "Anzahl der DVB-Karten:" + +#: ../template/default/config.html:95 +msgid "Identification" +msgstr "Identifikation" + +#: ../template/default/config.html:100 +msgid "Username:" +msgstr "Benutzername:" + +#: ../template/default/config.html:106 +msgid "Password:" +msgstr "Passwort:" + +#: ../template/default/config.html:112 +msgid "Guest Account:" +msgstr "Gast-Zugang:" + +#: ../template/default/config.html:121 +msgid "Guest Username:" +msgstr "Gast Benutzername:" + +#: ../template/default/config.html:127 +msgid "Guest Password:" +msgstr "Gast Passwort:" + +#: ../template/default/config.html:146 +msgid "Hours:" +msgstr "Stunden:" + +#: ../template/default/config.html:152 +msgid "Times:" +msgstr "Zeiten:" + +#: ../template/default/config.html:173 +msgid "Active:" +msgstr "Aktiv:" + +#: ../template/default/config.html:182 +msgid "Timeout:" +msgstr "Timeout:" + +#: ../template/default/config.html:183 +#: ../template/default/config.html:240 +#: ../template/default/config.html:246 +msgid "minutes" +msgstr "Minuten" + +#: ../template/default/config.html:201 +#: ../template/default/config.html:239 +msgid "Time Margin at Start:" +msgstr "Zeitpuffer Anfang:" + +#: ../template/default/config.html:207 +#: ../template/default/config.html:245 +msgid "Time Margin at Stop:" +msgstr "Zeitpuffer Ende:" + +#: ../template/default/config.html:260 +msgid "Streaming" +msgstr "Streaming" + +#: ../template/default/config.html:265 +msgid "Live Streaming" +msgstr "LiveTV streamen" + +#: ../template/default/config.html:274 +msgid "Recordings Streaming" +msgstr "Aufnahmen streamen" + +#: ../template/default/config.html:283 +msgid "HTTP Port of Streamdev (also possible 3000/ts):" +msgstr "HTTP-Port von Streamdev (auch möglich 3000/ts):" + +#: ../template/default/config.html:289 +msgid "Path to VDR Recordings:" +msgstr "Pfad der Aufnahmen:" + +#: ../template/default/config.html:296 +msgid "Bandwidth of Streams:" +msgstr "Bandbreite des Streams:" + +#: ../template/default/config.html:323 +msgid "Channel Selections" +msgstr "Selektive Senderauswahl" + +#: ../template/default/config.html:333 +msgid "In "Timeline"?" +msgstr "In der "Zeitleiste"?" + +#: ../template/default/config.html:342 +msgid "In "Channels" / "Playing Today"?" +msgstr "Bei "Programmübersicht" / "Was läuft heute"?" + +#: ../template/default/config.html:351 +msgid "In "What's On Now"?" +msgstr "Bei "Was läuft jetzt"?" + +#: ../template/default/config.html:360 +msgid "In "Auto Timer"?" +msgstr "Bei "AutoTimer"?" + +#: ../template/default/config.html:404 +msgid "Apply" +msgstr "Anwenden" + +#: ../template/default/timer_list.html:38 +msgid "New Timer" +msgstr "Neuer Timer" + +#: ../template/default/timer_list.html:224 +#: ../template/default/rec_list.html:52 +msgid "Date" +msgstr "Datum" + +#: ../template/default/timer_list.html:278 +msgid "This timer is inactive!" +msgstr "Diese Aufnahme ist deaktiviert!" + +#: ../template/default/timer_list.html:281 +msgid "This timer is impossible!" +msgstr "Diese Aufnahme ist nicht möglich!" + +#: ../template/default/timer_list.html:284 +msgid "No more timers possible!" +msgstr "Keine weiteren Aufnahmen mehr möglich!" + +#: ../template/default/timer_list.html:287 +msgid "Timer OK." +msgstr "Diese Aufnahme ist möglich." + +#: ../template/default/timer_list.html:293 +msgid "Edit timer status?" +msgstr "Timerstatus ändern?" + +#: ../template/default/timer_list.html:297 +msgid "VPS" +msgstr "VPS" + +#: ../template/default/timer_list.html:298 +msgid "Auto" +msgstr "Auto" + +#: ../template/default/timer_list.html:350 +msgid "Delete Selected Timers" +msgstr "Ausgewählte Timer löschen" + +#: ../template/default/prog_list.html:29 +#: ../template/default/prog_list2.html:34 +msgid "Go!" +msgstr "Go!" + +#: ../template/default/error.html:6 +msgid "Error!" +msgstr "Fehler!" + +#: ../template/default/tv.html:5 +#: ../template/default/tv_flash.html:4 +msgid "TV" +msgstr "Fernseher" + +#: ../template/default/tv.html:182 +msgid "Interval:" +msgstr "Intervall:" + +#: ../template/default/tv.html:185 +#: ../template/default/tv.html:186 +#: ../template/default/tv.html:187 +#: ../template/default/tv.html:188 +#: ../template/default/tv.html:189 +#: ../template/default/tv.html:190 +#: ../template/default/tv.html:191 +msgid "sec." +msgstr "sek" + +#: ../template/default/tv.html:193 +#: ../template/default/tv.html:200 +msgid "G" +msgstr "G" + +#: ../template/default/tv.html:193 +#: ../template/default/tv.html:200 +msgid "Grab the picture!" +msgstr "Hole das Bild!" + +#: ../template/default/tv.html:194 +msgid "Size:" +msgstr "Größe:" + +#: ../template/default/prog_detail.html:28 +msgid "close" +msgstr "schließen" + +#: ../template/default/prog_detail.html:30 +msgid "view" +msgstr "umschalten" + +#: ../template/default/prog_detail.html:31 +msgid "record" +msgstr "aufnehmen" + +#: ../template/default/prog_detail.html:32 +msgid "search" +msgstr "Wiederholungen" + +#: ../template/default/prog_detail.html:34 +msgid "Lookup movie in the Internet-Movie-Database (IMDb)" +msgstr "Film in der Internet-Movie-Database (IMDb) suchen" + +#: ../template/default/rec_list.html:19 +msgid "Total:" +msgstr "Total:" + +#: ../template/default/rec_list.html:19 +#: ../template/default/rec_list.html:20 +msgid "h" +msgstr "h" + +#: ../template/default/rec_list.html:20 +msgid "Free:" +msgstr "Frei:" + +#: ../template/default/rec_list.html:100 +msgid "Total" +msgstr "Gesamt" + +#: ../template/default/rec_list.html:109 +#: ../template/default/rec_list.html:112 +msgid "New" +msgstr "neu" + +#: ../template/default/rec_list.html:130 +#: ../template/default/rec_edit.html:63 +msgid "Rename" +msgstr "Umbenennen" + +#: ../template/default/rec_list.html:137 +msgid "Delete recording?" +msgstr "Aufnahme löschen?" + +#: ../template/default/rec_list.html:168 +msgid "Commands:" +msgstr "Befehle" + +#: ../template/default/rec_list.html:174 +msgid "Run" +msgstr "Ausführen" + +#: ../template/default/rec_list.html:174 +msgid "Really run this command?" +msgstr "Diesen Befehl wirklich ausführen?" + +#: ../template/default/rec_list.html:181 +#: ../template/default/rec_list.html:187 +msgid "Delete all selected recordings?" +msgstr "Ausgewählte Aufnahmen wirklich löschen?" + +#: ../template/default/rec_list.html:181 +#: ../template/default/rec_list.html:187 +msgid "Delete Selected Recordings" +msgstr "Ausgewählte Aufnahmen löschen" + +#: ../template/default/prog_timeline.html:99 +msgid "Timeline:" +msgstr "Zeitleiste:" + +#: ../template/default/prog_timeline.html:99 +msgid "to" +msgstr "bis" + +#: ../template/default/rec_edit.html:6 +#: ../template/default/rec_edit.html:15 +msgid "Rename Recording" +msgstr "Aufnahme umbenennen" + +#: ../template/default/rec_edit.html:38 +msgid "Original Name of Recording:" +msgstr "Alter Titel der Aufnahme:" + +#: ../template/default/rec_edit.html:44 +msgid "New Name of Recording:" +msgstr "Neuer Titel der Aufnahme:" + +#: ../vdradmind.pl:222 +msgid "What's your VDR hostname (e.g video.intra.net)?" +msgstr "Wie lautet der Hostname des VDR (z.B. video.intra.net)?" + +#: ../vdradmind.pl:223 +msgid "On which port does VDR listen to SVDRP queries?" +msgstr "Auf welchem Port hört der VDR auf SVDRP-Anfragen?" + +#: ../vdradmind.pl:224 +msgid "On which address should VDRAdmin listen (0.0.0.0 for any)?" +msgstr "An welcher Adresse soll VDRAdmin auf Verbindungen warten (0.0.0.0 für alle)?" + +#: ../vdradmind.pl:225 +msgid "On which port should VDRAdmin listen?" +msgstr "Auf welchem Port soll VDRAdmin hören?" + +#: ../vdradmind.pl:226 +msgid "Username?" +msgstr "Benutzername?" + +#: ../vdradmind.pl:227 +msgid "Password?" +msgstr "Passwort?" + +#: ../vdradmind.pl:228 +msgid "Where are your recordings stored?" +msgstr "Wo befinden sich die Aufnahmen?" + +#: ../vdradmind.pl:229 +msgid "Where are your VDR's configuration files located?" +msgstr "Wo befinden sich die Konfigurationsdateien des VDR?" + +#: ../vdradmind.pl:235 +msgid "Config file written successfully." +msgstr "Konfigurationsdatei wurde erfolgreich geschrieben." + +#: ../vdradmind.pl:282 +#, perl-format +msgid "vdradmind.pl %s started with pid %d." +msgstr "vdradmind.pl %s wurde mit der Prozeß-ID %d gestartet." + +#: ../template/i18n.pl:12 +msgid "January" +msgstr "Januar" + +#: ../template/i18n.pl:13 +msgid "February" +msgstr "Februar" + +#: ../template/i18n.pl:14 +msgid "March" +msgstr "März" + +#: ../template/i18n.pl:15 +msgid "April" +msgstr "April" + +#: ../template/i18n.pl:16 +msgid "May" +msgstr "Mai" + +#: ../template/i18n.pl:17 +msgid "June" +msgstr "Juni" + +#: ../template/i18n.pl:18 +msgid "July" +msgstr "Juli" + +#: ../template/i18n.pl:19 +msgid "August" +msgstr "August" + +#: ../template/i18n.pl:20 +msgid "September" +msgstr "September" + +#: ../template/i18n.pl:21 +msgid "October" +msgstr "Oktober" + +#: ../template/i18n.pl:22 +msgid "November" +msgstr "November" + +#: ../template/i18n.pl:23 +msgid "December" +msgstr "Dezember" + +#: ../template/i18n.pl:28 +msgid "Playing Today?" +msgstr "Was läuft heute?" + +#: ../template/i18n.pl:31 +msgid "Timers" +msgstr "Timer" + +#: ../template/i18n.pl:36 +msgid "Not found" +msgstr "Nicht gefunden" + +#: ../template/i18n.pl:37 +msgid "The requested URL was not found on this server!" +msgstr "Die angeforderte URL konnte auf dem Server nicht gefunden werden!" + +#: ../template/i18n.pl:38 +#, perl-format +msgid "The URL "%s" was not found on this server!" +msgstr "Die URL "%s" wurde auf dem Server nicht gefunden!" + +#: ../template/i18n.pl:39 +msgid "Forbidden" +msgstr "Verboten" + +#: ../template/i18n.pl:40 +msgid "You don't have permission to access this function!" +msgstr "Sie haben nicht die Erlaubnis diese Funktion aufzurufen!" + +#: ../template/i18n.pl:41 +#, perl-format +msgid "Access to file "%s" denied!" +msgstr "Zugriff auf Datei "%s" verweigert!" + +#: ../template/i18n.pl:42 +#, perl-format +msgid "Can't open file "%s"!" +msgstr "Kann Datei "%s" nicht öffnen!" + +#: ../template/i18n.pl:43 +#, perl-format +msgid "Can't connect to VDR at %s!" +msgstr "Konnte Verbindung zu %s nicht aufbauen!" + +#: ../template/i18n.pl:44 +#, perl-format +msgid "Error while sending command to VDR at %s" +msgstr "Fehler beim Senden eines Kommandos zu %s" + +#: ../template/i18n.pl:48 +msgid "Schedule" +msgstr "Übersicht" + +#: ../template/i18n.pl:53 +msgid "" +"<b>Timer</b>\n" +"<p>VDR timer overview.</p>\n" +"<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the timer on or off.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> indicates overlapping timers. That's uncritical, as long as you have enough DVB cards for the parallel recordings.<br>\n" +"To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, select them using the checkboxes (<input type=\"checkbox\" checked>) and click on <i>Delete selected timers</i> at the end of the list.\n" +"</p>" +msgstr "" +"<b>Timer</b>\n" +"<p>Übersicht über alle Timer im VDR.</p>\n" +"<p>Ein Mausklick auf |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Ja</i> | oder |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" valign=\"center\"> <i>Nein</i> | in der Spalte <i>Aktiv</i>, schaltet den jeweiligen Timer an oder aus.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> zeigt an, daß es eine Überschneidung gibt. Das ist unkritisch, solange es für jeden Timer eine Karte gibt, um die Aufnahme durchzuführen.<br>\n" +"Um einen Eintrag zu bearbeiten, klicken Sie auf das Symbol <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, zum Löschen auf <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. Wenn Sie mehrere Auto-Timer-Einträge auf einmal löschen möchten, Aktivieren Sie die Kästchen (<input type=\"checkbox\" checked>) rechts neben den gewünschten Einträgen und klicken Sie abschließend auf <i>Ausgewählte Timer löschen</i> am Ende der Liste.\n" +"</p>" + +#: ../template/i18n.pl:61 +msgid "" +"<p>No help available for <b>Add Timer:</b> yet. For adding text please contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"<b>Neuer Timer:</b>\n" +"<p>Dazu müßen die ensprechenden Felder ausgefüllt werden. Wichtig ist auch nach der Programmierung einen Blick auf alle Timer zu werfen, um evtl. auftretende Überschneidungen oder andere Probleme zu vermeiden.</p>" + +#: ../template/i18n.pl:65 +msgid "" +"<b>Auto Timer:</b><br>\n" +"<p>An overview of all Auto Timers</p>\n" +"<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)activate that Auto Timer.</p>\n" +"<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> for deleting an Auto Timer. If you want to delete multiple Auto Timers all at once, you have to check the boxes (<input type=\"checkbox\" checked>) on the right and finally click <i>Delete selected Auto Timers</i>.</p>" +msgstr "" +"<b>Auto Timer:</b><br>\n" +"<p>Eine Übersicht aller Auto-Timer-Einträge.</p>\n" +"<p>Ein Mausklick auf |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Ja</i> | oder |<img src=\"bilder/poempl_rot.gif\" alt=\"off\" valign=\"center\"> <i>Nein</i> | in der Spalte <i>Aktiv</i>, schaltet den jeweiligen Eintrag an oder aus.</p>\n" +"<p>Um einen Eintrag zu bearbeiten, klicken Sie auf das Symbol <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, zum Löschen auf <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. Wenn Sie mehrere Auto-Timer-Einträge auf einmal löschen möchten, Aktivieren Sie die Kästchen (<input type=\"checkbox\" checked>) rechts neben den gewünschten Einträgen und klicken Sie abschließend auf <i>Ausgewählte Auto Timer löschen</i> am Ende der Liste.</p>" + +#: ../template/i18n.pl:71 +msgid "" +"<b>Edit Auto Timer:</b><br>\n" +"<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or more search terms and some other settings, that are looked for regularly in the Electronic Program Guide (EPG). On match Auto Timer 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>\n" +"<p>Here you can set an Auto Timer. It's required to specify at least one search item. Please have a look at <i>Search Items</i> if you need more information on how to find reasonable search items and how to avoid unwanted recordings.</p>\n" +"<b>Auto Timer Active:</b><br>\n" +"<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please note that VDR timers already added by VDRAdmin are not deleted if you deactivate this Auto Timer.</p>\n" +"<b>Search Items:</b><br>\n" +"<p>Choosing the right search items decides whether only the wanted broadcast or broadcast having similar names or nothing gets recorded.</p>\n" +"<p>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 all items.</p>\n" +"<p>You'd better only use letters and numbers for search items, as EPGs often miss colons, brackets and other characters.</p>\n" +"<p>Experts can also use regular expressions, but you have get needed information from the VDRAdmin sources (undocumented feature).</p>" +msgstr "" +"<b>Neuen Auto Timer anlegen/bearbeiten:</b><br>\n" +"<p>Der Auto Timer ist eine der zentralen Funktionen VDR Admins. Ein Auto-Timer-Eintrag besteht hauptsächlich aus einem oder mehreren Suchbegriffen, nach denen in regelmäßigen Abständen der elektronische Programmführer (EPG) durchsucht wird. Bei Übereinstimmung der Suchbegriffe (und übrigen Parameter wie Uhrzeit und Kanal) programmiert Auto Timer selbständig eine Aufnahme (Timer) für die gefundene Sendung – das ist besonders für (un)regelmäßig gesendete Serien interessant, oder aber für Filme, die Sie keinesfalls verpassen wollen.</p>\n" +"<p>In dieser Maske können Sie einen neuen Auto-Timer-Eintrag anlegen. Sie müssen in jedem Fall einen oder mehrere Suchbegriffe angeben, damit es überhaupt zu Übereinstimmungen kommen kann. Details, welche Suchbegriffe Sie wählen sollten und wie Sie unsinnige Aufnahmen vermeiden, finden Sie in der Hilfe zu <i>Suchbegriffe</i>.</p>\n" +"<b>Auto Timer Aktiv:</b><br>\n" +"<p>Mit <i>ja</i> schalten Sie den Auto Timer scharf, der elektronische Programmführer (EPG) wird dann regelmäßig nach <i>Suchbegriffe</i> durchsucht und ein neuer Timer-Eintrag programmiert, wenn es eine Übereinstimmung mit <i>Suchbegriffe</i> sowie den übrigen Parametern gibt.</p>\n" +"<p>Mit <i>nein</i> schalten Sie den Auto-Timer-Eintrag ab, ohne ihn zu löschen. Dies lässt bereits automatisch programmierte Aufnahmen (Timer) jedoch unangetastet – sie müssen gegebenenfalls von Hand im <i>Timer</i>-Menü gelöscht werden.</p>\n" +"<b>Suchbegriffe:</b><br>\n" +"<p>Die Wahl der Suchbegriffe hat entscheidenden Einfluss darauf, ob nur die gewünschte Sendung, alle mit ähnlichem Namen oder gar nichts programmiert wird.</p>\n" +"<p>Zunächst einmal spielt Groß-Kleinschreibung keine Rolle, die Suchbegriffe \"Akte X\" liefern genau die selben Treffer wie \"akte x\". Mehrere Suchbegriffe werden mit Leerzeichen getrennt, und es müssen stets alle angegebenen Suchbegriffe bei der gleichen Sendung gefunden werden.</p>\n" +"<p>So finden die Suchbegriffe \"Akte X\" die Sendungen \"Akte X - Die unheimlichen Fälle des FBI\" genauso wie \"Aktenzeichen XY ungelöst\" und \"Extrem Aktiv\", jedoch nicht die Sendung \"Die Akte Jane\" (dort ist kein \"X\" enthalten).</p>\n" +"<p>Sie sollten möglichst nur Buchstaben und Zahlen als Suchbegriffe verwenden, erfahrungsgemäß fehlen im elektronischen Programmführer (EPG) gerne mal ein Punkt, Klammern oder sonstige Zeichen.</p>\n" +"<p>Es ist auch möglich, reguläre Ausdrücke zu verwenden – Experten mögen doch bitte die nötigen Infos dem Quelltext entnehmen (undocumented feature).\n" +"</p>" + +#: ../template/i18n.pl:83 +msgid "" +"<p>No help available for <b>Recordings:</b>. For adding text please contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"<b>Aufnahmen:</b>\n" +"<p>Auf dieser Seite sieht man alle Aufnahmen, die sich auf dem angeschlossenen VDR-Rechner befinden. Hier kann man Namen und Verzeichnis der Aufnahmen ändern (<img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\">) oder Aufnahmen löschen (<img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\">).</p>" + +#: ../template/i18n.pl:87 +msgid "" +"<b>Configuration:</b>\n" +"<p>Here you can change general settings and base settings for timers, auto timers, channel selection and streaming parameters.\n" +"</p>\n" +"<b>General Settings:</b>\n" +"<p>Here you can change the languge, the start page, the look, and the number of DVB cards. Besides this the base settings for timers, auto timers, the channel selection and streaming parameters can be configured here.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. The default passwords for both accounts should be changed when VDRAdmin is accessible over the Internet.\n" +"</p>\n" +"<b>Time Line:</b>\n" +"<p>Here you can see a time line of the channels, where you can select the displayed time span.<br>\n" +"The bars show the titles of each show. A time bar starts half an hour before now. A thin red line indicates the current position.<br>Programmed timers are shown in different colors.\n" +"</p>\n" +"<b>Settings for auto timers:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the auto timer function. You can also specify the interval, the the epg data is checked for updating the auto timers.<br>\n" +"The life time of a recording can be set from 0 to 99 (99=live forever). This value relates to the day, the recording was made. After the given life time, a recording may be deleted to make room for new ones.<br>\n" +"The Priority indicates, what timer is prefered in case of a conflict.<br>\n" +"<b>Timer settings:</b>\n" +"<p>These are the same settings as for the auto timers, but apply to the manually created timers.\n" +"</p>\n" +"\n" +"<b>Streaming settings:</b>\n" +"<p>Specify port, bandwith and VDR's recording directory here.\n" +"</p>\n" +"\n" +"<b>Channel Selection:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the channel selection for a specific view.<br>\n" +"</p>\n" +msgstr "" +"<b>Konfiguration:</b>\n" +"<p>Hier kann man die allgemeinen Einstellungen vornehmen. Außerdem die Grundeinstellungen für Timer, AutoTimer, Kanalselektionen und Streaming Parameter\n" +"</p>\n" +"<b>Allgemeine Einstellungen:</b>\n" +"<p>Hier kann man die Sprache, die Startseite, das Aussehen, sowie die Anzahl der DVB-Karten einstellen. Außerdem die Grundeinstellungen für Timer, AutoTimer, Kanalselektionen und Streaming Parameter\n" +"</p>\n" +"<b>Identifikationen:</b>\n" +"<p>Ein Mausklick auf |<input type=\"radio\"> <i>ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | aktiviert oder deaktiviert den <i>Gast-Zugang</i>. Die Passwörter sollten für beide Konten geändert werden, wenn eine Verbindung zum Internet besteht\n" +"</p>\n" +"<b>Zeitleiste:</b>\n" +"<p>Hier bekommt man eine Balkenansicht der Sender präsentiert, wobei man den sichtbaren Zeitumfang einstellen kann.<br>\n" +"In den Balken sieht man die Titel der jeweiligen Sendung. Der Zeitbalken beginnt in der vollen halben Stunde vor "Jetzt". Ein feiner roter Strich zeigt die aktuelle Zeitposition an.<br>Programmierte Sendungen werden außerdem farblich hervorgehoben.\n" +"</p>\n" +"<b>Einstellungen für AutoTimer:</b>\n" +"<p>Ein Mausklick auf |<input type=\"radio\"> <i>Ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | aktiviert oder deaktiviert die AutoTimer-Funktion. Hier bestimmt man auch wie oft der AutorTimer in den EPG-Daten nach den <i>Suchbegriffen</i> Ausschau halten soll.<br>\n" +"Die Lebenszeit einer Aufnahme bestimmt man indem ein Wert zwischen 0 und 99 eingeträgt (99 verfällt nie). Der Wert bezieht sich dann auf den Tag, an dem die Aufnahme gemacht wurde. Sind die angegebenen Tage bereits verfallen, wenn beim VDR eine Aufnahme ansteht, so kann im Falle von Speicherknappheit die betreffende Aufnahme vom VDR gelöscht werden. Die am längsten abgelaufene Aufnahme wird zuerst gelöscht. Man bestimmt hier also, mit welcher Lebenszeitangabe der AutoTimer später eine Aufnahme macht.<br>\n" +"Die Priorität bestimmt, wer im Falle eines Zeitkonfliktes den Vorrang bekommt. Die höhere Priorität kommt dann zur Ausführung. <br>\n" +"Ein AutoTimer sollte also einen höheren Wert zugewiesen bekommen, als die normalen Aufnahmen. Schließlich sucht der AutoTimer in der Regel nach Sendungen, die einem wichtig sind.</p>\n" +"<b>Einstellungen für Timer:</b>\n" +"<p>Priorität und Lebenszeit haben die gleiche Bedeutung, wie vorher bei den AutoTimern beschrieben, gelten aber eben für die von Hand erstellten Timer.\n" +"</p>\n" +"\n" +"<b>Einstellungen für das Streamdevice:</b>\n" +"<p>Neben Port und Bandbreite, muß hier auch das Videoverzeichnis von VDR eingetragen werden.\n" +"</p>\n" +"\n" +"<b>Die selektive Kanalwahl:</b>\n" +"<p>Ein Mausklick auf |<input type=\"radio\"> <i>Ja</i> | oder |<input type=\"radio\" checked> <i>Nein</i> | rechts neben den gewünschten Einträgen, aktiviert oder deaktiviert die "selektiven" Kanäle für das jeweilige Hauptfenster.<br>\n" +"So kann man die genannten Einzelansichten auf die gewählten Kanäle beschränken, was Übersichtlichkeit und Seitenaufbau günstig beeinflußt.<br>\n" +"Die Auswahl der Kanäle erfolgt nach Auswahl eines oder mehrerer Kanäle im linken Fenster (STRG-Taste gedrückt halten und alle Kanäle die man hinzufügen will anklicken), durch Übertragung in das rechte Fenster. <br>Mit den Knöpfen sind beide Richtungen möglich.\n" +"</p>\n" + +#: ../template/i18n.pl:117 +msgid "No help available yet. For adding or changing text please contact mail@andreas.vdr-developer.org." +msgstr "Bisher keine Hilfe vorhanden. Zum Hinzufügen oder Ändern eines Textes bitte an mail@andreas.vdr-developer.org wenden." + diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..408cadb --- /dev/null +++ b/po/es.po @@ -0,0 +1,1054 @@ +# +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: VDRAdmin-0.97-AM3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-05-09 12:52+0200\n" +"PO-Revision-Date: 2005-05-10 12:06+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" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-SourceCharset: iso-8859-1\n" + +#: ../template/default/index.html:18 +msgid "Your Browser does not support frames!" +msgstr "¡El navegador no soporta marcos!" + +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:45 +msgid "Create New Timer" +msgstr "Añadir programación" + +#: ../template/default/timer_new.html:6 +#: ../template/default/timer_new.html:45 +msgid "Edit Timer" +msgstr "Modificar programación" + +#: ../template/default/timer_new.html:50 +#: ../template/default/at_new.html:20 +#: ../template/default/at_timer_list.html:31 +#: ../template/default/config.html:20 +#: ../template/default/timer_list.html:46 +#: ../template/default/rec_list.html:26 +msgid "Help" +msgstr "Ayuda" + +#: ../template/default/timer_new.html:67 +msgid "Timer Active:" +msgstr "Programación activada:" + +#: ../template/default/timer_new.html:69 +#: ../template/default/at_new.html:39 +#: ../template/default/at_new.html:43 +#: ../template/default/at_new.html:145 +#: ../template/default/at_timer_list.html:110 +#: ../template/default/config.html:114 +#: ../template/default/config.html:175 +#: ../template/default/config.html:267 +#: ../template/default/config.html:276 +#: ../template/default/config.html:335 +#: ../template/default/config.html:344 +#: ../template/default/config.html:353 +#: ../template/default/config.html:362 +#: ../template/default/timer_list.html:295 +msgid "Yes" +msgstr "Sí" + +#: ../template/default/timer_new.html:70 +#: ../template/default/at_new.html:40 +#: ../template/default/at_new.html:44 +#: ../template/default/at_new.html:146 +#: ../template/default/at_timer_list.html:113 +#: ../template/default/config.html:115 +#: ../template/default/config.html:176 +#: ../template/default/config.html:268 +#: ../template/default/config.html:277 +#: ../template/default/config.html:336 +#: ../template/default/config.html:345 +#: ../template/default/config.html:354 +#: ../template/default/config.html:363 +#: ../template/default/timer_list.html:296 +msgid "No" +msgstr "No" + +#: ../template/default/timer_new.html:76 +msgid "Auto Timer Checking:" +msgstr "Autovigilancia de las programaciones:" + +#: ../template/default/timer_new.html:79 +msgid "Transmission Identification" +msgstr "Identificador de la emisora" + +#: ../template/default/timer_new.html:81 +#: ../template/default/rec_list.html:63 +msgid "Time" +msgstr "por hora" + +#: ../template/default/timer_new.html:82 +#: ../template/default/tv.html:184 +msgid "off" +msgstr "apagado" + +#: ../template/default/timer_new.html:88 +#: ../template/default/at_new.html:84 +#: ../template/default/prog_list.html:23 +#: ../template/default/prog_list2.html:29 +msgid "Channel:" +msgstr "Emisoras:" + +#: ../template/default/timer_new.html:100 +msgid "Day Of Recording:" +msgstr "Día de la grabación:" + +#: ../template/default/timer_new.html:104 +#: ../template/default/at_new.html:72 +#: ../template/i18n.pl:3 +msgid "Monday" +msgstr "Lunes" + +#: ../template/default/timer_new.html:105 +#: ../template/default/at_new.html:73 +#: ../template/i18n.pl:4 +msgid "Tuesday" +msgstr "Martes" + +#: ../template/default/timer_new.html:106 +#: ../template/default/at_new.html:74 +#: ../template/i18n.pl:5 +msgid "Wednesday" +msgstr "Miércoles" + +#: ../template/default/timer_new.html:107 +#: ../template/default/at_new.html:75 +#: ../template/i18n.pl:6 +msgid "Thursday" +msgstr "Jueves" + +#: ../template/default/timer_new.html:108 +#: ../template/default/at_new.html:76 +#: ../template/i18n.pl:7 +msgid "Friday" +msgstr "Viernes" + +#: ../template/default/timer_new.html:109 +#: ../template/default/at_new.html:77 +#: ../template/i18n.pl:8 +msgid "Saturday" +msgstr "Sábado" + +#: ../template/default/timer_new.html:110 +#: ../template/default/at_new.html:78 +#: ../template/i18n.pl:2 +msgid "Sunday" +msgstr "Domingo" + +#: ../template/default/timer_new.html:116 +msgid "Start Time:" +msgstr "Comienzo:" + +#: ../template/default/timer_new.html:121 +#: ../template/default/timer_new.html:132 +#: ../template/default/at_new.html:102 +#: ../template/default/at_new.html:113 +#: ../template/default/prog_summary.html:17 +#: ../template/default/prog_summary.html:22 +#: ../template/default/prog_list.html:61 +#: ../template/default/prog_timeline.html:71 +#: ../template/default/prog_timeline.html:84 +#: ../template/default/prog_timeline.html:99 +#: ../template/default/prog_list2.html:71 +msgid "o'clock" +msgstr "h." + +#: ../template/default/timer_new.html:127 +msgid "End Time:" +msgstr "Fin:" + +#: ../template/default/timer_new.html:138 +#: ../template/default/at_new.html:119 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:188 +#: ../template/default/config.html:233 +#: ../template/default/timer_list.html:316 +msgid "Priority:" +msgstr "Prioridad:" + +#: ../template/default/timer_new.html:144 +#: ../template/default/at_new.html:127 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:194 +#: ../template/default/config.html:227 +#: ../template/default/timer_list.html:316 +msgid "Lifetime:" +msgstr "Durabilidad:" + +#: ../template/default/timer_new.html:150 +msgid "Title of Recording:" +msgstr "Título de la grabación:" + +#: ../template/default/timer_new.html:156 +msgid "Summary:" +msgstr "Resumen:" + +#: ../template/default/timer_new.html:169 +#: ../template/default/at_new.html:166 +#: ../template/default/config.html:403 +msgid "Save" +msgstr "Guardar" + +#: ../template/default/timer_new.html:170 +#: ../template/default/at_new.html:167 +#: ../template/default/rec_edit.html:64 +msgid "Cancel" +msgstr "Cancelar" + +#: ../template/default/left.html:34 +#: ../template/default/prog_summary.html:7 +#: ../template/default/prog_timeline.html:7 +#: ../template/i18n.pl:27 +msgid "What's On Now?" +msgstr "Estrenos ahora" + +#: ../template/default/left.html:38 +#: ../template/default/prog_list2.html:6 +#: ../template/default/prog_list2.html:25 +msgid "Playing Today" +msgstr "Estrenos hoy" + +#: ../template/default/left.html:42 +#: ../template/default/config.html:141 +#: ../template/i18n.pl:29 +msgid "Timeline" +msgstr "Tabla de tiempo" + +#: ../template/default/left.html:46 +#: ../template/default/prog_list.html:6 +#: ../template/i18n.pl:30 +msgid "Channels" +msgstr "Emisoras" + +#: ../template/default/left.html:50 +#: ../template/default/config.html:222 +#: ../template/default/timer_list.html:6 +#: ../template/default/timer_list.html:30 +msgid "Timer" +msgstr "Programaciones" + +#: ../template/default/left.html:54 +#: ../template/default/at_timer_list.html:6 +#: ../template/default/at_timer_list.html:15 +#: ../template/default/config.html:168 +msgid "Auto Timer" +msgstr "Autoprogramaciones" + +#: ../template/default/left.html:58 +#: ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:15 +#: ../template/i18n.pl:32 +msgid "Recordings" +msgstr "Grabaciones" + +#: ../template/default/left.html:62 +#: ../template/default/config.html:5 +#: ../template/default/config.html:15 +msgid "Configuration" +msgstr "Configuración" + +#: ../template/default/left.html:66 +#: ../template/default/rc.html:6 +msgid "Remote Control" +msgstr "Mando de distancia" + +#: ../template/default/left.html:70 +msgid "Watch TV" +msgstr "Televisión" + +#: ../template/default/left.html:77 +msgid "Search" +msgstr "Buscar" + +#: ../template/default/at_new.html:6 +#: ../template/default/at_new.html:16 +msgid "Add New Auto Timer" +msgstr "Añadir autoprogramación" + +#: ../template/default/at_new.html:6 +#: ../template/default/at_new.html:16 +msgid "Edit Auto Timer" +msgstr "Modificar autoprogramación" + +#: ../template/default/at_new.html:36 +msgid "Auto Timer Active:" +msgstr "Autoprogramación activada:" + +#: ../template/default/at_new.html:41 +#: ../template/default/at_new.html:45 +msgid "oneshot" +msgstr "una vez" + +#: ../template/default/at_new.html:52 +msgid "Search Patterns:" +msgstr "Palabras claves:" + +#: ../template/default/at_new.html:60 +msgid "Search in:" +msgstr "Buscar en:" + +#: ../template/default/at_new.html:62 +msgid "Title" +msgstr "Título" + +#: ../template/default/at_new.html:63 +msgid "Subtitle" +msgstr "Subtítulo" + +#: ../template/default/at_new.html:64 +msgid "Description" +msgstr "Descripción" + +#: ../template/default/at_new.html:70 +msgid "Search only on these days:" +msgstr "Los días para la búsqueda:" + +#: ../template/default/at_new.html:87 +msgid "all" +msgstr "todos" + +#: ../template/default/at_new.html:97 +msgid "Starts Before:" +msgstr "Buscar entre la/s:" + +#: ../template/default/at_new.html:108 +msgid "Ends Before:" +msgstr "y la/s:" + +#: ../template/default/at_new.html:135 +msgid "Episode:" +msgstr "Episodios:" + +#: ../template/default/at_new.html:143 +msgid "Remember programmed timers:" +msgstr "Recordar programaciones:" + +#: ../template/default/at_new.html:152 +msgid "Directory:" +msgstr "Carpeta:" + +#: ../template/default/noauth.html:5 +#: ../template/default/noauth.html:11 +msgid "Authorization Required" +msgstr "Autorización requerida" + +#: ../template/default/noauth.html:12 +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 "" +"Este servidor no pudo verificar, tú permiso de acceso al documento requerido.<br>\n" +"Posiblemente por entregar datos incorrectos (Nombre del usuario o contraseña p.e.) o por que tú navegador no soporta la forma de acceso." + +#: ../template/default/at_timer_list.html:22 +msgid "New Auto Timer" +msgstr "Añadir autoprogramación" + +#: ../template/default/at_timer_list.html:44 +#: ../template/default/timer_list.html:202 +msgid "Active" +msgstr "Activada" + +#: ../template/default/at_timer_list.html:55 +#: ../template/default/timer_list.html:213 +msgid "Channel" +msgstr "Emisora" + +#: ../template/default/at_timer_list.html:66 +#: ../template/default/timer_list.html:235 +msgid "Start" +msgstr "Comienzo" + +#: ../template/default/at_timer_list.html:77 +#: ../template/default/timer_list.html:246 +msgid "Stop" +msgstr "Fin" + +#: ../template/default/at_timer_list.html:88 +#: ../template/default/timer_list.html:257 +#: ../template/default/rec_list.html:74 +msgid "Name" +msgstr "Título" + +#: ../template/default/at_timer_list.html:99 +#: ../template/default/timer_list.html:268 +#: ../template/default/rec_list.html:85 +msgid "Select all/none" +msgstr "Seleccionar todos/ninguno" + +#: ../template/default/at_timer_list.html:139 +#: ../template/default/timer_list.html:326 +msgid "Edit" +msgstr "Modificar" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +msgid "Delete timer?" +msgstr "¿Borrar programación?" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +#: ../template/default/rec_list.html:137 +msgid "Delete" +msgstr "Borrar" + +#: ../template/default/at_timer_list.html:166 +msgid "Force Update" +msgstr "Actualizar ahora" + +#: ../template/default/at_timer_list.html:178 +#: ../template/default/timer_list.html:350 +msgid "Delete all selected timers?" +msgstr "¿Borrar en serio las programaciones elegidas?" + +#: ../template/default/at_timer_list.html:178 +msgid "Delete Selected Auto Timers" +msgstr "Borrar autoprogramaciones elegidas" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:74 +msgid "What's on:" +msgstr "Se puede ver:" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:76 +msgid "now" +msgstr "ahora" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:82 +msgid "at:" +msgstr " a la/s:" + +#: ../template/default/prog_summary.html:43 +#: ../template/default/prog_list.html:19 +#: ../template/default/rec_list.html:150 +#: ../template/default/prog_list2.html:52 +msgid "Stream" +msgstr "Flujo" + +#: ../template/default/prog_summary.html:62 +msgid "more" +msgstr "más" + +#: ../template/default/prog_summary.html:79 +msgid "TV select" +msgstr "cambiar canal" + +#: ../template/default/prog_summary.html:83 +msgid "Search for other show times" +msgstr "buscar repeticiones" + +#: ../template/default/prog_summary.html:87 +msgid "More Information" +msgstr "más info" + +#: ../template/default/prog_summary.html:93 +msgid "Record" +msgstr "Grabar estreno" + +#: ../template/default/config.html:38 +msgid "General Settings" +msgstr "Propiedades generales" + +#: ../template/default/config.html:44 +msgid "Template:" +msgstr "Interfaz:" + +#: ../template/default/config.html:57 +msgid "Skin:" +msgstr "Piel:" + +#: ../template/default/config.html:69 +msgid "Login Page:" +msgstr "Página de inicio:" + +#: ../template/default/config.html:81 +msgid "Number of DVB Cards:" +msgstr "Cantidad tarjetas-DVB:" + +#: ../template/default/config.html:95 +msgid "Identification" +msgstr "Identificaciones" + +#: ../template/default/config.html:100 +msgid "Username:" +msgstr "Nombre del usuario:" + +#: ../template/default/config.html:106 +msgid "Password:" +msgstr "Contraseña:" + +#: ../template/default/config.html:112 +msgid "Guest Account:" +msgstr "Acceso como invitado:" + +#: ../template/default/config.html:121 +msgid "Guest Username:" +msgstr "Nombre como invitado:" + +#: ../template/default/config.html:127 +msgid "Guest Password:" +msgstr "Contraseña como invitado:" + +#: ../template/default/config.html:146 +msgid "Hours:" +msgstr "Rango de hora/s:" + +#: ../template/default/config.html:152 +msgid "Times:" +msgstr "Horas:" + +#: ../template/default/config.html:173 +msgid "Active:" +msgstr "Activadas:" + +#: ../template/default/config.html:182 +msgid "Timeout:" +msgstr "Actualización cada:" + +#: ../template/default/config.html:183 +#: ../template/default/config.html:240 +#: ../template/default/config.html:246 +msgid "minutes" +msgstr "minutos" + +#: ../template/default/config.html:201 +#: ../template/default/config.html:239 +msgid "Time Margin at Start:" +msgstr "Más tiempo al principio:" + +#: ../template/default/config.html:207 +#: ../template/default/config.html:245 +msgid "Time Margin at Stop:" +msgstr "Más tiempo al final:" + +#: ../template/default/config.html:260 +msgid "Streaming" +msgstr "Flujo" + +#: ../template/default/config.html:265 +msgid "Live Streaming" +msgstr "Flujo en vivo" + +#: ../template/default/config.html:274 +msgid "Recordings Streaming" +msgstr "Flujo de grabaciones" + +#: ../template/default/config.html:283 +msgid "HTTP Port of Streamdev (also possible 3000/ts):" +msgstr "Puerto-HTTP para el flujo (3000/ts también posible):" + +#: ../template/default/config.html:289 +msgid "Path to VDR Recordings:" +msgstr "Ruta de las grabaciones:" + +#: ../template/default/config.html:296 +msgid "Bandwidth of Streams:" +msgstr "Ancho de banda del flujo:" + +#: ../template/default/config.html:323 +msgid "Channel Selections" +msgstr "Emisoras preferidas" + +#: ../template/default/config.html:333 +msgid "In "Timeline"?" +msgstr "¿Usar en "Tabla de tiempo"?" + +#: ../template/default/config.html:342 +msgid "In "Channels" / "Playing Today"?" +msgstr "¿Usar en "Datos de la guía electrónica (EPG)"?" + +#: ../template/default/config.html:351 +msgid "In "What's On Now"?" +msgstr "¿Usar en "Estrenos ahora"?" + +#: ../template/default/config.html:360 +msgid "In "Auto Timer"?" +msgstr "¿Usar en "Autoprogramaciones"?" + +#: ../template/default/config.html:404 +msgid "Apply" +msgstr "Aplicar" + +#: ../template/default/timer_list.html:38 +msgid "New Timer" +msgstr "Añadir programación" + +#: ../template/default/timer_list.html:224 +#: ../template/default/rec_list.html:52 +msgid "Date" +msgstr "Fecha" + +#: ../template/default/timer_list.html:278 +msgid "This timer is inactive!" +msgstr "¡Ésta programación está desactivada!" + +#: ../template/default/timer_list.html:281 +msgid "This timer is impossible!" +msgstr "¡Ésta programación es imposible!" + +#: ../template/default/timer_list.html:284 +msgid "No more timers possible!" +msgstr "¡No se puede añadir más!" + +#: ../template/default/timer_list.html:287 +msgid "Timer OK." +msgstr "Ésta programación es posible." + +#: ../template/default/timer_list.html:293 +msgid "Edit timer status?" +msgstr "¿Cambiar estado de la programación?" + +#: ../template/default/timer_list.html:297 +msgid "VPS" +msgstr "VPS" + +#: ../template/default/timer_list.html:298 +msgid "Auto" +msgstr "Auto" + +#: ../template/default/timer_list.html:350 +msgid "Delete Selected Timers" +msgstr "Borrar programaciones elegidas" + +#: ../template/default/prog_list.html:29 +#: ../template/default/prog_list2.html:34 +msgid "Go!" +msgstr "¡venga!" + +#: ../template/default/error.html:6 +msgid "Error!" +msgstr "¡Error!" + +#: ../template/default/tv.html:5 +#: ../template/default/tv_flash.html:4 +msgid "TV" +msgstr "TV" + +#: ../template/default/tv.html:182 +msgid "Interval:" +msgstr "Intervalo:" + +#: ../template/default/tv.html:185 +#: ../template/default/tv.html:186 +#: ../template/default/tv.html:187 +#: ../template/default/tv.html:188 +#: ../template/default/tv.html:189 +#: ../template/default/tv.html:190 +#: ../template/default/tv.html:191 +msgid "sec." +msgstr "seg" + +#: ../template/default/tv.html:193 +#: ../template/default/tv.html:200 +msgid "G" +msgstr "C" + +#: ../template/default/tv.html:193 +#: ../template/default/tv.html:200 +msgid "Grab the picture!" +msgstr "¡Captura la imagen!" + +#: ../template/default/tv.html:194 +msgid "Size:" +msgstr "Dimensiones:" + +#: ../template/default/prog_detail.html:28 +msgid "close" +msgstr "cerrar" + +#: ../template/default/prog_detail.html:30 +msgid "view" +msgstr "cambiar" + +#: ../template/default/prog_detail.html:31 +msgid "record" +msgstr "grabar" + +#: ../template/default/prog_detail.html:32 +msgid "search" +msgstr "repeticiones" + +#: ../template/default/prog_detail.html:34 +msgid "Lookup movie in the Internet-Movie-Database (IMDb)" +msgstr "Buscar la película en la base de datos en Internet (IMDb)" + +#: ../template/default/rec_list.html:19 +msgid "Total:" +msgstr "Espacio en el disco:" + +#: ../template/default/rec_list.html:19 +#: ../template/default/rec_list.html:20 +msgid "h" +msgstr "h." + +#: ../template/default/rec_list.html:20 +msgid "Free:" +msgstr "Espacio disponible:" + +#: ../template/default/rec_list.html:100 +msgid "Total" +msgstr "en total" + +#: ../template/default/rec_list.html:109 +#: ../template/default/rec_list.html:112 +msgid "New" +msgstr "nueva" + +#: ../template/default/rec_list.html:130 +#: ../template/default/rec_edit.html:63 +msgid "Rename" +msgstr "Renombrar" + +#: ../template/default/rec_list.html:137 +msgid "Delete recording?" +msgstr "¿Borrar grabación?" + +#: ../template/default/rec_list.html:168 +msgid "Commands:" +msgstr "Órdenes:" + +#: ../template/default/rec_list.html:174 +msgid "Run" +msgstr "Iniciar" + +#: ../template/default/rec_list.html:174 +msgid "Really run this command?" +msgstr "¿Ejecutar el órden de verdad?" + +#: ../template/default/rec_list.html:181 +#: ../template/default/rec_list.html:187 +msgid "Delete all selected recordings?" +msgstr "¿Borrar en serio las grabaciones elegidas?" + +#: ../template/default/rec_list.html:181 +#: ../template/default/rec_list.html:187 +msgid "Delete Selected Recordings" +msgstr "Borrar grabaciones elegidas" + +#: ../template/default/prog_timeline.html:99 +msgid "Timeline:" +msgstr "Tabla de tiempo:" + +#: ../template/default/prog_timeline.html:99 +msgid "to" +msgstr "hasta" + +#: ../template/default/rec_edit.html:6 +#: ../template/default/rec_edit.html:15 +msgid "Rename Recording" +msgstr "Renombrar grabación" + +#: ../template/default/rec_edit.html:38 +msgid "Original Name of Recording:" +msgstr "Título actual de la grabación:" + +#: ../template/default/rec_edit.html:44 +msgid "New Name of Recording:" +msgstr "Título nuevo de la grabación:" + +#: ../vdradmind.pl:222 +msgid "What's your VDR hostname (e.g video.intra.net)?" +msgstr "¿Cuál es el nombre del sitio del VDR (p.e. video.intra.net)?" + +#: ../vdradmind.pl:223 +msgid "On which port does VDR listen to SVDRP queries?" +msgstr "¿Cuál puerto esta vigilando VDR para requeridas de SVDRP?" + +#: ../vdradmind.pl:224 +msgid "On which address should VDRAdmin listen (0.0.0.0 for any)?" +msgstr "¿En qué dirección debe VDRAdmin escuchar (0.0.0.0 para todas)?" + +#: ../vdradmind.pl:225 +msgid "On which port should VDRAdmin listen?" +msgstr "¿Qué puerto debe VDRAdmin escuchar ?" + +#: ../vdradmind.pl:226 +msgid "Username?" +msgstr "¿Nombre del usuario?" + +#: ../vdradmind.pl:227 +msgid "Password?" +msgstr "¿Contraseña?" + +#: ../vdradmind.pl:228 +msgid "Where are your recordings stored?" +msgstr "Introduce la ruta de las grabaciones:" + +#: ../vdradmind.pl:229 +msgid "Where are your VDR's configuration files located?" +msgstr "Introduce la ruta de los archivos de configuración:" + +#: ../vdradmind.pl:235 +msgid "Config file written successfully." +msgstr "¡Los archivos de configuración han creado!" + +#: ../vdradmind.pl:282 +#, perl-format +msgid "vdradmind.pl %s started with pid %d." +msgstr "vdradmind.pl %s se ha iniciado con pid %d." + +#: ../template/i18n.pl:12 +msgid "January" +msgstr "Enero" + +#: ../template/i18n.pl:13 +msgid "February" +msgstr "Febrero" + +#: ../template/i18n.pl:14 +msgid "March" +msgstr "Marzo" + +#: ../template/i18n.pl:15 +msgid "April" +msgstr "Abril" + +#: ../template/i18n.pl:16 +msgid "May" +msgstr "Mayo" + +#: ../template/i18n.pl:17 +msgid "June" +msgstr "Junio" + +#: ../template/i18n.pl:18 +msgid "July" +msgstr "Julio" + +#: ../template/i18n.pl:19 +msgid "August" +msgstr "Agosto" + +#: ../template/i18n.pl:20 +msgid "September" +msgstr "Septiembre" + +#: ../template/i18n.pl:21 +msgid "October" +msgstr "Octubre" + +#: ../template/i18n.pl:22 +msgid "November" +msgstr "Noviembre" + +#: ../template/i18n.pl:23 +msgid "December" +msgstr "Diciembre" + +#: ../template/i18n.pl:28 +msgid "Playing Today?" +msgstr "Estrenos hoy" + +#: ../template/i18n.pl:31 +msgid "Timers" +msgstr "Programaciones" + +#: ../template/i18n.pl:36 +msgid "Not found" +msgstr "No encontrado" + +#: ../template/i18n.pl:37 +msgid "The requested URL was not found on this server!" +msgstr "¡No encontrado la URL requerida, en el servidor!" + +#: ../template/i18n.pl:38 +#, perl-format +msgid "The URL "%s" was not found on this server!" +msgstr "¡No encontrado la URL %s en el servidor!" + +#: ../template/i18n.pl:39 +msgid "Forbidden" +msgstr "Prohibido" + +#: ../template/i18n.pl:40 +msgid "You don't have permission to access this function!" +msgstr "¡No tienes permiso para ésta funcción!" + +#: ../template/i18n.pl:41 +#, perl-format +msgid "Access to file "%s" denied!" +msgstr "¡Acceso al archivo %s negado!" + +#: ../template/i18n.pl:42 +#, perl-format +msgid "Can't open file "%s"!" +msgstr "¡No se pudo abrir el archivo %s!" + +#: ../template/i18n.pl:43 +#, perl-format +msgid "Can't connect to VDR at %s!" +msgstr "¡No se pudo estabilizar la conexción a %s!" + +#: ../template/i18n.pl:44 +#, perl-format +msgid "Error while sending command to VDR at %s" +msgstr "Error mientras mandó el orden a %s " + +#: ../template/i18n.pl:48 +msgid "Schedule" +msgstr "Vista general" + +#: ../template/i18n.pl:53 +msgid "" +"<b>Timer</b>\n" +"<p>VDR timer overview.</p>\n" +"<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the timer on or off.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> indicates overlapping timers. That's uncritical, as long as you have enough DVB cards for the parallel recordings.<br>\n" +"To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, select them using the checkboxes (<input type=\"checkbox\" checked>) and click on <i>Delete selected timers</i> at the end of the list.\n" +"</p>" +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=\"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\"> indica que haya conflictos. Esto no importa, mientras hay una tarjeta 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>" + +#: ../template/i18n.pl:61 +msgid "" +"<p>No help available for <b>Add Timer:</b> yet. For adding text please contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"<b>Añadir programación:</b>\n" +"<p>En ésta ventana se añade programaciones normales. Tienes que rellenar el formulario a tu gusto, teniendo en cuenta las otras programaciones, para que no produzcan problemas entre ellas.\n" +" </p>" + +#: ../template/i18n.pl:65 +msgid "" +"<b>Auto Timer:</b><br>\n" +"<p>An overview of all Auto Timers</p>\n" +"<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)activate that Auto Timer.</p>\n" +"<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> for deleting an Auto Timer. If you want to delete multiple Auto Timers all at once, you have to check the boxes (<input type=\"checkbox\" checked>) on the right and finally click <i>Delete selected Auto Timers</i>.</p>" +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" +"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 de <i>Borrar autoprogramaciones elegidas</i> al final de la lista.\n" +"</p>" + +#: ../template/i18n.pl:71 +msgid "" +"<b>Edit Auto Timer:</b><br>\n" +"<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or more search terms and some other settings, that are looked for regularly in the Electronic Program Guide (EPG). On match Auto Timer 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>\n" +"<p>Here you can set an Auto Timer. It's required to specify at least one search item. Please have a look at <i>Search Items</i> if you need more information on how to find reasonable search items and how to avoid unwanted recordings.</p>\n" +"<b>Auto Timer Active:</b><br>\n" +"<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please note that VDR timers already added by VDRAdmin are not deleted if you deactivate this Auto Timer.</p>\n" +"<b>Search Items:</b><br>\n" +"<p>Choosing the right search items decides whether only the wanted broadcast or broadcast having similar names or nothing gets recorded.</p>\n" +"<p>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 all items.</p>\n" +"<p>You'd better only use letters and numbers for search items, as EPGs often miss colons, brackets and other characters.</p>\n" +"<p>Experts can also use regular expressions, but you have get needed information from the VDRAdmin sources (undocumented feature).</p>" +msgstr "" +"<b>Añadir/modificar nueva autoprogramación:</b>\n" +"<p>La autoprogramación es una función básica del VDR Admin. Una autoprogramación se refiere a una o más <i>Palabras claves</i>, cuales usará para analizar los datos de la guía electrónica (EPG) con un rango de tiempo ajustable. Cuando encuentra las palabras elegidas teniendo en cuenta la hora y la emisora, creará automáticamente una programación para el estreno encontrado – bastante útil para series (ir)regulares o igual para estrenos, que quieran grabar con seguridad.<br>\n" +"En esta pantalla se puede crear una nueva autoprogramación. Una o más palabras son obligatorias, para que puede actuar. Detalles, por palabras útiles y como evitar grabaciones inútiles, se puede encontrar en la ayuda para <i>Palabras claves</i> más abajo.</p>\n" +"\n" +"<b>Auto programación activo:</b>\n" +"<p>Marcando |<input type=\"radio\" checked> <i>sí</i> | activará la autoprogramación, y se va a buscar regularmente en la guía electrónica (EPG) por las <i>Palabras claves</i> y creará una programación, cuando cumple con las <i>Palabras claves</i> como con los parámetros demás.</br>\n" +"Con |<input type=\"radio\" checked> <i>no</i> | se desactiva la autoprogramación, sin borrarla. No afectará a las programaciones ya creadas por esta autoprogramación – a lo mejor tienes que borrarla manualmente en el menu.<i>Autoprogramación</i>.<br>\n" +"Con |<input type=\"radio\" checked> <i>una vez</i> | la autoprogramación acaba de vigilar despúes de crear una programación. A partir de entonces serán programaciones normales sin las ventajas de una autoprogramación.\n" +"</p>\n" +"\n" +"<b>Palabras claves:</b>\n" +"<p>Las palabras claves son importante, para lograr un buen resultado.<br>\n" +"No importa MAYÚSCULA o minúscula. Por eso las palabras claves \"X-Pasta\" logrará los mismos resultados como \"x-pasta\". Todas palabras claves se separa con espacio y para cumplir el orden, VDR-admin tiene que encontrar todas las palabras claves para un estreno.<br>\n" +"Las palabras claves \"Pasta X\" encontrarán \"Pasta - La cocina extraña de mi mujer\" como \"No se sabe hacer extra pasta\" y \"Pasta extrema \", pero no \"La pasta increible\" (no se encuentra una \"X\"!).<br>\n" +"Se recomienda usar sólo letras y cifras como palabras claves, por que la guía electrónica (EPG) se límita bastante en el uso de todas caracteres posibles o los interpreta mál.\n" +"<p>También deberia ser posible usar expresiones regulares – Expertos puedan extraer info del texto fuente (undocumented feature).\n" +"</p>" + +#: ../template/i18n.pl:83 +msgid "" +"<p>No help available for <b>Recordings:</b>. For adding text please contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"<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=\"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 ˜</p>" + +#: ../template/i18n.pl:87 +msgid "" +"<b>Configuration:</b>\n" +"<p>Here you can change general settings and base settings for timers, auto timers, channel selection and streaming parameters.\n" +"</p>\n" +"<b>General Settings:</b>\n" +"<p>Here you can change the languge, the start page, the look, and the number of DVB cards. Besides this the base settings for timers, auto timers, the channel selection and streaming parameters can be configured here.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. The default passwords for both accounts should be changed when VDRAdmin is accessible over the Internet.\n" +"</p>\n" +"<b>Time Line:</b>\n" +"<p>Here you can see a time line of the channels, where you can select the displayed time span.<br>\n" +"The bars show the titles of each show. A time bar starts half an hour before now. A thin red line indicates the current position.<br>Programmed timers are shown in different colors.\n" +"</p>\n" +"<b>Settings for auto timers:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the auto timer function. You can also specify the interval, the the epg data is checked for updating the auto timers.<br>\n" +"The life time of a recording can be set from 0 to 99 (99=live forever). This value relates to the day, the recording was made. After the given life time, a recording may be deleted to make room for new ones.<br>\n" +"The Priority indicates, what timer is prefered in case of a conflict.<br>\n" +"<b>Timer settings:</b>\n" +"<p>These are the same settings as for the auto timers, but apply to the manually created timers.\n" +"</p>\n" +"\n" +"<b>Streaming settings:</b>\n" +"<p>Specify port, bandwith and VDR's recording directory here.\n" +"</p>\n" +"\n" +"<b>Channel Selection:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the channel selection for a specific view.<br>\n" +"</p>\n" +msgstr "" +"<b>Configuración:</b>\n" +"<p>En ésta página se ajusta las propiedades generales, las propiedades de la programación y de la autoprogramación, como las emisoras preferidas y por fin los ajustes del flujo.</p>\n" +"\n" +"<b>Propiedades generales:</b>\n" +"<p>Aquí se ajusta el idioma, la página principal, las pieles y cuantas 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" +"\n" +"<b>Tabla de tiempo:</b>\n" +"<p>Ésta página te ofrece una vista de las canales como una tabla, en relacion al tiempo. Las horas introducidas, marcan el rango de las horas que vas a ver. Por defecto empiezara a la última hora cumplida anterioramente.\n" +"<br>En el campo de los horas puedes entregar las horarios fijas, donde la barra va a empezar. Se refiere al campo en la página de tabla de tiempo, 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" +"<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" +"Con el valor de la prioridad de la nueva grabacion tienes el segundo parámetro, para que VDR pueda decidir, cuál de las grabaciones hechas se puede borrar, cuando necesita espacio en el disco duro. Por los 2 valores sabrá, si una grabación ha caducado y con una prioridad más alta de la grabación deseada entonces borraría ésta antigua. Así te ofrece VDR ajustar prioridades más altas a aquellas grabaciones, que te importan de verdad.<br> Durabilidad=99 por ejemplo, creará una grabación que nunca caduca!</p><b>Propiedades de las programaciones:</b><p>Ajuste la prioridad de las programaciones entre 0 y 99 . \n" +"<br>La durabilidad se puede ajustar entre 0 y 99 para dar a la grabación creada de ésta programación el valor deseado. El valor se refiere al día de la grabación - más el rango que pones.</p>\n" +"\n" +"<b>Propiedades del flujo</b>\n" +"<p>Si quieres usar la función flujo (ver grabaciones por red) ajuste aquí las propiedades.</p>\n" +"\n" +"<b>Emisoras preferidas</b>\n" +"<p>Con las emisoras preferidas te permite activar las pantallas que quieres habilitar para ver solo las canales elegidas. Así se carga mas rápido la página. Activa las páginas deseadas con los botones |<input type=\"radio\" checked> <i>sí</i> | o |<input type=\"radio\"> <i>no</i> | junto a los registros.\n" +"<br>El campo abajo te permite elegir las emisoras deseadas, marcándolas en un campo una por una o juntas. Los botones entre los campos van a mover las marcadas de un campo a otro y viceversa.\n" +"</p>\n" + +#: ../template/i18n.pl:117 +msgid "No help available yet. For adding or changing text please contact mail@andreas.vdr-developer.org." +msgstr "Para ésta función no hay ayuda disponible hasta ahora. Para añadir o modificar un texto, por favor pon te en contacto con mail@andreas.vdr-developer.org." + diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..77f38cc --- /dev/null +++ b/po/fi.po @@ -0,0 +1,1110 @@ +# +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: VDRAdmin-0.97-AM3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-05-09 12:52+0200\n" +"Last-Translator: FULL NAME <EMAIL>\n" +"Language-Team: LANGUAGE <LL.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../template/default/index.html:18 +msgid "Your Browser does not support frames!" +msgstr "Selaimesi ei tue kehyksiä!" + +#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:45 +msgid "Create New Timer" +msgstr "Luo uusi ajastin" + +#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:45 +msgid "Edit Timer" +msgstr "Muokkaa ajastinta" + +#: ../template/default/timer_new.html:50 ../template/default/at_new.html:20 +#: ../template/default/at_timer_list.html:31 +#: ../template/default/config.html:20 ../template/default/timer_list.html:46 +#: ../template/default/rec_list.html:26 +msgid "Help" +msgstr "Opaste" + +#: ../template/default/timer_new.html:67 +msgid "Timer Active:" +msgstr "Aktiivinen:" + +#: ../template/default/timer_new.html:69 ../template/default/at_new.html:39 +#: ../template/default/at_new.html:43 ../template/default/at_new.html:145 +#: ../template/default/at_timer_list.html:110 +#: ../template/default/config.html:114 ../template/default/config.html:175 +#: ../template/default/config.html:267 ../template/default/config.html:276 +#: ../template/default/config.html:335 ../template/default/config.html:344 +#: ../template/default/config.html:353 ../template/default/config.html:362 +#: ../template/default/timer_list.html:295 +msgid "Yes" +msgstr "Kyllä" + +#: ../template/default/timer_new.html:70 ../template/default/at_new.html:40 +#: ../template/default/at_new.html:44 ../template/default/at_new.html:146 +#: ../template/default/at_timer_list.html:113 +#: ../template/default/config.html:115 ../template/default/config.html:176 +#: ../template/default/config.html:268 ../template/default/config.html:277 +#: ../template/default/config.html:336 ../template/default/config.html:345 +#: ../template/default/config.html:354 ../template/default/config.html:363 +#: ../template/default/timer_list.html:296 +msgid "No" +msgstr "Ei" + +#: ../template/default/timer_new.html:76 +msgid "Auto Timer Checking:" +msgstr "Automaattisen ajastimen tarkistus:" + +#: ../template/default/timer_new.html:79 +msgid "Transmission Identification" +msgstr "Lähetteen tunniste" + +#: ../template/default/timer_new.html:81 ../template/default/rec_list.html:63 +msgid "Time" +msgstr "Aika" + +#: ../template/default/timer_new.html:82 ../template/default/tv.html:184 +msgid "off" +msgstr "Pois" + +#: ../template/default/timer_new.html:88 ../template/default/at_new.html:84 +#: ../template/default/prog_list.html:23 +#: ../template/default/prog_list2.html:29 +msgid "Channel:" +msgstr "Kanava:" + +#: ../template/default/timer_new.html:100 +msgid "Day Of Recording:" +msgstr "Päivä:" + +#: ../template/default/timer_new.html:104 ../template/default/at_new.html:72 +#: ../template/i18n.pl:3 +msgid "Monday" +msgstr "Maanantai" + +#: ../template/default/timer_new.html:105 ../template/default/at_new.html:73 +#: ../template/i18n.pl:4 +msgid "Tuesday" +msgstr "Tiistai" + +#: ../template/default/timer_new.html:106 ../template/default/at_new.html:74 +#: ../template/i18n.pl:5 +msgid "Wednesday" +msgstr "Keskiviikko" + +#: ../template/default/timer_new.html:107 ../template/default/at_new.html:75 +#: ../template/i18n.pl:6 +msgid "Thursday" +msgstr "Torstai" + +#: ../template/default/timer_new.html:108 ../template/default/at_new.html:76 +#: ../template/i18n.pl:7 +msgid "Friday" +msgstr "Perjantai" + +#: ../template/default/timer_new.html:109 ../template/default/at_new.html:77 +#: ../template/i18n.pl:8 +msgid "Saturday" +msgstr "Lauantai" + +#: ../template/default/timer_new.html:110 ../template/default/at_new.html:78 +#: ../template/i18n.pl:2 +msgid "Sunday" +msgstr "Sunnuntai" + +#: ../template/default/timer_new.html:116 +msgid "Start Time:" +msgstr "Aloitusaika:" + +#: ../template/default/timer_new.html:121 +#: ../template/default/timer_new.html:132 ../template/default/at_new.html:102 +#: ../template/default/at_new.html:113 +#: ../template/default/prog_summary.html:17 +#: ../template/default/prog_summary.html:22 +#: ../template/default/prog_list.html:61 +#: ../template/default/prog_timeline.html:71 +#: ../template/default/prog_timeline.html:84 +#: ../template/default/prog_timeline.html:99 +#: ../template/default/prog_list2.html:71 +msgid "o'clock" +msgstr " " + +#: ../template/default/timer_new.html:127 +msgid "End Time:" +msgstr "Lopetusaika:" + +#: ../template/default/timer_new.html:138 ../template/default/at_new.html:119 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:188 ../template/default/config.html:233 +#: ../template/default/timer_list.html:316 +msgid "Priority:" +msgstr "Prioriteetti:" + +#: ../template/default/timer_new.html:144 ../template/default/at_new.html:127 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:194 ../template/default/config.html:227 +#: ../template/default/timer_list.html:316 +msgid "Lifetime:" +msgstr "Elinaika:" + +#: ../template/default/timer_new.html:150 +msgid "Title of Recording:" +msgstr "Tallenteen nimi:" + +#: ../template/default/timer_new.html:156 +msgid "Summary:" +msgstr "Tallenteen kuvaus:" + +#: ../template/default/timer_new.html:169 ../template/default/at_new.html:166 +#: ../template/default/config.html:403 +msgid "Save" +msgstr "Tallenna" + +#: ../template/default/timer_new.html:170 ../template/default/at_new.html:167 +#: ../template/default/rec_edit.html:64 +msgid "Cancel" +msgstr "Peru" + +#: ../template/default/left.html:34 ../template/default/prog_summary.html:7 +#: ../template/default/prog_timeline.html:7 ../template/i18n.pl:27 +msgid "What's On Now?" +msgstr "Menossa nyt" + +#: ../template/default/left.html:38 ../template/default/prog_list2.html:6 +#: ../template/default/prog_list2.html:25 +msgid "Playing Today" +msgstr "Ohjelmisto tänään" + +#: ../template/default/left.html:42 ../template/default/config.html:141 +#: ../template/i18n.pl:29 +msgid "Timeline" +msgstr "Aikajana" + +#: ../template/default/left.html:46 ../template/default/prog_list.html:6 +#: ../template/i18n.pl:30 +msgid "Channels" +msgstr "Kanavat" + +#: ../template/default/left.html:50 ../template/default/config.html:222 +#: ../template/default/timer_list.html:6 +#: ../template/default/timer_list.html:30 +msgid "Timer" +msgstr "Ajastimet" + +#: ../template/default/left.html:54 ../template/default/at_timer_list.html:6 +#: ../template/default/at_timer_list.html:15 +#: ../template/default/config.html:168 +msgid "Auto Timer" +msgstr "Automaattiset ajastimet" + +#: ../template/default/left.html:58 ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:15 ../template/i18n.pl:32 +msgid "Recordings" +msgstr "Tallenteet" + +#: ../template/default/left.html:62 ../template/default/config.html:5 +#: ../template/default/config.html:15 +msgid "Configuration" +msgstr "Asetukset" + +#: ../template/default/left.html:66 ../template/default/rc.html:6 +msgid "Remote Control" +msgstr "Kauko-ohjain" + +#: ../template/default/left.html:70 +msgid "Watch TV" +msgstr "Katso TV:tä" + +#: ../template/default/left.html:77 +msgid "Search" +msgstr "Etsi" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Add New Auto Timer" +msgstr "Lisää uusi automaattinen ajastin" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Edit Auto Timer" +msgstr "Muokkaa automaattista ajastinta" + +#: ../template/default/at_new.html:36 +msgid "Auto Timer Active:" +msgstr "Aktiivinen:" + +#: ../template/default/at_new.html:41 ../template/default/at_new.html:45 +msgid "oneshot" +msgstr "Kerran" + +#: ../template/default/at_new.html:52 +msgid "Search Patterns:" +msgstr "Hakuehto:" + +#: ../template/default/at_new.html:60 +msgid "Search in:" +msgstr "Hakukentät:" + +#: ../template/default/at_new.html:62 +msgid "Title" +msgstr "Otsikko" + +#: ../template/default/at_new.html:63 +msgid "Subtitle" +msgstr "Lyhyt kuvaus" + +#: ../template/default/at_new.html:64 +msgid "Description" +msgstr "Kuvaus" + +#: ../template/default/at_new.html:70 +msgid "Search only on these days:" +msgstr "Etsi valittuina päivinä:" + +#: ../template/default/at_new.html:87 +msgid "all" +msgstr "Kaikki" + +#: ../template/default/at_new.html:97 +msgid "Starts Before:" +msgstr "Alkaa ennen:" + +#: ../template/default/at_new.html:108 +msgid "Ends Before:" +msgstr "Loppuu ennen:" + +#: ../template/default/at_new.html:135 +msgid "Episode:" +msgstr "Sarjatallennus:" + +#: ../template/default/at_new.html:143 +msgid "Remember programmed timers:" +msgstr "Muista ohjelmoidut ajastimet:" + +#: ../template/default/at_new.html:152 +msgid "Directory:" +msgstr "Hakemisto:" + +#: ../template/default/noauth.html:5 ../template/default/noauth.html:11 +msgid "Authorization Required" +msgstr "Käyttäjätunnistus puutteellinen" + +#: ../template/default/noauth.html:12 +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 "" +"Käyttäjätunnistus ei onnistu! Tarkista syöttämä" +"si käyttäjätunnus/salasana." + +#: ../template/default/at_timer_list.html:22 +msgid "New Auto Timer" +msgstr "Uusi automaattinen ajastin" + +#: ../template/default/at_timer_list.html:44 +#: ../template/default/timer_list.html:202 +msgid "Active" +msgstr "Aktiivinen" + +#: ../template/default/at_timer_list.html:55 +#: ../template/default/timer_list.html:213 +msgid "Channel" +msgstr "Kanava" + +#: ../template/default/at_timer_list.html:66 +#: ../template/default/timer_list.html:235 +msgid "Start" +msgstr "Aloitus" + +#: ../template/default/at_timer_list.html:77 +#: ../template/default/timer_list.html:246 +msgid "Stop" +msgstr "Lopetus" + +#: ../template/default/at_timer_list.html:88 +#: ../template/default/timer_list.html:257 +#: ../template/default/rec_list.html:74 +msgid "Name" +msgstr "Nimi" + +#: ../template/default/at_timer_list.html:99 +#: ../template/default/timer_list.html:268 +#: ../template/default/rec_list.html:85 +msgid "Select all/none" +msgstr "Valitse kaikki/ei yhtään" + +#: ../template/default/at_timer_list.html:139 +#: ../template/default/timer_list.html:326 +msgid "Edit" +msgstr "Muokkaa" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +msgid "Delete timer?" +msgstr "Poistetaanko ajastin?" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +#: ../template/default/rec_list.html:137 +msgid "Delete" +msgstr "Poista" + +#: ../template/default/at_timer_list.html:166 +msgid "Force Update" +msgstr "Päivitä" + +#: ../template/default/at_timer_list.html:178 +#: ../template/default/timer_list.html:350 +msgid "Delete all selected timers?" +msgstr "Poistetaanko valitut ajastimet?" + +#: ../template/default/at_timer_list.html:178 +msgid "Delete Selected Auto Timers" +msgstr "Poista valitut automaattiset ajastimet" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:74 +msgid "What's on:" +msgstr "Menossa" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:76 +msgid "now" +msgstr "nyt" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:82 +msgid "at:" +msgstr "kello:" + +#: ../template/default/prog_summary.html:43 +#: ../template/default/prog_list.html:19 ../template/default/rec_list.html:150 +#: ../template/default/prog_list2.html:52 +msgid "Stream" +msgstr "Toista" + +#: ../template/default/prog_summary.html:62 +msgid "more" +msgstr "lisää" + +#: ../template/default/prog_summary.html:79 +msgid "TV select" +msgstr "katso" + +#: ../template/default/prog_summary.html:83 +msgid "Search for other show times" +msgstr "etsi vaihtoehtoisia esitysaikoja" + +#: ../template/default/prog_summary.html:87 +msgid "More Information" +msgstr "lisätietoja" + +#: ../template/default/prog_summary.html:93 +msgid "Record" +msgstr "tallenna" + +#: ../template/default/config.html:38 +msgid "General Settings" +msgstr "Yleiset asetukset" + +#: ../template/default/config.html:44 +msgid "Template:" +msgstr "Pohja:" + +#: ../template/default/config.html:57 +msgid "Skin:" +msgstr "Ulkoasu:" + +#: ../template/default/config.html:69 +msgid "Login Page:" +msgstr "Aloitussivu:" + +#: ../template/default/config.html:81 +msgid "Number of DVB Cards:" +msgstr "DVB-korttien lukumäärä:" + +#: ../template/default/config.html:95 +msgid "Identification" +msgstr "Käyttäjätunnistus" + +#: ../template/default/config.html:100 +msgid "Username:" +msgstr "Käyttäjätunnus:" + +#: ../template/default/config.html:106 +msgid "Password:" +msgstr "Salasana:" + +#: ../template/default/config.html:112 +msgid "Guest Account:" +msgstr "Sallitaanko vierailija:" + +#: ../template/default/config.html:121 +msgid "Guest Username:" +msgstr "Vierailijan käyttäjätunnus:" + +#: ../template/default/config.html:127 +msgid "Guest Password:" +msgstr "Vierailijan salasana:" + +#: ../template/default/config.html:146 +msgid "Hours:" +msgstr "Pituus tunteina:" + +#: ../template/default/config.html:152 +msgid "Times:" +msgstr "Ajankohdat:" + +#: ../template/default/config.html:173 +msgid "Active:" +msgstr "Käytössä:" + +#: ../template/default/config.html:182 +msgid "Timeout:" +msgstr "Odotusaika:" + +#: ../template/default/config.html:183 ../template/default/config.html:240 +#: ../template/default/config.html:246 +msgid "minutes" +msgstr "minuuttia" + +#: ../template/default/config.html:201 ../template/default/config.html:239 +msgid "Time Margin at Start:" +msgstr "Aloitusmarginaali:" + +#: ../template/default/config.html:207 ../template/default/config.html:245 +msgid "Time Margin at Stop:" +msgstr "Lopetusmarginaali:" + +#: ../template/default/config.html:260 +msgid "Streaming" +msgstr "Suoratoisto" + +#: ../template/default/config.html:265 +msgid "Live Streaming" +msgstr "Live-kuvan suoratoisto" + +#: ../template/default/config.html:274 +msgid "Recordings Streaming" +msgstr "Tallenteiden suoratoisto" + +#: ../template/default/config.html:283 +msgid "HTTP Port of Streamdev (also possible 3000/ts):" +msgstr "Streamdev-laajennoksen HTTP-portti (esim. 3000/ts):" + +#: ../template/default/config.html:289 +msgid "Path to VDR Recordings:" +msgstr "VDR-tallenteiden polku:" + +#: ../template/default/config.html:296 +msgid "Bandwidth of Streams:" +msgstr "Kaistanleveys:" + +#: ../template/default/config.html:323 +msgid "Channel Selections" +msgstr "Kanavavalinnat" + +#: ../template/default/config.html:333 +msgid "In "Timeline"?" +msgstr "Käytä kanavavalintoja "Aikajana"-sivulla" + +#: ../template/default/config.html:342 +msgid "In "Channels" / "Playing Today"?" +msgstr "" +"Käytä kanavavalintoja "Kanavat"- ja "Ohjelmisto " +"tänään"-sivuilla" + +#: ../template/default/config.html:351 +msgid "In "What's On Now"?" +msgstr "Käytä kanavavalintoja "Menossa nyt"-sivulla" + +#: ../template/default/config.html:360 +msgid "In "Auto Timer"?" +msgstr "" +"Käytä kanavavalintoja "Automaattiset ajastimet"-sivulla" + +#: ../template/default/config.html:404 +msgid "Apply" +msgstr "Käytä" + +#: ../template/default/timer_list.html:38 +msgid "New Timer" +msgstr "Uusi ajastin" + +#: ../template/default/timer_list.html:224 +#: ../template/default/rec_list.html:52 +msgid "Date" +msgstr "Päivämäärä" + +#: ../template/default/timer_list.html:278 +msgid "This timer is inactive!" +msgstr "Ajastin ei ole aktiivinen!" + +#: ../template/default/timer_list.html:281 +msgid "This timer is impossible!" +msgstr "Ajastin ei ole mahdollinen!" + +#: ../template/default/timer_list.html:284 +msgid "No more timers possible!" +msgstr "Maksimimäärä ajastimia käytössä!" + +#: ../template/default/timer_list.html:287 +msgid "Timer OK." +msgstr "Ajastin OK." + +#: ../template/default/timer_list.html:293 +msgid "Edit timer status?" +msgstr "Muokataanko ajastinta?" + +#: ../template/default/timer_list.html:297 +msgid "VPS" +msgstr "VPS" + +#: ../template/default/timer_list.html:298 +msgid "Auto" +msgstr "Automaattinen" + +#: ../template/default/timer_list.html:350 +msgid "Delete Selected Timers" +msgstr "Poista valitut ajastimet" + +#: ../template/default/prog_list.html:29 +#: ../template/default/prog_list2.html:34 +msgid "Go!" +msgstr "Siirry" + +#: ../template/default/error.html:6 +msgid "Error!" +msgstr "Virhe!" + +#: ../template/default/tv.html:5 ../template/default/tv_flash.html:4 +msgid "TV" +msgstr "TV" + +#: ../template/default/tv.html:182 +msgid "Interval:" +msgstr "Päivitysväli:" + +#: ../template/default/tv.html:185 ../template/default/tv.html:186 +#: ../template/default/tv.html:187 ../template/default/tv.html:188 +#: ../template/default/tv.html:189 ../template/default/tv.html:190 +#: ../template/default/tv.html:191 +msgid "sec." +msgstr "s" + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "G" +msgstr "K" + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "Grab the picture!" +msgstr "Kuvankaappaus" + +#: ../template/default/tv.html:194 +msgid "Size:" +msgstr "Koko:" + +#: ../template/default/prog_detail.html:28 +msgid "close" +msgstr "sulje" + +#: ../template/default/prog_detail.html:30 +msgid "view" +msgstr "katso" + +#: ../template/default/prog_detail.html:31 +msgid "record" +msgstr "tallenna" + +#: ../template/default/prog_detail.html:32 +msgid "search" +msgstr "etsi" + +#: ../template/default/prog_detail.html:34 +msgid "Lookup movie in the Internet-Movie-Database (IMDb)" +msgstr "etsi IMBD:stä" + +#: ../template/default/rec_list.html:19 +msgid "Total:" +msgstr "Käytössä:" + +#: ../template/default/rec_list.html:19 ../template/default/rec_list.html:20 +msgid "h" +msgstr "h" + +#: ../template/default/rec_list.html:20 +msgid "Free:" +msgstr "Vapaana:" + +#: ../template/default/rec_list.html:100 +msgid "Total" +msgstr "Käytössä" + +#: ../template/default/rec_list.html:109 ../template/default/rec_list.html:112 +msgid "New" +msgstr "Uusi" + +#: ../template/default/rec_list.html:130 ../template/default/rec_edit.html:63 +msgid "Rename" +msgstr "Nimeä" + +#: ../template/default/rec_list.html:137 +msgid "Delete recording?" +msgstr "Poistetaanko tallenne?" + +#: ../template/default/rec_list.html:168 +msgid "Commands:" +msgstr "Komennot:" + +#: ../template/default/rec_list.html:174 +msgid "Run" +msgstr "Suorita" + +#: ../template/default/rec_list.html:174 +msgid "Really run this command?" +msgstr "Suoritetaanko komento?" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete all selected recordings?" +msgstr "Poistetaanko valitut tallenteet?" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete Selected Recordings" +msgstr "Poista valitut tallenteet" + +#: ../template/default/prog_timeline.html:99 +msgid "Timeline:" +msgstr "Aikajana:" + +#: ../template/default/prog_timeline.html:99 +msgid "to" +msgstr "-" + +#: ../template/default/rec_edit.html:6 ../template/default/rec_edit.html:15 +msgid "Rename Recording" +msgstr "Nimeä tallenne" + +#: ../template/default/rec_edit.html:38 +msgid "Original Name of Recording:" +msgstr "Tallenteen alkuperäinen nimi:" + +#: ../template/default/rec_edit.html:44 +msgid "New Name of Recording:" +msgstr "Tallenteen uusi nimi:" + +#: ../vdradmind.pl:222 +msgid "What's your VDR hostname (e.g video.intra.net)?" +msgstr "Anna VDR-koneesi nimi (esim. video.intra.net):" + +#: ../vdradmind.pl:223 +msgid "On which port does VDR listen to SVDRP queries?" +msgstr "Anna VDR-koneesi käyttämä SVDRP-portti:" + +#: ../vdradmind.pl:224 +msgid "On which address should VDRAdmin listen (0.0.0.0 for any)?" +msgstr "Anna VDRAdminin käyttämä osoiteavaruus (0.0.0.0 ei rajoituksia):" + +#: ../vdradmind.pl:225 +msgid "On which port should VDRAdmin listen?" +msgstr "Anna VDRAdminin käyttämä portti:" + +#: ../vdradmind.pl:226 +msgid "Username?" +msgstr "Anna käyttäjätunnus VDRAdminia varten:" + +#: ../vdradmind.pl:227 +msgid "Password?" +msgstr "Anna salasana VDRAdminia varten:" + +#: ../vdradmind.pl:228 +msgid "Where are your recordings stored?" +msgstr "Anna VDR-koneesi tallennehakemiston polku:" + +#: ../vdradmind.pl:229 +msgid "Where are your VDR's configuration files located?" +msgstr "Anna VDR-koneesi konfigurointihakemiston polku:" + +#: ../vdradmind.pl:235 +msgid "Config file written successfully." +msgstr "VDRAdminin konfigurointitiedosto muodostettu." + +#: ../vdradmind.pl:282 +#, perl-format +msgid "vdradmind.pl %s started with pid %d." +msgstr "vdradmind.pl %s käynnistetty prosessitunnisteella %d." + +#: ../template/i18n.pl:12 +msgid "January" +msgstr "Tammikuu" + +#: ../template/i18n.pl:13 +msgid "February" +msgstr "Helmikuu" + +#: ../template/i18n.pl:14 +msgid "March" +msgstr "Maaliskuu" + +#: ../template/i18n.pl:15 +msgid "April" +msgstr "Huhtikuu" + +#: ../template/i18n.pl:16 +msgid "May" +msgstr "Toukokuu" + +#: ../template/i18n.pl:17 +msgid "June" +msgstr "Kesäkuu" + +#: ../template/i18n.pl:18 +msgid "July" +msgstr "Heinäkuu" + +#: ../template/i18n.pl:19 +msgid "August" +msgstr "Elokuu" + +#: ../template/i18n.pl:20 +msgid "September" +msgstr "Syyskuu" + +#: ../template/i18n.pl:21 +msgid "October" +msgstr "Lokakuu" + +#: ../template/i18n.pl:22 +msgid "November" +msgstr "Marraskuu" + +#: ../template/i18n.pl:23 +msgid "December" +msgstr "Joulukuu" + +#: ../template/i18n.pl:28 +msgid "Playing Today?" +msgstr "Tänään" + +#: ../template/i18n.pl:31 +msgid "Timers" +msgstr "Ajastimet" + +#: ../template/i18n.pl:36 +msgid "Not found" +msgstr "Ei löydy" + +#: ../template/i18n.pl:37 +msgid "The requested URL was not found on this server!" +msgstr "URL:ia ei löydy palvelimelta!" + +#: ../template/i18n.pl:38 +#, perl-format +msgid "The URL "%s" was not found on this server!" +msgstr "URL:ia "%s" ei löydy palvelimelta!" + +#: ../template/i18n.pl:39 +msgid "Forbidden" +msgstr "Kielletty" + +#: ../template/i18n.pl:40 +msgid "You don't have permission to access this function!" +msgstr "Puutteelliset käyttäjäoikeudet haluttuun toimintoon!" + +#: ../template/i18n.pl:41 +#, perl-format +msgid "Access to file "%s" denied!" +msgstr "Pääsy tiedostoon "%s" evätty!" + +#: ../template/i18n.pl:42 +#, perl-format +msgid "Can't open file "%s"!" +msgstr "Tiedostoa "%s" ei pystytä avaamaan!" + +#: ../template/i18n.pl:43 +#, perl-format +msgid "Can't connect to VDR at %s!" +msgstr "VDR:ään ei saada yhteyttä (%s)" + +#: ../template/i18n.pl:44 +#, perl-format +msgid "Error while sending command to VDR at %s" +msgstr "Komennon lähetys VDR:lle epäonnistui (%s)" + +#: ../template/i18n.pl:48 +msgid "Schedule" +msgstr "Ohjelmisto" + +#: ../template/i18n.pl:53 +msgid "" +"<b>Timer</b>\n" +"<p>VDR timer overview.</p>\n" +"<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=" +"\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" " +"valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the " +"timer on or off.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> " +"indicates overlapping timers. That's uncritical, as long as you have enough " +"DVB cards for the parallel recordings.<br>\n" +"To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=" +"\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=" +"\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, " +"select them using the checkboxes (<input type=\"checkbox\" checked>) and " +"click on <i>Delete selected timers</i> at the end of the list.\n" +"</p>" +msgstr "" +"<b>Ajastimet</b>\n" +"<p>Ajastimen saat päälle/pois valitsemalla <img src=\"bilder/" +"poempl_gruen.gif\" alt=\"päällä\" valign=\"center\"> " +"<i>Kyllä</i> tai <img src=\"bilder/poempl_grau.gif\" alt=\"pois\" " +"valign=\"center\"> <i>Ei</i> -vaihtoehdon <i>Aktiivinen</i>-sarakkeesta." +"<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"ongelma\" valign=\"center\"> -" +"kuvake ilmaisee päällekkäiset ajastimet. Pää" +"llekkäisistä ajastimista aiheutuu ongelmia vain, jos sinulla ei " +"ole tarpeeksi DVB-kortteja rinnakkaisiin tallennuksiin.<br>\n" +"<p>Valitse <img src=\"bilder/edit.gif\" alt=\"kynä\" valign=\"center\"> " +"muokataksesi ja <img src=\"bilder/delete.gif\" alt=\"pyyhekumi\" valign=" +"\"center\"> poistaaksesi ajastimen. Jos haluat poistaa useita ajastimia " +"kerralla, merkitse halutut ajastimet poistettaviksi (<input type=\"checkbox" +"\" checked>) ja käytä <i>Poista valitut ajastimet</i> -" +"painiketta.\n" +"</p>" + +#: ../template/i18n.pl:61 +#, fuzzy +msgid "" +"<p>No help available for <b>Add Timer:</b> yet. For adding text please " +"contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"Valittua opastetta ei ole saatavilla. Jos haluat lisätä tai " +"muokata opastetta, ota yhteyttä sähköpostitse: mail@andreas." +"vdr-developer.org." + +#: ../template/i18n.pl:65 +msgid "" +"<b>Auto Timer:</b><br>\n" +"<p>An overview of all Auto Timers</p>\n" +"<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)" +"activate that Auto Timer.</p>\n" +"<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for " +"editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> " +"for deleting an Auto Timer. If you want to delete multiple Auto Timers all " +"at once, you have to check the boxes (<input type=\"checkbox\" checked>) on " +"the right and finally click <i>Delete selected Auto Timers</i>.</p>" +msgstr "" +"<b>Automaattiset ajastimet</b><br>\n" +"<p>Automaattisen ajastimen saat asetettua päälle/pois valitsemalla " +"<i>Kyllä</i>- tai <i>Ei</i>-vaihtoehdon <i>Aktiivinen</i>-sarakkeesta.</" +"p>\n" +"<p>Valitse <img src=\"bilder/edit.gif\" alt=\"kynä\" valign=\"center\"> " +"muokataksesi ja <img src=\"bilder/delete.gif\" alt=\"pyyhekumi\" valign=" +"\"center\"> poistaaksesi automaattisen ajastimen. Jos haluat poistaa useita " +"automaattisia ajastimia kerralla, merkitse halutut ajastimet poistettaviksi " +"(<input type=\"checkbox\" checked>) ja käytä <i>Poista valitut " +"automaattiset tallenteet</i>-painiketta.</p>" + +#: ../template/i18n.pl:71 +msgid "" +"<b>Edit Auto Timer:</b><br>\n" +"<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or " +"more search terms and some other settings, that are looked for regularly in " +"the Electronic Program Guide (EPG). On match Auto Timer 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>\n" +"<p>Here you can set an Auto Timer. It's required to specify at least one " +"search item. Please have a look at <i>Search Items</i> if you need more " +"information on how to find reasonable search items and how to avoid unwanted " +"recordings.</p>\n" +"<b>Auto Timer Active:</b><br>\n" +"<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please " +"note that VDR timers already added by VDRAdmin are not deleted if you " +"deactivate this Auto Timer.</p>\n" +"<b>Search Items:</b><br>\n" +"<p>Choosing the right search items decides whether only the wanted broadcast " +"or broadcast having similar names or nothing gets recorded.</p>\n" +"<p>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 all items.</p>\n" +"<p>You'd better only use letters and numbers for search items, as EPGs often " +"miss colons, brackets and other characters.</p>\n" +"<p>Experts can also use regular expressions, but you have get needed " +"information from the VDRAdmin sources (undocumented feature).</p>" +msgstr "" +"<b>Automaattisen ajastimen muokkaus</b><br>\n" +"<p>Automaattiset ajastimet ovat olennainen osa VDRAdminia. Ne koostuvat " +"yhdestä tai useammasta hakuehdosta, joita etsitään sä" +"ännöllisesti sähköisestä ohjelmaoppaasta (EPG). " +"Ajastin lisätään automaattisesti VDR:ään " +"asetettujen hakuehtojen löydyttyä. Automaattiset ajastimet ovat " +"erittäin käteviä, jos tallennettavien ohjelmien lä" +"hetysajat sattuvat olemaan epäsäännölliset.</p>\n" +"<p>Automaattiset ajastimet tarvitsevat vähintään yhden " +"hakuehdon. <i>Automaattisen ajastimen hakuehdot</i>-kohdasta löytyy " +"lisätietoja, kuinka muodostetaan kunnolliset hakuehdot ja siten vä" +"ltytään turhilta ajastuksilta.</p>\n" +"<b>Automaattisen ajastimen aktivointi</b><br>\n" +"<p>Automaattinen ajastin asetetaan päälle/pois valitsemalla " +"<i>Kyllä</i>- tai <i>Ei</i>-vaihtoehto. VDRAdminin tekemiä " +"ajastimia ei poisteta VDR:n ajastinlistalta, jos automaattinen ajastin " +"asetetaan myöhemmin pois päältä.</p>\n" +"<b>Automaattiset ajastimen hakuehdot</b><br>\n" +"<p>Sopivilla hakuehdoilla voidaan luoda helposti ajastimia tietyille " +"ohjelmille tai samankaltaisille ohjelmille. Hakuehtoja kirjoitettaessa " +"kannattaa kuitenkin olla tarkkana, koska pienikin virhe voi aiheuttaa sen, " +"että haluttua ohjelmaa ei tallenneta koskaan.</p>\n" +"<p>Kirjainkokoa ei huomioida, joten termit "X-Files" ja "x-" +"files" tuottavat saman hakutuloksen. Jos halutaan useampia " +"hakutermejä, ne voidaan erottaa toisistaan välilyö" +"nnillä. Tällöin ajastin luodaan, jos kaikki hakutermit lö" +"ytyvät.</p>\n" +"<p>Hakuehdossa kannattaa käyttää pelkästään " +"kirjaimia tai numeroita, koska sähköisessä ohjelmaoppaassa " +"(EPG) ei välttämättä käytetä " +"erikoismerkkejä.</p>\n" +"<p>Myös säännöllisiä lausekkeita voidaan kä" +"yttää hakuehdossa. Lisätietoja tästä löytyy " +"VDRAdminin lähdekoodista.</p>" + +#: ../template/i18n.pl:83 +#, fuzzy +msgid "" +"<p>No help available for <b>Recordings:</b>. For adding text please contact " +"mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"Valittua opastetta ei ole saatavilla. Jos haluat lisätä tai " +"muokata opastetta, ota yhteyttä sähköpostitse: mail@andreas." +"vdr-developer.org." + +#: ../template/i18n.pl:87 +msgid "" +"<b>Configuration:</b>\n" +"<p>Here you can change general settings and base settings for timers, auto " +"timers, channel selection and streaming parameters.\n" +"</p>\n" +"<b>General Settings:</b>\n" +"<p>Here you can change the languge, the start page, the look, and the number " +"of DVB cards. Besides this the base settings for timers, auto timers, the " +"channel selection and streaming parameters can be configured here.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio" +"\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. " +"The default passwords for both accounts should be changed when VDRAdmin is " +"accessible over the Internet.\n" +"</p>\n" +"<b>Time Line:</b>\n" +"<p>Here you can see a time line of the channels, where you can select the " +"displayed time span.<br>\n" +"The bars show the titles of each show. A time bar starts half an hour before " +"now. A thin red line indicates the current position.<br>Programmed timers " +"are shown in different colors.\n" +"</p>\n" +"<b>Settings for auto timers:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the auto timer function. " +"You can also specify the interval, the the epg data is checked for updating " +"the auto timers.<br>\n" +"The life time of a recording can be set from 0 to 99 (99=live forever). This " +"value relates to the day, the recording was made. After the given life time, " +"a recording may be deleted to make room for new ones.<br>\n" +"The Priority indicates, what timer is prefered in case of a conflict.<br>\n" +"<b>Timer settings:</b>\n" +"<p>These are the same settings as for the auto timers, but apply to the " +"manually created timers.\n" +"</p>\n" +"\n" +"<b>Streaming settings:</b>\n" +"<p>Specify port, bandwith and VDR's recording directory here.\n" +"</p>\n" +"\n" +"<b>Channel Selection:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the channel selection for a " +"specific view.<br>\n" +"</p>\n" +msgstr "" +"<b>Asetukset</b>\n" +"<p>Yleisissä asetuksissa voit muokata mm. aloitussivua ja DVB-korttien " +"lukumäärää. Lisäksi voidaan mää" +"ritellä oletusasetukset ajastimille, automaattisille ajastimille, " +"kanavien valinnalle sekä suoratoistolle.\n" +"</p>\n" +"\n" +"<b>Käyttäjätunnistus</b>\n" +"<p>Voit sallia/estää <i>vierailijan käyttäjä" +"tunnuksen</i> valitsemalla <input type=\"radio\"> <i>Kyllä</i> tai " +"<input type=\"radio\" checked> <i>Ei</i> -vaihtoehdon. <b>Muista vaihtaa " +"oletussalasanat!</b>\n" +"</p>\n" +"\n" +"<b>Aikajana</b>\n" +"<p>Aikajana näyttää kanavien ohjelmiston valittuna " +"ajankohtana.<br>\n" +"Punainen viiva osoittaa nykyhetken ja olemassa olevat ajastimet nä" +"ytetään värillisinä.\n" +"</p>\n" +"\n" +"<b>Automaattiset ajastimet</b>\n" +"<p>Voit ottaa käyttöön automaattiset ajastimet valitsemalla " +"<input type=\"radio\"> <i>Kyllä</i> tai <input type=\"radio\" checked> " +"<i>Ei</i> -vaihtoehdon.\n" +"Voit myös määritellä päivitysvälin " +"automaattisille ajastimille.<p>\n" +"Tallenteen elinaika päivinä tallennuspäivämää" +"rästä voidaan asettaa välillä 0 ja 99 (99=ää" +"retön). Määritellyn elinajan loputtua tallenne tuhotaan " +"automaattisesti uusien tallenteiden tieltä. Päällekkä" +"isten ajastimien sattuessa keskinäinen tallennusjärjestys mä" +"äritellään prioriteettiasetuksella.<br>\n" +"</p>\n" +"\n" +"<b>Ajastimet</b>\n" +"<p>Nämä yksitellen luotavien ajastimien asetukset ovat vastaavat " +"kuin automaattisilla ajastimilla.\n" +"</p>\n" +"\n" +"<b>Suoratoisto</b>\n" +"<p>Määrittele käyttämäsi portti, kaistanleveys " +"sekä VDR:n tallennehakemisto.\n" +"</p>\n" +"\n" +"<b>Kanavavalinnat</b>\n" +"<p>Voit asettaa sivukohtaiset kanavavalinnat päälle/pois " +"valitsemalla <input type=\"radio\"> <i>Kyllä</i> tai <input type=\"radio" +"\" checked> <i>Ei</i> -vaihtoehdon.<br>\n" +"</p>\n" + +#: ../template/i18n.pl:117 +msgid "" +"No help available yet. For adding or changing text please contact " +"mail@andreas.vdr-developer.org." +msgstr "" +"Valittua opastetta ei ole saatavilla. Jos haluat lisätä tai " +"muokata opastetta, ota yhteyttä sähköpostitse: mail@andreas." +"vdr-developer.org." + +#~ msgid "Done Active:" +#~ msgstr "Käytä ajastinlokia:" + +#~ msgid "Language:" +#~ msgstr "Kieli:" + +#~ msgid "Where is your epg.data?" +#~ msgstr "Anna epg.data-tiedoston sijainti:" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..b9f3f1d --- /dev/null +++ b/po/fr.po @@ -0,0 +1,1116 @@ +# +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: VDRAdmin-0.97-AM3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-05-09 12:52+0200\n" +"PO-Revision-Date: 2005-05-04 17:40+0100\n" +"Last-Translator: Trois Six <trois.six@free.fr>\n" +"Language-Team: FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" +"X-Poedit-Country: FRANCE\n" + +#: ../template/default/index.html:18 +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:45 +msgid "Create New Timer" +msgstr "Créer Nouvelle Programmation" + +#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:45 +msgid "Edit Timer" +msgstr "Editer Programmation" + +#: ../template/default/timer_new.html:50 ../template/default/at_new.html:20 +#: ../template/default/at_timer_list.html:31 +#: ../template/default/config.html:20 ../template/default/timer_list.html:46 +#: ../template/default/rec_list.html:26 +msgid "Help" +msgstr "Aide" + +#: ../template/default/timer_new.html:67 +msgid "Timer Active:" +msgstr "Programmation Active :" + +#: ../template/default/timer_new.html:69 ../template/default/at_new.html:39 +#: ../template/default/at_new.html:43 ../template/default/at_new.html:145 +#: ../template/default/at_timer_list.html:110 +#: ../template/default/config.html:114 ../template/default/config.html:175 +#: ../template/default/config.html:267 ../template/default/config.html:276 +#: ../template/default/config.html:335 ../template/default/config.html:344 +#: ../template/default/config.html:353 ../template/default/config.html:362 +#: ../template/default/timer_list.html:295 +msgid "Yes" +msgstr "Oui" + +#: ../template/default/timer_new.html:70 ../template/default/at_new.html:40 +#: ../template/default/at_new.html:44 ../template/default/at_new.html:146 +#: ../template/default/at_timer_list.html:113 +#: ../template/default/config.html:115 ../template/default/config.html:176 +#: ../template/default/config.html:268 ../template/default/config.html:277 +#: ../template/default/config.html:336 ../template/default/config.html:345 +#: ../template/default/config.html:354 ../template/default/config.html:363 +#: ../template/default/timer_list.html:296 +msgid "No" +msgstr "Non" + +#: ../template/default/timer_new.html:76 +msgid "Auto Timer Checking:" +msgstr "Vérification Auto-Programmation :" + +#: ../template/default/timer_new.html:79 +msgid "Transmission Identification" +msgstr "Identification Transmission" + +#: ../template/default/timer_new.html:81 ../template/default/rec_list.html:63 +msgid "Time" +msgstr "Horaires" + +#: ../template/default/timer_new.html:82 ../template/default/tv.html:184 +msgid "off" +msgstr "off" + +#: ../template/default/timer_new.html:88 ../template/default/at_new.html:84 +#: ../template/default/prog_list.html:23 +#: ../template/default/prog_list2.html:29 +msgid "Channel:" +msgstr "Chaîne :" + +#: ../template/default/timer_new.html:100 +msgid "Day Of Recording:" +msgstr "Jour d'Enregistrement :" + +#: ../template/default/timer_new.html:104 ../template/default/at_new.html:72 +#: ../template/i18n.pl:3 +msgid "Monday" +msgstr "Lundi" + +#: ../template/default/timer_new.html:105 ../template/default/at_new.html:73 +#: ../template/i18n.pl:4 +msgid "Tuesday" +msgstr "Mardi" + +#: ../template/default/timer_new.html:106 ../template/default/at_new.html:74 +#: ../template/i18n.pl:5 +msgid "Wednesday" +msgstr "Mercredi" + +#: ../template/default/timer_new.html:107 ../template/default/at_new.html:75 +#: ../template/i18n.pl:6 +msgid "Thursday" +msgstr "Jeudi" + +#: ../template/default/timer_new.html:108 ../template/default/at_new.html:76 +#: ../template/i18n.pl:7 +msgid "Friday" +msgstr "Vendredi" + +#: ../template/default/timer_new.html:109 ../template/default/at_new.html:77 +#: ../template/i18n.pl:8 +msgid "Saturday" +msgstr "Samedi" + +#: ../template/default/timer_new.html:110 ../template/default/at_new.html:78 +#: ../template/i18n.pl:2 +msgid "Sunday" +msgstr "Dimanche" + +#: ../template/default/timer_new.html:116 +msgid "Start Time:" +msgstr "Heure De Début :" + +#: ../template/default/timer_new.html:121 +#: ../template/default/timer_new.html:132 ../template/default/at_new.html:102 +#: ../template/default/at_new.html:113 +#: ../template/default/prog_summary.html:17 +#: ../template/default/prog_summary.html:22 +#: ../template/default/prog_list.html:61 +#: ../template/default/prog_timeline.html:71 +#: ../template/default/prog_timeline.html:84 +#: ../template/default/prog_timeline.html:99 +#: ../template/default/prog_list2.html:71 +msgid "o'clock" +msgstr "Heure" + +#: ../template/default/timer_new.html:127 +msgid "End Time:" +msgstr "Heure De Fin :" + +#: ../template/default/timer_new.html:138 ../template/default/at_new.html:119 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:188 ../template/default/config.html:233 +#: ../template/default/timer_list.html:316 +msgid "Priority:" +msgstr "Priorité :" + +#: ../template/default/timer_new.html:144 ../template/default/at_new.html:127 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:194 ../template/default/config.html:227 +#: ../template/default/timer_list.html:316 +msgid "Lifetime:" +msgstr "Chronologie :" + +#: ../template/default/timer_new.html:150 +msgid "Title of Recording:" +msgstr "Titre d'Enregistrement :" + +#: ../template/default/timer_new.html:156 +msgid "Summary:" +msgstr "Sommaire :" + +#: ../template/default/timer_new.html:169 ../template/default/at_new.html:166 +#: ../template/default/config.html:403 +msgid "Save" +msgstr "Enregistrer" + +#: ../template/default/timer_new.html:170 ../template/default/at_new.html:167 +#: ../template/default/rec_edit.html:64 +msgid "Cancel" +msgstr "Annuler" + +#: ../template/default/left.html:34 ../template/default/prog_summary.html:7 +#: ../template/default/prog_timeline.html:7 ../template/i18n.pl:27 +msgid "What's On Now?" +msgstr "En ce Moment ?" + +#: ../template/default/left.html:38 ../template/default/prog_list2.html:6 +#: ../template/default/prog_list2.html:25 +msgid "Playing Today" +msgstr "Joué Aujourd'hui" + +#: ../template/default/left.html:42 ../template/default/config.html:141 +#: ../template/i18n.pl:29 +msgid "Timeline" +msgstr "Chronologie" + +#: ../template/default/left.html:46 ../template/default/prog_list.html:6 +#: ../template/i18n.pl:30 +msgid "Channels" +msgstr "Chaînes" + +#: ../template/default/left.html:50 ../template/default/config.html:222 +#: ../template/default/timer_list.html:6 +#: ../template/default/timer_list.html:30 +msgid "Timer" +msgstr "Programmation" + +#: ../template/default/left.html:54 ../template/default/at_timer_list.html:6 +#: ../template/default/at_timer_list.html:15 +#: ../template/default/config.html:168 +msgid "Auto Timer" +msgstr "Auto-Programmation" + +#: ../template/default/left.html:58 ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:15 ../template/i18n.pl:32 +msgid "Recordings" +msgstr "Enregistrements" + +#: ../template/default/left.html:62 ../template/default/config.html:5 +#: ../template/default/config.html:15 +msgid "Configuration" +msgstr "Configuration" + +#: ../template/default/left.html:66 ../template/default/rc.html:6 +msgid "Remote Control" +msgstr "Télécommande" + +#: ../template/default/left.html:70 +msgid "Watch TV" +msgstr "Regarder TV" + +#: ../template/default/left.html:77 +msgid "Search" +msgstr "Rechercher" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Add New Auto Timer" +msgstr "Ajouter Nouvelle Auto-Programmation" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Edit Auto Timer" +msgstr "Editer Auto-Programmation" + +#: ../template/default/at_new.html:36 +msgid "Auto Timer Active:" +msgstr "Auto-Programmation Active :" + +#: ../template/default/at_new.html:41 ../template/default/at_new.html:45 +msgid "oneshot" +msgstr "une fois" + +#: ../template/default/at_new.html:52 +msgid "Search Patterns:" +msgstr "Rechercher Modèles :" + +#: ../template/default/at_new.html:60 +msgid "Search in:" +msgstr "Rechercher dans :" + +#: ../template/default/at_new.html:62 +msgid "Title" +msgstr "Titre" + +#: ../template/default/at_new.html:63 +msgid "Subtitle" +msgstr "Sous-titre" + +#: ../template/default/at_new.html:64 +msgid "Description" +msgstr "Description" + +#: ../template/default/at_new.html:70 +msgid "Search only on these days:" +msgstr "Rechercher uniquement sur ces jours :" + +#: ../template/default/at_new.html:87 +msgid "all" +msgstr "tout" + +#: ../template/default/at_new.html:97 +msgid "Starts Before:" +msgstr "Début de recherche :" + +#: ../template/default/at_new.html:108 +msgid "Ends Before:" +msgstr "Fin de recherche :" + +#: ../template/default/at_new.html:135 +msgid "Episode:" +msgstr "Episode :" + +#: ../template/default/at_new.html:143 +msgid "Remember programmed timers:" +msgstr "Se souvenir des programmations :" + +#: ../template/default/at_new.html:152 +msgid "Directory:" +msgstr "Chemin :" + +#: ../template/default/noauth.html:5 ../template/default/noauth.html:11 +msgid "Authorization Required" +msgstr "Autorisation Requise" + +#: ../template/default/noauth.html:12 +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:22 +msgid "New Auto Timer" +msgstr "Nouvelle Auto-Programmation" + +#: ../template/default/at_timer_list.html:44 +#: ../template/default/timer_list.html:202 +msgid "Active" +msgstr "Actif" + +#: ../template/default/at_timer_list.html:55 +#: ../template/default/timer_list.html:213 +msgid "Channel" +msgstr "Chaîne" + +#: ../template/default/at_timer_list.html:66 +#: ../template/default/timer_list.html:235 +msgid "Start" +msgstr "Début" + +#: ../template/default/at_timer_list.html:77 +#: ../template/default/timer_list.html:246 +msgid "Stop" +msgstr "Fin" + +#: ../template/default/at_timer_list.html:88 +#: ../template/default/timer_list.html:257 +#: ../template/default/rec_list.html:74 +msgid "Name" +msgstr "Nom" + +#: ../template/default/at_timer_list.html:99 +#: ../template/default/timer_list.html:268 +#: ../template/default/rec_list.html:85 +msgid "Select all/none" +msgstr "Selectionner toutl/rien" + +#: ../template/default/at_timer_list.html:139 +#: ../template/default/timer_list.html:326 +msgid "Edit" +msgstr "Editer" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +msgid "Delete timer?" +msgstr "Supprimer Programmation ?" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +#: ../template/default/rec_list.html:137 +msgid "Delete" +msgstr "Supprimer" + +#: ../template/default/at_timer_list.html:166 +msgid "Force Update" +msgstr "Forcer Mise à jour" + +#: ../template/default/at_timer_list.html:178 +#: ../template/default/timer_list.html:350 +msgid "Delete all selected timers?" +msgstr "Supprimer Programmations Sélectionnées ?" + +#: ../template/default/at_timer_list.html:178 +msgid "Delete Selected Auto Timers" +msgstr "Supprimer Auto-Programmations Sélectionnées" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:74 +msgid "What's on:" +msgstr "En ce moment :" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:76 +msgid "now" +msgstr "maintenant" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:82 +msgid "at:" +msgstr "à :" + +#: ../template/default/prog_summary.html:43 +#: ../template/default/prog_list.html:19 ../template/default/rec_list.html:150 +#: ../template/default/prog_list2.html:52 +msgid "Stream" +msgstr "Flux" + +#: ../template/default/prog_summary.html:62 +msgid "more" +msgstr "suite" + +#: ../template/default/prog_summary.html:79 +msgid "TV select" +msgstr "Zapper" + +#: ../template/default/prog_summary.html:83 +msgid "Search for other show times" +msgstr "Rechercher d´autres moments de diffusion" + +#: ../template/default/prog_summary.html:87 +msgid "More Information" +msgstr "Plus d´Information" + +#: ../template/default/prog_summary.html:93 +msgid "Record" +msgstr "Enregistrer" + +#: ../template/default/config.html:38 +msgid "General Settings" +msgstr "Paramètres Généraux" + +#: ../template/default/config.html:44 +msgid "Template:" +msgstr "Gabarit :" + +#: ../template/default/config.html:57 +msgid "Skin:" +msgstr "Thème :" + +#: ../template/default/config.html:69 +msgid "Login Page:" +msgstr "Page de Démarrage :" + +#: ../template/default/config.html:81 +msgid "Number of DVB Cards:" +msgstr "Nbre de Cartes DVB :" + +#: ../template/default/config.html:95 +msgid "Identification" +msgstr "Identification" + +#: ../template/default/config.html:100 +msgid "Username:" +msgstr "Identifiant :" + +#: ../template/default/config.html:106 +msgid "Password:" +msgstr "Mot de Passe :" + +#: ../template/default/config.html:112 +msgid "Guest Account:" +msgstr "Compte d'Invité :" + +#: ../template/default/config.html:121 +msgid "Guest Username:" +msgstr "Identifiant Invité :" + +#: ../template/default/config.html:127 +msgid "Guest Password:" +msgstr "Mot de Passe Invité :" + +#: ../template/default/config.html:146 +msgid "Hours:" +msgstr "Heures :" + +#: ../template/default/config.html:152 +msgid "Times:" +msgstr "Périodes :" + +#: ../template/default/config.html:173 +msgid "Active:" +msgstr "Active :" + +#: ../template/default/config.html:182 +msgid "Timeout:" +msgstr "Timeout :" + +#: ../template/default/config.html:183 ../template/default/config.html:240 +#: ../template/default/config.html:246 +msgid "minutes" +msgstr "minutes" + +#: ../template/default/config.html:201 ../template/default/config.html:239 +msgid "Time Margin at Start:" +msgstr "Marge avant :" + +#: ../template/default/config.html:207 ../template/default/config.html:245 +msgid "Time Margin at Stop:" +msgstr "Marge après :" + +#: ../template/default/config.html:260 +msgid "Streaming" +msgstr "Emission de Flux" + +#: ../template/default/config.html:265 +msgid "Live Streaming" +msgstr "Emission de Flux en direct" + +#: ../template/default/config.html:274 +msgid "Recordings Streaming" +msgstr "Emission d'Enregistrements" + +#: ../template/default/config.html:283 +msgid "HTTP Port of Streamdev (also possible 3000/ts):" +msgstr "Port HTTP Streamdev (aussi possible 3000/ts) :" + +#: ../template/default/config.html:289 +msgid "Path to VDR Recordings:" +msgstr "Chemin des Enregistrements VDR :" + +#: ../template/default/config.html:296 +msgid "Bandwidth of Streams:" +msgstr "Bande Passante Flux :" + +#: ../template/default/config.html:323 +msgid "Channel Selections" +msgstr "Sélections Chaînes" + +#: ../template/default/config.html:333 +msgid "In "Timeline"?" +msgstr "Dans "Chronologie" ?" + +#: ../template/default/config.html:342 +msgid "In "Channels" / "Playing Today"?" +msgstr "Dans "Chaînes" / "Joué Aujourd'hui" ?" + +#: ../template/default/config.html:351 +msgid "In "What's On Now"?" +msgstr "Dans "En ce Moment" ?" + +#: ../template/default/config.html:360 +msgid "In "Auto Timer"?" +msgstr "Dans "Auto-Programmations" ?" + +#: ../template/default/config.html:404 +msgid "Apply" +msgstr "Appliquer" + +#: ../template/default/timer_list.html:38 +msgid "New Timer" +msgstr "Nouvelle Programmation" + +#: ../template/default/timer_list.html:224 +#: ../template/default/rec_list.html:52 +msgid "Date" +msgstr "Date" + +#: ../template/default/timer_list.html:278 +msgid "This timer is inactive!" +msgstr "Cette Programmation est inactive !" + +#: ../template/default/timer_list.html:281 +msgid "This timer is impossible!" +msgstr "Cette Programmation est impossible !" + +#: ../template/default/timer_list.html:284 +msgid "No more timers possible!" +msgstr "Pas plus de Programmations possibles !" + +#: ../template/default/timer_list.html:287 +msgid "Timer OK." +msgstr "Programmation OK." + +#: ../template/default/timer_list.html:293 +msgid "Edit timer status?" +msgstr "Changer Statut Programmation ?" + +#: ../template/default/timer_list.html:297 +msgid "VPS" +msgstr "VPS" + +#: ../template/default/timer_list.html:298 +msgid "Auto" +msgstr "Auto" + +#: ../template/default/timer_list.html:350 +msgid "Delete Selected Timers" +msgstr "Supprimer Programmations Sélectionnées" + +#: ../template/default/prog_list.html:29 +#: ../template/default/prog_list2.html:34 +msgid "Go!" +msgstr "Ok !" + +#: ../template/default/error.html:6 +msgid "Error!" +msgstr "Erreur !" + +#: ../template/default/tv.html:5 ../template/default/tv_flash.html:4 +msgid "TV" +msgstr "TV" + +#: ../template/default/tv.html:182 +msgid "Interval:" +msgstr "Intervalle :" + +#: ../template/default/tv.html:185 ../template/default/tv.html:186 +#: ../template/default/tv.html:187 ../template/default/tv.html:188 +#: ../template/default/tv.html:189 ../template/default/tv.html:190 +#: ../template/default/tv.html:191 +msgid "sec." +msgstr "sec." + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "G" +msgstr "R" + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "Grab the picture!" +msgstr "Rafraîchir" + +#: ../template/default/tv.html:194 +msgid "Size:" +msgstr "Taille :" + +#: ../template/default/prog_detail.html:28 +msgid "close" +msgstr "fermer" + +#: ../template/default/prog_detail.html:30 +msgid "view" +msgstr "vue" + +#: ../template/default/prog_detail.html:31 +msgid "record" +msgstr "enregistrer" + +#: ../template/default/prog_detail.html:32 +msgid "search" +msgstr "rechercher" + +#: ../template/default/prog_detail.html:34 +msgid "Lookup movie in the Internet-Movie-Database (IMDb)" +msgstr "Plus de details sur Internet" + +#: ../template/default/rec_list.html:19 +msgid "Total:" +msgstr "Total :" + +#: ../template/default/rec_list.html:19 ../template/default/rec_list.html:20 +msgid "h" +msgstr "h" + +#: ../template/default/rec_list.html:20 +msgid "Free:" +msgstr "Libre :" + +#: ../template/default/rec_list.html:100 +msgid "Total" +msgstr "Total" + +#: ../template/default/rec_list.html:109 ../template/default/rec_list.html:112 +msgid "New" +msgstr "Nouveau" + +#: ../template/default/rec_list.html:130 ../template/default/rec_edit.html:63 +msgid "Rename" +msgstr "Renommer" + +#: ../template/default/rec_list.html:137 +msgid "Delete recording?" +msgstr "Supprimer l'Enregistrement ?" + +#: ../template/default/rec_list.html:168 +msgid "Commands:" +msgstr "Commandes :" + +#: ../template/default/rec_list.html:174 +msgid "Run" +msgstr "Exécuter" + +#: ../template/default/rec_list.html:174 +msgid "Really run this command?" +msgstr "Voulez-vous réellement exécuter cette commande ?" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete all selected recordings?" +msgstr "Supprimer Enregistrements Sélectionnés ?" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete Selected Recordings" +msgstr "Supprimer Enregistrements Sélectionnés" + +#: ../template/default/prog_timeline.html:99 +msgid "Timeline:" +msgstr "Chronologie :" + +#: ../template/default/prog_timeline.html:99 +msgid "to" +msgstr "à" + +#: ../template/default/rec_edit.html:6 ../template/default/rec_edit.html:15 +msgid "Rename Recording" +msgstr "Renommer l'Enregistrement" + +#: ../template/default/rec_edit.html:38 +msgid "Original Name of Recording:" +msgstr "Nom Original d'Enregistrement :" + +#: ../template/default/rec_edit.html:44 +msgid "New Name of Recording:" +msgstr "Nouveau Nom d'Enregistrement :" + +#: ../vdradmind.pl:222 +msgid "What's your VDR hostname (e.g video.intra.net)?" +msgstr "Quel est votre Nom d'Hôte (ex video.intra.net) ?" + +#: ../vdradmind.pl:223 +msgid "On which port does VDR listen to SVDRP queries?" +msgstr "Sur quel port VDR écoute les requêtes SVDRP ?" + +#: ../vdradmind.pl:224 +msgid "On which address should VDRAdmin listen (0.0.0.0 for any)?" +msgstr "Sur quel adresse VDRAdmin doit-il écouter (0.0.0.0 pour toutes) ?" + +#: ../vdradmind.pl:225 +msgid "On which port should VDRAdmin listen?" +msgstr "Sur quel port VDRAdmin doit-il écouter ?" + +#: ../vdradmind.pl:226 +msgid "Username?" +msgstr "Identifiant ?" + +#: ../vdradmind.pl:227 +msgid "Password?" +msgstr "Mot de Passe ?" + +#: ../vdradmind.pl:228 +msgid "Where are your recordings stored?" +msgstr "Où vos enregistrements sont-ils stockés ?" + +#: ../vdradmind.pl:229 +msgid "Where are your VDR's configuration files located?" +msgstr "Où sont vos fichiers de configuration de VDR ?" + +#: ../vdradmind.pl:235 +msgid "Config file written successfully." +msgstr "Fichier de configuration écrit avec succès." + +#: ../vdradmind.pl:282 +#, perl-format +msgid "vdradmind.pl %s started with pid %d." +msgstr "vdradmin.pl %s a démarré avec le pid %d." + +#: ../template/i18n.pl:12 +msgid "January" +msgstr "Janvier" + +#: ../template/i18n.pl:13 +msgid "February" +msgstr "Février" + +#: ../template/i18n.pl:14 +msgid "March" +msgstr "Mars" + +#: ../template/i18n.pl:15 +msgid "April" +msgstr "Avril" + +#: ../template/i18n.pl:16 +msgid "May" +msgstr "Mai" + +#: ../template/i18n.pl:17 +msgid "June" +msgstr "Juin" + +#: ../template/i18n.pl:18 +msgid "July" +msgstr "Juillet" + +#: ../template/i18n.pl:19 +msgid "August" +msgstr "Août" + +#: ../template/i18n.pl:20 +msgid "September" +msgstr "Septembre" + +#: ../template/i18n.pl:21 +msgid "October" +msgstr "Octobre" + +#: ../template/i18n.pl:22 +msgid "November" +msgstr "Novembre" + +#: ../template/i18n.pl:23 +msgid "December" +msgstr "Décembre" + +#: ../template/i18n.pl:28 +msgid "Playing Today?" +msgstr "Aujourd'hui ?" + +#: ../template/i18n.pl:31 +msgid "Timers" +msgstr "Programmations" + +#: ../template/i18n.pl:36 +msgid "Not found" +msgstr "Non trouvé" + +#: ../template/i18n.pl:37 +msgid "The requested URL was not found on this server!" +msgstr "" +"L'URL demandée n'a pas été trouvée sur le " +"serveur !" + +#: ../template/i18n.pl:38 +#, perl-format +msgid "The URL "%s" was not found on this server!" +msgstr "" +"L'URL "%s" n'a pas été trouvée sur le " +"serveur !" + +#: ../template/i18n.pl:39 +msgid "Forbidden" +msgstr "Interdit" + +#: ../template/i18n.pl:40 +msgid "You don't have permission to access this function!" +msgstr "" +"Vous n'avez pas la permission d'accéder à cette fonction !" + +#: ../template/i18n.pl:41 +#, perl-format +msgid "Access to file "%s" denied!" +msgstr "Accès au fichier "%s" interdit !" + +#: ../template/i18n.pl:42 +#, perl-format +msgid "Can't open file "%s"!" +msgstr "Ne peut pas ouvrir le fichier "%s" !" + +#: ../template/i18n.pl:43 +#, perl-format +msgid "Can't connect to VDR at %s!" +msgstr "Ne peut se connecter à %s !" + +#: ../template/i18n.pl:44 +#, perl-format +msgid "Error while sending command to VDR at %s" +msgstr "Erreur en envoyant la commande à %s" + +#: ../template/i18n.pl:48 +msgid "Schedule" +msgstr "Programmateur" + +#: ../template/i18n.pl:53 +msgid "" +"<b>Timer</b>\n" +"<p>VDR timer overview.</p>\n" +"<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=" +"\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" " +"valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the " +"timer on or off.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> " +"indicates overlapping timers. That's uncritical, as long as you have enough " +"DVB cards for the parallel recordings.<br>\n" +"To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=" +"\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=" +"\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, " +"select them using the checkboxes (<input type=\"checkbox\" checked>) and " +"click on <i>Delete selected timers</i> at the end of the list.\n" +"</p>" +msgstr "" +"<b>Programmation</b>\n" +"<p>Présentation des programmations de VDR timer.</p>\n" +"<p>Cliquer sur |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=" +"\"center\"> <i>On</i> | ou |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" " +"valign=\"center\"> <i>Off</i> | dans la colonne <i>Active</i>, change " +"l'activation de la programmation.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problème\" valign=\"center" +"\"> indique des programmations qui se chevauchent. Ceci n'est pas critique, " +"tant que vous avez le nombre de cartes DVB correspondantes pour enregistrer " +"en parallèle.<br>\n" +"Pour éditer une programmation, cliquez sur <img src=\"bilder/edit.gif" +"\" alt=\"Editer\" valign=\"center\">, pour supprimer une programmation " +"utilisez <img src=\"bilder/delete.gif\" alt=\"Supprimer\" valign=\"center" +"\">. Pour supprimer plus d'une programmation à la fois, sé" +"lectionnez les programmations à l'aide des cases à cocher " +"(<input type=\"checkbox\" checked>) et cliquez sur <i>Supprimer les " +"programmations sélectionnées</i> à la fin de la liste.\n" +"</p>" + +#: ../template/i18n.pl:61 +#, fuzzy +msgid "" +"<p>No help available for <b>Add Timer:</b> yet. For adding text please " +"contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"Aucune aide n'est disponible. Pour ajouter ou changer du texte contactez " +"mail@andreas.vdr-developer.org." + +#: ../template/i18n.pl:65 +msgid "" +"<b>Auto Timer:</b><br>\n" +"<p>An overview of all Auto Timers</p>\n" +"<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)" +"activate that Auto Timer.</p>\n" +"<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for " +"editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> " +"for deleting an Auto Timer. If you want to delete multiple Auto Timers all " +"at once, you have to check the boxes (<input type=\"checkbox\" checked>) on " +"the right and finally click <i>Delete selected Auto Timers</i>.</p>" +msgstr "" +"<b>Auto-Programmation :</b><br>\n" +"<p>Aperçu général des Auto-Programmations</p>\n" +"<p>Cliquer sur <i>Oui</i> ou <i>Non</i> dans la colonne <i>Active</i> pour " +"activer/désactiver cette Auto-Programmation.</p>\n" +"<p>Utiliser <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> pour " +"éditer et <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=" +"\"center\"> pour supprimer une Auto-Programmation. Si vous voulez supprimer " +"des Auto-Programmations multiples d'un seul coup, vous devez cocher les " +"cases (<input type=\"checkbox\" checked>) a droite et finalement cliquer sur " +"<i>Supprimer Auto-Programmations Sélectionnées</i>.</p>" + +#: ../template/i18n.pl:71 +msgid "" +"<b>Edit Auto Timer:</b><br>\n" +"<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or " +"more search terms and some other settings, that are looked for regularly in " +"the Electronic Program Guide (EPG). On match Auto Timer 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>\n" +"<p>Here you can set an Auto Timer. It's required to specify at least one " +"search item. Please have a look at <i>Search Items</i> if you need more " +"information on how to find reasonable search items and how to avoid unwanted " +"recordings.</p>\n" +"<b>Auto Timer Active:</b><br>\n" +"<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please " +"note that VDR timers already added by VDRAdmin are not deleted if you " +"deactivate this Auto Timer.</p>\n" +"<b>Search Items:</b><br>\n" +"<p>Choosing the right search items decides whether only the wanted broadcast " +"or broadcast having similar names or nothing gets recorded.</p>\n" +"<p>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 all items.</p>\n" +"<p>You'd better only use letters and numbers for search items, as EPGs often " +"miss colons, brackets and other characters.</p>\n" +"<p>Experts can also use regular expressions, but you have get needed " +"information from the VDRAdmin sources (undocumented feature).</p>" +msgstr "" +"<b>Editer une Programmation:</b><br>\n" +"<p>L'Auto-Programmation est une caractéristique clé de " +"VDRAdmin. Une Auto-Programmation consiste en un ou plusieurs articles de " +"recherche et de quelques autres paramètres, ceci est recherché " +"régulièrement dans le Guide de Programme Electronique (EPG). " +"Sur combinaison l'Auto-Programmation ajoute une programmation " +"automatiquement dans VDR pour cette émission. Ceci est très " +"appréciable pour les feuilletons ou les films diffusés " +"irrégulièrement et que vous ne voulez pas manquer.</p>\n" +"<p>Ici vous pouvez régler une Auto-Programmation. Il est exigé " +"de spécifier au moins un article de recherche. Veuillez aller voir " +"à <i>Rechercher Articles</i> si vous avez besoin de plus " +"d'information sur la fa?on dont trouver les articles de recherche et comment " +"éviter des enregistrements superflus.</p>\n" +"<b>Auto-Programmation Active :</b><br>\n" +"<p><i>Oui</i> active et <i>Non</i> désactive l'Auto-Programmation. " +"Veuillez noter que les programmations de VDR déjà ajouté" +"es par VDRAdmin ne sont pas supprimées si vous désactivez " +"l'Auto-Programmation.</p>\n" +"<b>Rechercher Articles :</b><br>\n" +"<p>Le choix des éléments de recherche conditionne " +"l'enregistrement de la diffusion, d'une diffusion avec un nom similaire, ou " +"aucun enregistrement</p>\n" +"<p>La casse n'a pas d'importance,si "X-files" sélectionne " +"tout "x-files" aussi.Vous pouvez choisir plusieurs é" +"léments de recherche séparés par des espaces.Seul les " +"diffusions contenant tous les éléments seront sé" +"lectionnées.</p>\n" +"<p>Il est préférable d'utiliser uniquement des lettres et des " +"nombres pour les éléments de recherche,les EPG n'ont pas " +"souvent d'autres caractères tels les deux points ou parenthè" +"ses.</p>\n" +"<p>Les experts peuvent utiliser aussi des expressions courantes, mais pour " +"plus d'informations, regardez les sources de VDRAdmin (fonctions non " +"documentées).</p>" + +#: ../template/i18n.pl:83 +#, fuzzy +msgid "" +"<p>No help available for <b>Recordings:</b>. For adding text please contact " +"mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" +"Aucune aide n'est disponible. Pour ajouter ou changer du texte contactez " +"mail@andreas.vdr-developer.org." + +#: ../template/i18n.pl:87 +msgid "" +"<b>Configuration:</b>\n" +"<p>Here you can change general settings and base settings for timers, auto " +"timers, channel selection and streaming parameters.\n" +"</p>\n" +"<b>General Settings:</b>\n" +"<p>Here you can change the languge, the start page, the look, and the number " +"of DVB cards. Besides this the base settings for timers, auto timers, the " +"channel selection and streaming parameters can be configured here.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio" +"\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. " +"The default passwords for both accounts should be changed when VDRAdmin is " +"accessible over the Internet.\n" +"</p>\n" +"<b>Time Line:</b>\n" +"<p>Here you can see a time line of the channels, where you can select the " +"displayed time span.<br>\n" +"The bars show the titles of each show. A time bar starts half an hour before " +"now. A thin red line indicates the current position.<br>Programmed timers " +"are shown in different colors.\n" +"</p>\n" +"<b>Settings for auto timers:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the auto timer function. " +"You can also specify the interval, the the epg data is checked for updating " +"the auto timers.<br>\n" +"The life time of a recording can be set from 0 to 99 (99=live forever). This " +"value relates to the day, the recording was made. After the given life time, " +"a recording may be deleted to make room for new ones.<br>\n" +"The Priority indicates, what timer is prefered in case of a conflict.<br>\n" +"<b>Timer settings:</b>\n" +"<p>These are the same settings as for the auto timers, but apply to the " +"manually created timers.\n" +"</p>\n" +"\n" +"<b>Streaming settings:</b>\n" +"<p>Specify port, bandwith and VDR's recording directory here.\n" +"</p>\n" +"\n" +"<b>Channel Selection:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the channel selection for a " +"specific view.<br>\n" +"</p>\n" +msgstr "" +"<b>Configuration :</b>\n" +"<p>Ici vou pouvez changer les paramètres généraux et " +"les paramètres par défaut des programmations, auto-" +"programmations, sélections de chaine, émissions de flux.\n" +"</p>\n" +"<b>Paramètres Généraux :</b>\n" +"<p>Ici vous pouvez changer la langue, la page de démarrage, les " +"thèmes, et le nombre de cartes DVB.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Cliquer sur |<input type=\"radio\"> <i>oui</i> | ou |<input type=\"radio" +"\" checked> <i>non</i> | active ou désactive le compte " +"<i>invité</i>. Il est conseillé de changer les mots de passe " +"par défaut si vous permettez l'accès à VDRAdmin depuis " +"Internet.\n" +"</p>\n" +"<b>Chronologie :</b>\n" +"<p>Ici vous pouvez voir par l'intermédiaire d'une chronologie les " +"émissions à venir sur toutes les chaines.<br>\n" +"A l'intérieur des barres vous pouvez voir les titres de chaque " +"émisssion. Une barre de temps commence 1h30 avant maintenant. La fine " +"barre rouge indique la position courante.<br>Les programmations apparaissent " +"avec des couleurs différentes.\n" +"</p>\n" +"<b>Paramètres pour les enregistrements automatiques :</b>\n" +"<p>Cliquer sur |<input type=\"radio\"> <i>Oui</i> | ou |<input type=\"radio" +"\" checked> <i>Non</i> | active ou désactive la fonction programmes " +"automatiques. Vous pouvez aussi spécifier l'intervalle pendant lequel " +"les données epg sont scrutées pour mettre à jour les " +"programmes automatiques.<br>\n" +"La durée de vie d'un enregistrement peut être établie de 0 " +"à 99 (99=vit pour toujours). Cette valeur réfère au " +"jour ou l'enregistrement a été fait. Une fois la durée " +"de vie dépassée, l'enregistrement est supprimé.<br>\n" +"La priorité indique quel programme est prépondérant en " +"cas de conflit.<br>\n" +"<b>Paramètres des programmations :</b>\n" +"<p>Voir les paramètres des auto-programmations qui sont identiques.\n" +"</p>\n" +"\n" +"<b>Paramètres pour l'Emission de Flux :</b>\n" +"<p>Vous pouvez spécifier le port, la bande passante et le ré" +"pertoire des enregistrements ici.\n" +"</p>\n" +"\n" +"<b>Sélection de Chaînes :</b>\n" +"<p>Cliquer sur |<input type=\"radio\"> <i>Oui</i> | ou |<input type=\"radio" +"\" checked> <i>Non</i> | active ou désactive une sélection de " +"chaînes pour une vue spécifique.<br>\n" +"</p>\n" + +#: ../template/i18n.pl:117 +msgid "" +"No help available yet. For adding or changing text please contact " +"mail@andreas.vdr-developer.org." +msgstr "" +"Aucune aide n'est disponible. Pour ajouter ou changer du texte contactez " +"mail@andreas.vdr-developer.org." + +#~ msgid "Done Active:" +#~ msgstr "Actif Prêt :" + +#~ msgid "Language:" +#~ msgstr "Langue :" + +#~ msgid "Where is your epg.data?" +#~ msgstr "Où est votre epg.data ?" diff --git a/po/vdradmin.pot b/po/vdradmin.pot new file mode 100644 index 0000000..88aa8f6 --- /dev/null +++ b/po/vdradmin.pot @@ -0,0 +1,968 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-05-09 12:52+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../template/default/index.html:18 +msgid "Your Browser does not support frames!" +msgstr "" + +#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:45 +msgid "Create New Timer" +msgstr "" + +#: ../template/default/timer_new.html:6 ../template/default/timer_new.html:45 +msgid "Edit Timer" +msgstr "" + +#: ../template/default/timer_new.html:50 ../template/default/at_new.html:20 +#: ../template/default/at_timer_list.html:31 +#: ../template/default/config.html:20 ../template/default/timer_list.html:46 +#: ../template/default/rec_list.html:26 +msgid "Help" +msgstr "" + +#: ../template/default/timer_new.html:67 +msgid "Timer Active:" +msgstr "" + +#: ../template/default/timer_new.html:69 ../template/default/at_new.html:39 +#: ../template/default/at_new.html:43 ../template/default/at_new.html:145 +#: ../template/default/at_timer_list.html:110 +#: ../template/default/config.html:114 ../template/default/config.html:175 +#: ../template/default/config.html:267 ../template/default/config.html:276 +#: ../template/default/config.html:335 ../template/default/config.html:344 +#: ../template/default/config.html:353 ../template/default/config.html:362 +#: ../template/default/timer_list.html:295 +msgid "Yes" +msgstr "" + +#: ../template/default/timer_new.html:70 ../template/default/at_new.html:40 +#: ../template/default/at_new.html:44 ../template/default/at_new.html:146 +#: ../template/default/at_timer_list.html:113 +#: ../template/default/config.html:115 ../template/default/config.html:176 +#: ../template/default/config.html:268 ../template/default/config.html:277 +#: ../template/default/config.html:336 ../template/default/config.html:345 +#: ../template/default/config.html:354 ../template/default/config.html:363 +#: ../template/default/timer_list.html:296 +msgid "No" +msgstr "" + +#: ../template/default/timer_new.html:76 +msgid "Auto Timer Checking:" +msgstr "" + +#: ../template/default/timer_new.html:79 +msgid "Transmission Identification" +msgstr "" + +#: ../template/default/timer_new.html:81 ../template/default/rec_list.html:63 +msgid "Time" +msgstr "" + +#: ../template/default/timer_new.html:82 ../template/default/tv.html:184 +msgid "off" +msgstr "" + +#: ../template/default/timer_new.html:88 ../template/default/at_new.html:84 +#: ../template/default/prog_list.html:23 +#: ../template/default/prog_list2.html:29 +msgid "Channel:" +msgstr "" + +#: ../template/default/timer_new.html:100 +msgid "Day Of Recording:" +msgstr "" + +#: ../template/default/timer_new.html:104 ../template/default/at_new.html:72 +#: ../template/i18n.pl:3 +msgid "Monday" +msgstr "" + +#: ../template/default/timer_new.html:105 ../template/default/at_new.html:73 +#: ../template/i18n.pl:4 +msgid "Tuesday" +msgstr "" + +#: ../template/default/timer_new.html:106 ../template/default/at_new.html:74 +#: ../template/i18n.pl:5 +msgid "Wednesday" +msgstr "" + +#: ../template/default/timer_new.html:107 ../template/default/at_new.html:75 +#: ../template/i18n.pl:6 +msgid "Thursday" +msgstr "" + +#: ../template/default/timer_new.html:108 ../template/default/at_new.html:76 +#: ../template/i18n.pl:7 +msgid "Friday" +msgstr "" + +#: ../template/default/timer_new.html:109 ../template/default/at_new.html:77 +#: ../template/i18n.pl:8 +msgid "Saturday" +msgstr "" + +#: ../template/default/timer_new.html:110 ../template/default/at_new.html:78 +#: ../template/i18n.pl:2 +msgid "Sunday" +msgstr "" + +#: ../template/default/timer_new.html:116 +msgid "Start Time:" +msgstr "" + +#: ../template/default/timer_new.html:121 +#: ../template/default/timer_new.html:132 ../template/default/at_new.html:102 +#: ../template/default/at_new.html:113 +#: ../template/default/prog_summary.html:17 +#: ../template/default/prog_summary.html:22 +#: ../template/default/prog_list.html:61 +#: ../template/default/prog_timeline.html:71 +#: ../template/default/prog_timeline.html:84 +#: ../template/default/prog_timeline.html:99 +#: ../template/default/prog_list2.html:71 +msgid "o'clock" +msgstr "" + +#: ../template/default/timer_new.html:127 +msgid "End Time:" +msgstr "" + +#: ../template/default/timer_new.html:138 ../template/default/at_new.html:119 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:188 ../template/default/config.html:233 +#: ../template/default/timer_list.html:316 +msgid "Priority:" +msgstr "" + +#: ../template/default/timer_new.html:144 ../template/default/at_new.html:127 +#: ../template/default/at_timer_list.html:133 +#: ../template/default/config.html:194 ../template/default/config.html:227 +#: ../template/default/timer_list.html:316 +msgid "Lifetime:" +msgstr "" + +#: ../template/default/timer_new.html:150 +msgid "Title of Recording:" +msgstr "" + +#: ../template/default/timer_new.html:156 +msgid "Summary:" +msgstr "" + +#: ../template/default/timer_new.html:169 ../template/default/at_new.html:166 +#: ../template/default/config.html:403 +msgid "Save" +msgstr "" + +#: ../template/default/timer_new.html:170 ../template/default/at_new.html:167 +#: ../template/default/rec_edit.html:64 +msgid "Cancel" +msgstr "" + +#: ../template/default/left.html:34 ../template/default/prog_summary.html:7 +#: ../template/default/prog_timeline.html:7 ../template/i18n.pl:27 +msgid "What's On Now?" +msgstr "" + +#: ../template/default/left.html:38 ../template/default/prog_list2.html:6 +#: ../template/default/prog_list2.html:25 +msgid "Playing Today" +msgstr "" + +#: ../template/default/left.html:42 ../template/default/config.html:141 +#: ../template/i18n.pl:29 +msgid "Timeline" +msgstr "" + +#: ../template/default/left.html:46 ../template/default/prog_list.html:6 +#: ../template/i18n.pl:30 +msgid "Channels" +msgstr "" + +#: ../template/default/left.html:50 ../template/default/config.html:222 +#: ../template/default/timer_list.html:6 +#: ../template/default/timer_list.html:30 +msgid "Timer" +msgstr "" + +#: ../template/default/left.html:54 ../template/default/at_timer_list.html:6 +#: ../template/default/at_timer_list.html:15 +#: ../template/default/config.html:168 +msgid "Auto Timer" +msgstr "" + +#: ../template/default/left.html:58 ../template/default/rec_list.html:6 +#: ../template/default/rec_list.html:15 ../template/i18n.pl:32 +msgid "Recordings" +msgstr "" + +#: ../template/default/left.html:62 ../template/default/config.html:5 +#: ../template/default/config.html:15 +msgid "Configuration" +msgstr "" + +#: ../template/default/left.html:66 ../template/default/rc.html:6 +msgid "Remote Control" +msgstr "" + +#: ../template/default/left.html:70 +msgid "Watch TV" +msgstr "" + +#: ../template/default/left.html:77 +msgid "Search" +msgstr "" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Add New Auto Timer" +msgstr "" + +#: ../template/default/at_new.html:6 ../template/default/at_new.html:16 +msgid "Edit Auto Timer" +msgstr "" + +#: ../template/default/at_new.html:36 +msgid "Auto Timer Active:" +msgstr "" + +#: ../template/default/at_new.html:41 ../template/default/at_new.html:45 +msgid "oneshot" +msgstr "" + +#: ../template/default/at_new.html:52 +msgid "Search Patterns:" +msgstr "" + +#: ../template/default/at_new.html:60 +msgid "Search in:" +msgstr "" + +#: ../template/default/at_new.html:62 +msgid "Title" +msgstr "" + +#: ../template/default/at_new.html:63 +msgid "Subtitle" +msgstr "" + +#: ../template/default/at_new.html:64 +msgid "Description" +msgstr "" + +#: ../template/default/at_new.html:70 +msgid "Search only on these days:" +msgstr "" + +#: ../template/default/at_new.html:87 +msgid "all" +msgstr "" + +#: ../template/default/at_new.html:97 +msgid "Starts Before:" +msgstr "" + +#: ../template/default/at_new.html:108 +msgid "Ends Before:" +msgstr "" + +#: ../template/default/at_new.html:135 +msgid "Episode:" +msgstr "" + +#: ../template/default/at_new.html:143 +msgid "Remember programmed timers:" +msgstr "" + +#: ../template/default/at_new.html:152 +msgid "Directory:" +msgstr "" + +#: ../template/default/noauth.html:5 ../template/default/noauth.html:11 +msgid "Authorization Required" +msgstr "" + +#: ../template/default/noauth.html:12 +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 "" + +#: ../template/default/at_timer_list.html:22 +msgid "New Auto Timer" +msgstr "" + +#: ../template/default/at_timer_list.html:44 +#: ../template/default/timer_list.html:202 +msgid "Active" +msgstr "" + +#: ../template/default/at_timer_list.html:55 +#: ../template/default/timer_list.html:213 +msgid "Channel" +msgstr "" + +#: ../template/default/at_timer_list.html:66 +#: ../template/default/timer_list.html:235 +msgid "Start" +msgstr "" + +#: ../template/default/at_timer_list.html:77 +#: ../template/default/timer_list.html:246 +msgid "Stop" +msgstr "" + +#: ../template/default/at_timer_list.html:88 +#: ../template/default/timer_list.html:257 +#: ../template/default/rec_list.html:74 +msgid "Name" +msgstr "" + +#: ../template/default/at_timer_list.html:99 +#: ../template/default/timer_list.html:268 +#: ../template/default/rec_list.html:85 +msgid "Select all/none" +msgstr "" + +#: ../template/default/at_timer_list.html:139 +#: ../template/default/timer_list.html:326 +msgid "Edit" +msgstr "" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +msgid "Delete timer?" +msgstr "" + +#: ../template/default/at_timer_list.html:144 +#: ../template/default/timer_list.html:329 +#: ../template/default/rec_list.html:137 +msgid "Delete" +msgstr "" + +#: ../template/default/at_timer_list.html:166 +msgid "Force Update" +msgstr "" + +#: ../template/default/at_timer_list.html:178 +#: ../template/default/timer_list.html:350 +msgid "Delete all selected timers?" +msgstr "" + +#: ../template/default/at_timer_list.html:178 +msgid "Delete Selected Auto Timers" +msgstr "" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:74 +msgid "What's on:" +msgstr "" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:76 +msgid "now" +msgstr "" + +#: ../template/default/prog_summary.html:20 +#: ../template/default/prog_timeline.html:82 +msgid "at:" +msgstr "" + +#: ../template/default/prog_summary.html:43 +#: ../template/default/prog_list.html:19 ../template/default/rec_list.html:150 +#: ../template/default/prog_list2.html:52 +msgid "Stream" +msgstr "" + +#: ../template/default/prog_summary.html:62 +msgid "more" +msgstr "" + +#: ../template/default/prog_summary.html:79 +msgid "TV select" +msgstr "" + +#: ../template/default/prog_summary.html:83 +msgid "Search for other show times" +msgstr "" + +#: ../template/default/prog_summary.html:87 +msgid "More Information" +msgstr "" + +#: ../template/default/prog_summary.html:93 +msgid "Record" +msgstr "" + +#: ../template/default/config.html:38 +msgid "General Settings" +msgstr "" + +#: ../template/default/config.html:44 +msgid "Template:" +msgstr "" + +#: ../template/default/config.html:57 +msgid "Skin:" +msgstr "" + +#: ../template/default/config.html:69 +msgid "Login Page:" +msgstr "" + +#: ../template/default/config.html:81 +msgid "Number of DVB Cards:" +msgstr "" + +#: ../template/default/config.html:95 +msgid "Identification" +msgstr "" + +#: ../template/default/config.html:100 +msgid "Username:" +msgstr "" + +#: ../template/default/config.html:106 +msgid "Password:" +msgstr "" + +#: ../template/default/config.html:112 +msgid "Guest Account:" +msgstr "" + +#: ../template/default/config.html:121 +msgid "Guest Username:" +msgstr "" + +#: ../template/default/config.html:127 +msgid "Guest Password:" +msgstr "" + +#: ../template/default/config.html:146 +msgid "Hours:" +msgstr "" + +#: ../template/default/config.html:152 +msgid "Times:" +msgstr "" + +#: ../template/default/config.html:173 +msgid "Active:" +msgstr "" + +#: ../template/default/config.html:182 +msgid "Timeout:" +msgstr "" + +#: ../template/default/config.html:183 ../template/default/config.html:240 +#: ../template/default/config.html:246 +msgid "minutes" +msgstr "" + +#: ../template/default/config.html:201 ../template/default/config.html:239 +msgid "Time Margin at Start:" +msgstr "" + +#: ../template/default/config.html:207 ../template/default/config.html:245 +msgid "Time Margin at Stop:" +msgstr "" + +#: ../template/default/config.html:260 +msgid "Streaming" +msgstr "" + +#: ../template/default/config.html:265 +msgid "Live Streaming" +msgstr "" + +#: ../template/default/config.html:274 +msgid "Recordings Streaming" +msgstr "" + +#: ../template/default/config.html:283 +msgid "HTTP Port of Streamdev (also possible 3000/ts):" +msgstr "" + +#: ../template/default/config.html:289 +msgid "Path to VDR Recordings:" +msgstr "" + +#: ../template/default/config.html:296 +msgid "Bandwidth of Streams:" +msgstr "" + +#: ../template/default/config.html:323 +msgid "Channel Selections" +msgstr "" + +#: ../template/default/config.html:333 +msgid "In "Timeline"?" +msgstr "" + +#: ../template/default/config.html:342 +msgid "In "Channels" / "Playing Today"?" +msgstr "" + +#: ../template/default/config.html:351 +msgid "In "What's On Now"?" +msgstr "" + +#: ../template/default/config.html:360 +msgid "In "Auto Timer"?" +msgstr "" + +#: ../template/default/config.html:404 +msgid "Apply" +msgstr "" + +#: ../template/default/timer_list.html:38 +msgid "New Timer" +msgstr "" + +#: ../template/default/timer_list.html:224 +#: ../template/default/rec_list.html:52 +msgid "Date" +msgstr "" + +#: ../template/default/timer_list.html:278 +msgid "This timer is inactive!" +msgstr "" + +#: ../template/default/timer_list.html:281 +msgid "This timer is impossible!" +msgstr "" + +#: ../template/default/timer_list.html:284 +msgid "No more timers possible!" +msgstr "" + +#: ../template/default/timer_list.html:287 +msgid "Timer OK." +msgstr "" + +#: ../template/default/timer_list.html:293 +msgid "Edit timer status?" +msgstr "" + +#: ../template/default/timer_list.html:297 +msgid "VPS" +msgstr "" + +#: ../template/default/timer_list.html:298 +msgid "Auto" +msgstr "" + +#: ../template/default/timer_list.html:350 +msgid "Delete Selected Timers" +msgstr "" + +#: ../template/default/prog_list.html:29 +#: ../template/default/prog_list2.html:34 +msgid "Go!" +msgstr "" + +#: ../template/default/error.html:6 +msgid "Error!" +msgstr "" + +#: ../template/default/tv.html:5 ../template/default/tv_flash.html:4 +msgid "TV" +msgstr "" + +#: ../template/default/tv.html:182 +msgid "Interval:" +msgstr "" + +#: ../template/default/tv.html:185 ../template/default/tv.html:186 +#: ../template/default/tv.html:187 ../template/default/tv.html:188 +#: ../template/default/tv.html:189 ../template/default/tv.html:190 +#: ../template/default/tv.html:191 +msgid "sec." +msgstr "" + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "G" +msgstr "" + +#: ../template/default/tv.html:193 ../template/default/tv.html:200 +msgid "Grab the picture!" +msgstr "" + +#: ../template/default/tv.html:194 +msgid "Size:" +msgstr "" + +#: ../template/default/prog_detail.html:28 +msgid "close" +msgstr "" + +#: ../template/default/prog_detail.html:30 +msgid "view" +msgstr "" + +#: ../template/default/prog_detail.html:31 +msgid "record" +msgstr "" + +#: ../template/default/prog_detail.html:32 +msgid "search" +msgstr "" + +#: ../template/default/prog_detail.html:34 +msgid "Lookup movie in the Internet-Movie-Database (IMDb)" +msgstr "" + +#: ../template/default/rec_list.html:19 +msgid "Total:" +msgstr "" + +#: ../template/default/rec_list.html:19 ../template/default/rec_list.html:20 +msgid "h" +msgstr "" + +#: ../template/default/rec_list.html:20 +msgid "Free:" +msgstr "" + +#: ../template/default/rec_list.html:100 +msgid "Total" +msgstr "" + +#: ../template/default/rec_list.html:109 ../template/default/rec_list.html:112 +msgid "New" +msgstr "" + +#: ../template/default/rec_list.html:130 ../template/default/rec_edit.html:63 +msgid "Rename" +msgstr "" + +#: ../template/default/rec_list.html:137 +msgid "Delete recording?" +msgstr "" + +#: ../template/default/rec_list.html:168 +msgid "Commands:" +msgstr "" + +#: ../template/default/rec_list.html:174 +msgid "Run" +msgstr "" + +#: ../template/default/rec_list.html:174 +msgid "Really run this command?" +msgstr "" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete all selected recordings?" +msgstr "" + +#: ../template/default/rec_list.html:181 ../template/default/rec_list.html:187 +msgid "Delete Selected Recordings" +msgstr "" + +#: ../template/default/prog_timeline.html:99 +msgid "Timeline:" +msgstr "" + +#: ../template/default/prog_timeline.html:99 +msgid "to" +msgstr "" + +#: ../template/default/rec_edit.html:6 ../template/default/rec_edit.html:15 +msgid "Rename Recording" +msgstr "" + +#: ../template/default/rec_edit.html:38 +msgid "Original Name of Recording:" +msgstr "" + +#: ../template/default/rec_edit.html:44 +msgid "New Name of Recording:" +msgstr "" + +#: ../vdradmind.pl:222 +msgid "What's your VDR hostname (e.g video.intra.net)?" +msgstr "" + +#: ../vdradmind.pl:223 +msgid "On which port does VDR listen to SVDRP queries?" +msgstr "" + +#: ../vdradmind.pl:224 +msgid "On which address should VDRAdmin listen (0.0.0.0 for any)?" +msgstr "" + +#: ../vdradmind.pl:225 +msgid "On which port should VDRAdmin listen?" +msgstr "" + +#: ../vdradmind.pl:226 +msgid "Username?" +msgstr "" + +#: ../vdradmind.pl:227 +msgid "Password?" +msgstr "" + +#: ../vdradmind.pl:228 +msgid "Where are your recordings stored?" +msgstr "" + +#: ../vdradmind.pl:229 +msgid "Where are your VDR's configuration files located?" +msgstr "" + +#: ../vdradmind.pl:235 +msgid "Config file written successfully." +msgstr "" + +#: ../vdradmind.pl:282 +#, perl-format +msgid "vdradmind.pl %s started with pid %d." +msgstr "" + +#: ../template/i18n.pl:12 +msgid "January" +msgstr "" + +#: ../template/i18n.pl:13 +msgid "February" +msgstr "" + +#: ../template/i18n.pl:14 +msgid "March" +msgstr "" + +#: ../template/i18n.pl:15 +msgid "April" +msgstr "" + +#: ../template/i18n.pl:16 +msgid "May" +msgstr "" + +#: ../template/i18n.pl:17 +msgid "June" +msgstr "" + +#: ../template/i18n.pl:18 +msgid "July" +msgstr "" + +#: ../template/i18n.pl:19 +msgid "August" +msgstr "" + +#: ../template/i18n.pl:20 +msgid "September" +msgstr "" + +#: ../template/i18n.pl:21 +msgid "October" +msgstr "" + +#: ../template/i18n.pl:22 +msgid "November" +msgstr "" + +#: ../template/i18n.pl:23 +msgid "December" +msgstr "" + +#: ../template/i18n.pl:28 +msgid "Playing Today?" +msgstr "" + +#: ../template/i18n.pl:31 +msgid "Timers" +msgstr "" + +#: ../template/i18n.pl:36 +msgid "Not found" +msgstr "" + +#: ../template/i18n.pl:37 +msgid "The requested URL was not found on this server!" +msgstr "" + +#: ../template/i18n.pl:38 +#, perl-format +msgid "The URL "%s" was not found on this server!" +msgstr "" + +#: ../template/i18n.pl:39 +msgid "Forbidden" +msgstr "" + +#: ../template/i18n.pl:40 +msgid "You don't have permission to access this function!" +msgstr "" + +#: ../template/i18n.pl:41 +#, perl-format +msgid "Access to file "%s" denied!" +msgstr "" + +#: ../template/i18n.pl:42 +#, perl-format +msgid "Can't open file "%s"!" +msgstr "" + +#: ../template/i18n.pl:43 +#, perl-format +msgid "Can't connect to VDR at %s!" +msgstr "" + +#: ../template/i18n.pl:44 +#, perl-format +msgid "Error while sending command to VDR at %s" +msgstr "" + +#: ../template/i18n.pl:48 +msgid "Schedule" +msgstr "" + +#: ../template/i18n.pl:53 +msgid "" +"<b>Timer</b>\n" +"<p>VDR timer overview.</p>\n" +"<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=" +"\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" " +"valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the " +"timer on or off.<br>\n" +"<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> " +"indicates overlapping timers. That's uncritical, as long as you have enough " +"DVB cards for the parallel recordings.<br>\n" +"To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=" +"\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=" +"\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, " +"select them using the checkboxes (<input type=\"checkbox\" checked>) and " +"click on <i>Delete selected timers</i> at the end of the list.\n" +"</p>" +msgstr "" + +#: ../template/i18n.pl:61 +msgid "" +"<p>No help available for <b>Add Timer:</b> yet. For adding text please " +"contact mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" + +#: ../template/i18n.pl:65 +msgid "" +"<b>Auto Timer:</b><br>\n" +"<p>An overview of all Auto Timers</p>\n" +"<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)" +"activate that Auto Timer.</p>\n" +"<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for " +"editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> " +"for deleting an Auto Timer. If you want to delete multiple Auto Timers all " +"at once, you have to check the boxes (<input type=\"checkbox\" checked>) on " +"the right and finally click <i>Delete selected Auto Timers</i>.</p>" +msgstr "" + +#: ../template/i18n.pl:71 +msgid "" +"<b>Edit Auto Timer:</b><br>\n" +"<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or " +"more search terms and some other settings, that are looked for regularly in " +"the Electronic Program Guide (EPG). On match Auto Timer 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>\n" +"<p>Here you can set an Auto Timer. It's required to specify at least one " +"search item. Please have a look at <i>Search Items</i> if you need more " +"information on how to find reasonable search items and how to avoid unwanted " +"recordings.</p>\n" +"<b>Auto Timer Active:</b><br>\n" +"<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please " +"note that VDR timers already added by VDRAdmin are not deleted if you " +"deactivate this Auto Timer.</p>\n" +"<b>Search Items:</b><br>\n" +"<p>Choosing the right search items decides whether only the wanted broadcast " +"or broadcast having similar names or nothing gets recorded.</p>\n" +"<p>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 all items.</p>\n" +"<p>You'd better only use letters and numbers for search items, as EPGs often " +"miss colons, brackets and other characters.</p>\n" +"<p>Experts can also use regular expressions, but you have get needed " +"information from the VDRAdmin sources (undocumented feature).</p>" +msgstr "" + +#: ../template/i18n.pl:83 +msgid "" +"<p>No help available for <b>Recordings:</b>. For adding text please contact " +"mail@andreas.vdr-developer.org.\t\n" +"</p>" +msgstr "" + +#: ../template/i18n.pl:87 +msgid "" +"<b>Configuration:</b>\n" +"<p>Here you can change general settings and base settings for timers, auto " +"timers, channel selection and streaming parameters.\n" +"</p>\n" +"<b>General Settings:</b>\n" +"<p>Here you can change the languge, the start page, the look, and the number " +"of DVB cards. Besides this the base settings for timers, auto timers, the " +"channel selection and streaming parameters can be configured here.\n" +"</p>\n" +"<b>Identification:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio" +"\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. " +"The default passwords for both accounts should be changed when VDRAdmin is " +"accessible over the Internet.\n" +"</p>\n" +"<b>Time Line:</b>\n" +"<p>Here you can see a time line of the channels, where you can select the " +"displayed time span.<br>\n" +"The bars show the titles of each show. A time bar starts half an hour before " +"now. A thin red line indicates the current position.<br>Programmed timers " +"are shown in different colors.\n" +"</p>\n" +"<b>Settings for auto timers:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the auto timer function. " +"You can also specify the interval, the the epg data is checked for updating " +"the auto timers.<br>\n" +"The life time of a recording can be set from 0 to 99 (99=live forever). This " +"value relates to the day, the recording was made. After the given life time, " +"a recording may be deleted to make room for new ones.<br>\n" +"The Priority indicates, what timer is prefered in case of a conflict.<br>\n" +"<b>Timer settings:</b>\n" +"<p>These are the same settings as for the auto timers, but apply to the " +"manually created timers.\n" +"</p>\n" +"\n" +"<b>Streaming settings:</b>\n" +"<p>Specify port, bandwith and VDR's recording directory here.\n" +"</p>\n" +"\n" +"<b>Channel Selection:</b>\n" +"<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio" +"\" checked> <i>No</i> | activates or deactivates the channel selection for a " +"specific view.<br>\n" +"</p>\n" +msgstr "" + +#: ../template/i18n.pl:117 +msgid "" +"No help available yet. For adding or changing text please contact " +"mail@andreas.vdr-developer.org." +msgstr "" diff --git a/template/default/at_new.html b/template/default/at_new.html index 879d014..e1cabde 100644 --- a/template/default/at_new.html +++ b/template/default/at_new.html @@ -1,9 +1,10 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <tmpl_if newtimer><?% msg.an_new_timer %?><tmpl_else><?% msg.an_edit_timer %?></tmpl_if></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> + <title>VDRAdmin - <tmpl_if newtimer><%! Add New Auto Timer !%><tmpl_else><%! Edit Auto Timer !%></tmpl_if></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css"/> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> @@ -12,146 +13,160 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="500" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><tmpl_if newtimer><?% msg.an_new_timer %?><tmpl_else><?% msg.an_edit_timer %?></tmpl_if></b></p> + <p class="einzug_ohnetop"><b><tmpl_if newtimer><%! Add New Auto Timer !%><tmpl_else><%! Edit Auto Timer !%></tmpl_if></b></p> </td> <tmpl_if name="help_url"> <td align="right" background="bilder/nav_button_back_mitte.gif"> - <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<?% msg.c_help %?>"></a> + <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<%! Help !%>"/></a> </td> </tmpl_if> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br/> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"/></td> <td height="30" background="bilder/uebersicht_oben.gif"> </td> <td height="30" background="bilder/uebersicht_oben.gif"> </td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"/></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.an_timer_active %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Auto Timer Active: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> <tmpl_if name="oneshot"> - <input type="radio" name="active" value="1"><?% msg.c_yes %?> - <input type="radio" name="active" value="0"><?% msg.c_no %?> - <input type="radio" name="active" value="2" checked><?% msg.c_once %?> + <input type="radio" name="active" value="1" /> <%! Yes !%> + <input type="radio" name="active" value="0" /> <%! No !%> + <input type="radio" name="active" value="2" checked /> <%! oneshot !%> <tmpl_else> - <input type="radio" name="active" value="1" <tmpl_if active>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="active" value="0" <tmpl_unless active>checked</tmpl_unless>><?% msg.c_no %?> - <input type="radio" name="active" value="2"><?% msg.c_once %?> + <input type="radio" name="active" value="1" <tmpl_if active>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="active" value="0" <tmpl_unless active>checked</tmpl_unless> /> <%! No !%> + <input type="radio" name="active" value="2" /> <%! oneshot !%> </tmpl_if> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.an_search_items %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Search Patterns: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="pattern" value="<tmpl_var pattern>" size="40"> + <input type="text" name="pattern" value="<tmpl_var pattern>" size="40" /> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td valign="top" width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.an_search_in %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Search in: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="checkbox" name="title" value="1" <tmpl_if title>checked</tmpl_if>> <?% msg.c_title %?> - <input type="checkbox" name="subtitle" value="1" <tmpl_if subtitle>checked</tmpl_if>> <?% msg.c_subtitle %?> - <input type="checkbox" name="description" value="1" <tmpl_if description>checked</tmpl_if>> <?% msg.c_description %?> + <input type="checkbox" name="title" value="1" <tmpl_if title>checked</tmpl_if> /> <%! Title !%> + <input type="checkbox" name="subtitle" value="1" <tmpl_if subtitle>checked</tmpl_if> /> <%! Subtitle !%> + <input type="checkbox" name="description" value="1" <tmpl_if description>checked</tmpl_if> /> <%! Description !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td valign="top" width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_channel %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Search only on these days: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> + <input type="checkbox" name="wday_mon" value="1" <tmpl_if wday_mon>checked</tmpl_if> /> <%! Monday !%> + <input type="checkbox" name="wday_tue" value="1" <tmpl_if wday_tue>checked</tmpl_if> /> <%! Tuesday !%> + <input type="checkbox" name="wday_wed" value="1" <tmpl_if wday_wed>checked</tmpl_if> /> <%! Wednesday !%> + <input type="checkbox" name="wday_thu" value="1" <tmpl_if wday_thu>checked</tmpl_if> /> <%! Thursday !%> + <input type="checkbox" name="wday_fri" value="1" <tmpl_if wday_fri>checked</tmpl_if> /> <%! Friday !%> + <input type="checkbox" name="wday_sat" value="1" <tmpl_if wday_sat>checked</tmpl_if> /> <%! Saturday !%> + <input type="checkbox" name="wday_sun" value="1" <tmpl_if wday_sun>checked</tmpl_if> /> <%! Sunday !%> + </td> + <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> + </tr> + <tr height="25"> + <td valign="top" width="30" height="25" background="bilder/uebersicht_links.gif"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Channel: !%></td> + <td height="25" background="bilder/uebersicht_mitte.gif"> <select name="channel" size="1"> - <option value="0"><?% msg.c_all %?></option> + <option value="0"><%! all !%></option> <tmpl_loop channels> <option value="<tmpl_var vdr_id>" <tmpl_if cur> selected</tmpl_if>><tmpl_var name></option> </tmpl_loop> </select> </td> - <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> - </tr> - <tr height="25"> - <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.an_search_start %?></td> - <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="text" name="starth" value="<tmpl_var starth>" size="2" maxlength="2"> - <b> : </b> - <input type="text" name="startm" value="<tmpl_var startm>" size="2" maxlength="2"> - <?% msg.c_clock %?> - </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.an_search_stop %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Starts Before: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="stoph" value="<tmpl_var stoph>" size="2" maxlength="2"> + <input type="text" name="starth" value="<tmpl_var starth>" size="2" maxlength="2" /> <b> : </b> - <input type="text" name="stopm" value="<tmpl_var stopm>" size="2" maxlength="2"> - <?% msg.c_clock %?> + <input type="text" name="startm" value="<tmpl_var startm>" size="2" maxlength="2" /> + <%! o'clock !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_priority %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Ends Before: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="text" name="prio" value="<tmpl_var prio>" size="2" maxlength="2"> + <input type="text" name="stoph" value="<tmpl_var stoph>" size="2" maxlength="2" /> + <b> : </b> + <input type="text" name="stopm" value="<tmpl_var stopm>" size="2" maxlength="2" /> + <%! o'clock !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_lifetime %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Priority: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="lft" value="<tmpl_var lft>" size="2" maxlength="2"> + <input type="text" name="prio" value="<tmpl_var prio>" size="2" maxlength="2" /> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.an_episode %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Lifetime: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="checkbox" name="episode" value="1" <tmpl_if episode>checked</tmpl_if>> + <input type="text" name="lft" value="<tmpl_var lft>" size="2" maxlength="2" /> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> + <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Episode: !%></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"> + <input type="checkbox" name="episode" value="1" <tmpl_if episode>checked</tmpl_if> /> + </td> + <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> + </tr> + <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.an_done_active %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Remember programmed timers: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="done" value="1" <tmpl_if done>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="done" value="0" <tmpl_unless done>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="done" value="1" <tmpl_if done>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="done" value="0" <tmpl_unless done>checked</tmpl_unless> /> <%! No !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_directory %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Directory: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="directory" value="<tmpl_var directory>" size="40"> + <input type="text" name="directory" value="<tmpl_var directory>" size="40" /> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"/></td> <td height="30" background="bilder/uebersicht_unten.gif"> </td> <td height="30" background="bilder/uebersicht_unten.gif"> </td> - <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"/></td> </tr> </table> - <br> - <input type="submit" name="save" value="<?% msg.c_save %?>"> - <input type="submit" name="exit" value="<?% msg.c_cancel %?>"> - <input type="hidden" name="aktion" value="at_timer_save"> - <input type="hidden" name="id" value="<tmpl_var id>"> + <br/> + <input type="submit" name="save" value="<%! Save !%>" /> + <input type="submit" name="exit" value="<%! Cancel !%>" /> + <input type="hidden" name="aktion" value="at_timer_save" /> + <input type="hidden" name="id" value="<tmpl_var id>" /> </form> </body> diff --git a/template/default/at_timer_list.html b/template/default/at_timer_list.html index c1bba7a..c29fa11 100644 --- a/template/default/at_timer_list.html +++ b/template/default/at_timer_list.html @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.al_autotimer %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"/> + <title>VDRAdmin - <%! Auto Timer !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css"/> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> @@ -13,14 +12,14 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="200" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><?% msg.al_autotimer %?></b></p> + <p class="einzug_ohnetop"><b><%! Auto Timer !%></b></p> </td> <td align="right" background="bilder/nav_button_back_mitte.gif"> <table border="0" cellspacing="0" cellpadding="0"> <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="<tmpl_var naturl>"><div class="gbutton"><?% msg.al_new_autotimer %?></div></a> + <a href="<tmpl_var naturl>"><div class="gbutton"><%! New Auto Timer !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> <td></td> @@ -29,78 +28,76 @@ </td> <tmpl_if name="help_url"> <td align="right" width="35" background="bilder/nav_button_back_mitte.gif"> - <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<?% msg.c_help %?>"></a> + <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<%! Help !%>"/></a> </td> </tmpl_if> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br/> <form action="<tmpl_var url>" method="get" name="FormName"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"/></td> <td width="70" background="bilder/uebersicht_oben<tmpl_if sortbyactive>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbyactiveurl>"><?% msg.c_list_active %?> + <a class="sort" href="<tmpl_var sortbyactiveurl>"><%! Active !%> <tmpl_if sortbyactive> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"/> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"/> </tmpl_if> </a> </nobr> </td> <td width="10%" background="bilder/uebersicht_oben<tmpl_if sortbychannel>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbychannelurl>"><?% msg.c_list_channel %?> + <a class="sort" href="<tmpl_var sortbychannelurl>"><%! Channel !%> <tmpl_if sortbychannel> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"/> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"/> </tmpl_if> </a> </nobr> </td> <td width="40" background="bilder/uebersicht_oben<tmpl_if sortbystart>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbystarturl>"><?% msg.c_list_start %?> + <a class="sort" href="<tmpl_var sortbystarturl>"><%! Start !%> <tmpl_if sortbystart> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"/> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"/> </tmpl_if> </a> </nobr> </td> <td width="40" background="bilder/uebersicht_oben<tmpl_if sortbystop>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbystopurl>"><?% msg.c_list_stop %?> + <a class="sort" href="<tmpl_var sortbystopurl>"><%! Stop !%> <tmpl_if sortbystop> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"/> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"/> </tmpl_if> </a> </nobr> </td> <td background="bilder/uebersicht_oben<tmpl_if sortbypattern>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbypatternurl>"><?% msg.c_list_name %?> + <a class="sort" href="<tmpl_var sortbypatternurl>"><%! Name !%> <tmpl_if sortbypattern> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"/> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"/> </tmpl_if> </a> </nobr> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> - <td align="center" width="30" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<?% msg.c_select_allnone %?>"></td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td align="center" width="30" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<%! Select all/none !%>"/></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"/></td> </tr> <tmpl_loop at_timer_loop> @@ -109,17 +106,17 @@ <td valign="top" width="70" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbyactive>_selected</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_if active> - <img src="bilder/poempl_gruen.gif" alt="" width="19" height="19" align="absmiddle" border="0"> - <a href="<tmpl_var toggleurl>"><font color="black"><?% msg.c_yes %?></font></a> + <img src="bilder/poempl_gruen.gif" alt="" width="19" height="19" align="absmiddle" border="0"/> + <a href="<tmpl_var toggleurl>"><font color="black"><%! Yes !%></font></a> <tmpl_else> - <img src="bilder/poempl_rot.gif" alt="" width="19" height="19" align="absmiddle" border="0"> - <a href="<tmpl_var toggleurl>"><font color="black"><?% msg.c_no %?></font></a> + <img src="bilder/poempl_grey.gif" alt="" width="19" height="19" align="absmiddle" border="0"/> + <a href="<tmpl_var toggleurl>"><font color="black"><%! No !%></font></a> </tmpl_if> </p> </td> <td valign="top" width="120" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbychannel>_selected</tmpl_if>.gif"> <p class="einzug_liste"> - <tmpl_if channel><tmpl_var channel><tmpl_else>-</tmpl_if> + <tmpl_if channel><a href="<tmpl_var proglink>"><tmpl_var channel></a><tmpl_else>-</tmpl_if> </p> </td> <td valign="top" width="40" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbystart>_selected</tmpl_if>.gif"> @@ -133,52 +130,52 @@ </p> </td> <td valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbypattern>_selected</tmpl_if>.gif"> - <p class="einzug_liste"> + <p class="einzug_liste" title="<%! Priority: !%> <tmpl_var prio> / <%! Lifetime: !%> <tmpl_var lft>"> <tmpl_var pattern> </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> - <a href="<tmpl_var modurl>"><img src="bilder/edit.gif" alt="edit" height="17" width="17" border="0" title="<?% msg.c_edit %?>"></a> + <a href="<tmpl_var modurl>"><img src="bilder/edit.gif" alt="edit" height="17" width="17" border="0" title="<%! Edit !%>"/></a> </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> - <a href="javascript:del('<?% msg.js_del_timer %?>', '<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" height="17" width="17" border="0" title="<?% msg.c_delete %?>"></a> + <a href="javascript:del('<%! Delete timer? !%>', '<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" height="17" width="17" border="0" title="<%! Delete !%>"/></a> </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><input type="checkbox" name="xxxx_<tmpl_var id>"></p> + <p class="einzug_liste"><input type="checkbox" name="xxxx_<tmpl_var id>"/></p> </td> <td valign="top" width="30" background="bilder/uebersicht_rechts<tmpl_if __ODD__>_dark</tmpl_if>.gif"> </td> </tr> </tmpl_loop> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"/></td> <td colspan="8" background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"/></td> </tr> <tr> <td colspan="5" valign="top"> <table border="0" cellspacing="0" cellpadding="0"> - <br> + <br/> <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="<tmpl_var force_update_url>"><div class="gbutton"><?% msg.al_force_update %?></div></a> + <a href="<tmpl_var force_update_url>"><div class="gbutton"><%! Force Update !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> </tr> </table> </td> <td colspan="4" align="right"> - <br> + <br/> <table border="0" cellspacing="0" cellpadding="0"> <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="javascript:mdel('<?% msg.js_del_selected_timer %?>');"><div class="gbutton"><?% msg.al_del_selected %?></div></a> + <a href="javascript:mdel('<%! Delete all selected timers? !%>');"><div class="gbutton"><%! Delete Selected Auto Timers !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> </tr> @@ -187,7 +184,7 @@ <td valign="top" width="30"></td> </tr> </table> - <input type="hidden" name="aktion" value="at_timer_delete"> + <input type="hidden" name="aktion" value="at_timer_delete"/> </form> </body> diff --git a/template/default/bilder/logo_linvdr.gif b/template/default/bilder/logo_linvdr.gif Binary files differnew file mode 100644 index 0000000..d9d0398 --- /dev/null +++ b/template/default/bilder/logo_linvdr.gif diff --git a/template/default/bilder/logo_other.gif b/template/default/bilder/logo_other.gif Binary files differnew file mode 100644 index 0000000..8344c58 --- /dev/null +++ b/template/default/bilder/logo_other.gif diff --git a/template/default/config.html b/template/default/config.html index 690cf37..0f8cd5a 100644 --- a/template/default/config.html +++ b/template/default/config.html @@ -1,10 +1,9 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.co_config %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Configuration !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> @@ -13,18 +12,18 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="200" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><?% msg.co_config %?></b></p> + <p class="einzug_ohnetop"><b><%! Configuration !%></b></p> </td> <td align="right" background="bilder/nav_button_back_mitte.gif"> </td> <td align="right" width="35" background="bilder/nav_button_back_mitte.gif"> <tmpl_if name="help_url"> - <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" alt="help" title="<?% msg.c_help %?>"></a> + <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" alt="help" title="<%! Help !%>" /></a> </tmpl_if> </td> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td></td> @@ -35,13 +34,14 @@ <td valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_general %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! General Settings !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> +<!-- Only one template, so no need to chose <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_g_template %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Template: !%></td> <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"> <select name="TEMPLATE" size="1"> <tmpl_loop name="TEMPLATELIST"> @@ -51,33 +51,22 @@ </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> +--> <tr height="25"> - <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_g_skin %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"> + <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Skin: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"> <select name="SKIN" size="1"> <tmpl_loop name="SKINLIST"> <option value="<tmpl_var name>" <tmpl_if sel> selected</tmpl_if>><tmpl_var name></option> </tmpl_loop> </select> </td> - <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> - </tr> - <tr height="25"> - <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_g_language %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"> - <select name="LANGUAGE" size="1"> -<tmpl_loop name="LANGLIST"> - <option value="<tmpl_var name>" <tmpl_if aklang> selected</tmpl_if>><tmpl_var name></option> -</tmpl_loop> - </select> - </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_g_loginpage %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Login Page: !%></td> <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"> <select name="LOGINPAGE" size="1"> <tmpl_loop name="LOGINPAGES"> @@ -89,85 +78,85 @@ </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_g_num_dvb %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="RECORDINGS" value="<tmpl_var RECORDINGS>" size="2"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Number of DVB Cards: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="RECORDINGS" value="<tmpl_var RECORDINGS>" size="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr> - <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_unten.gif"> </td> - <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_id %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! Identification !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_id_user %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="USERNAME" value="<tmpl_var USERNAME>" size="12"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Username: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="USERNAME" value="<tmpl_var USERNAME>" size="12" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_id_password %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="password" name="PASSWORD" value="<tmpl_var PASSWORD>" size="12"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Password: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="password" name="PASSWORD" value="<tmpl_var PASSWORD>" size="12" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_id_guest_account %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Guest Account: !%></td> <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="GUEST_ACCOUNT" value="1" <tmpl_if guest_account>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="GUEST_ACCOUNT" value="0" <tmpl_unless guest_account>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="GUEST_ACCOUNT" value="1" <tmpl_if guest_account>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="GUEST_ACCOUNT" value="0" <tmpl_unless guest_account>checked</tmpl_unless> /> <%! No !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_id_guest_user %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="USERNAME_GUEST" value="<tmpl_var USERNAME_GUEST>" size="12"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Guest Username: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="USERNAME_GUEST" value="<tmpl_var USERNAME_GUEST>" size="12" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_id_guest_password %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="password" name="PASSWORD_GUEST" value="<tmpl_var PASSWORD_GUEST>" size="12"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Guest Password: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="password" name="PASSWORD_GUEST" value="<tmpl_var PASSWORD_GUEST>" size="12" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" height="30" background="bilder/uebersicht_unten.gif"> </td> - <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_timeline %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! Timeline !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_tl_hours %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="ZEITRAHMEN" value="<tmpl_var ZEITRAHMEN>" size="2"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Hours: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="ZEITRAHMEN" value="<tmpl_var ZEITRAHMEN>" size="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_tl_times %?></td> - <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TIMES" value="<tmpl_var TIMES>" size="16"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Times: !%></td> + <td width="40%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TIMES" value="<tmpl_var TIMES>" size="16" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" height="30" background="bilder/uebersicht_unten.gif"> </td> - <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> </td> @@ -175,111 +164,136 @@ <td valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_autotimer %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! Auto Timer !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"> </td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_at_active %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Active: !%></td> <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="AT_FUNC" value="1" <tmpl_if at_func>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="AT_FUNC" value="0" <tmpl_unless at_func>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="AT_FUNC" value="1" <tmpl_if at_func>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="AT_FUNC" value="0" <tmpl_unless at_func>checked</tmpl_unless> /> <%! No !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_at_timeout %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="AT_TIMEOUT" value="<tmpl_var AT_TIMEOUT>" size="4"> <?% msg.c_minutes %?></td> - <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> - </tr> - <tr height="25"> - <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_priority %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="AT_PRIORITY" value="<tmpl_var AT_PRIORITY>" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Timeout: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="AT_TIMEOUT" value="<tmpl_var AT_TIMEOUT>" size="4" /> <%! minutes !%></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_lifetime %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="AT_LIFETIME" value="<tmpl_var AT_LIFETIME>" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Priority: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="AT_PRIORITY" value="<tmpl_var AT_PRIORITY>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> + <tr height="25"> + <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Lifetime: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="AT_LIFETIME" value="<tmpl_var AT_LIFETIME>" size="2" maxlength="2" /></td> + <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> + </tr> <!-- <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_buffer_before %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="textfieldName" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Time Margin at Start: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="AT_MARGIN_BEGIN" value="<tmpl_var AT_MARGIN_BEGIN>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_buffer_after %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="textfieldName" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Time Margin at Stop: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="AT_MARGIN_END" value="<tmpl_var AT_MARGIN_END>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> // --> <tr> - <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_unten.gif"> </td> - <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_timer %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! Timer !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_lifetime %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="TM_LIFETIME" value="<tmpl_var TM_LIFETIME>" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Lifetime: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="TM_LIFETIME" value="<tmpl_var TM_LIFETIME>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_priority %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TM_PRIORITY" value="<tmpl_var TM_PRIORITY>" size="2" maxlength="2"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Priority: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TM_PRIORITY" value="<tmpl_var TM_PRIORITY>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_buffer_before %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="TM_MARGIN_BEGIN" value="<tmpl_var TM_MARGIN_BEGIN>" size="3"> <?% msg.c_minutes %?></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Time Margin at Start: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="TM_MARGIN_BEGIN" value="<tmpl_var TM_MARGIN_BEGIN>" size="3" /> <%! minutes !%></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_buffer_after %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TM_MARGIN_END" value="<tmpl_var TM_MARGIN_END>" size="3"> <?% msg.c_minutes %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Time Margin at Stop: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="TM_MARGIN_END" value="<tmpl_var TM_MARGIN_END>" size="3" /> <%! minutes !%></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr> - <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_unten.gif"> </td> - <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> - <br> +<tmpl_if ST_FUNC> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> - <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><?% msg.co_hl_streaming %?></b></td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> + <td colspan="2" height="30" background="bilder/uebersicht_oben.gif"><b><%! Streaming !%></b></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_str_port %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="ST_STREAMDEV_PORT" value="<tmpl_var ST_STREAMDEV_PORT>" size="10"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! Live Streaming !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"> + <input type="radio" name="ST_LIVE_ON" value="1" <tmpl_if ST_LIVE_ON>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="ST_LIVE_ON" value="0" <tmpl_unless ST_LIVE_ON>checked</tmpl_unless> /> <%! No !%> + </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> - <tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_str_bandwidth %?></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Recordings Streaming !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"> + <input type="radio" name="ST_REC_ON" value="1" <tmpl_if ST_REC_ON>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="ST_REC_ON" value="0" <tmpl_unless ST_REC_ON>checked</tmpl_unless> /> <%! No !%> + </td> + <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> + </tr> + <tr height="25"> + <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><%! HTTP Port of Streamdev (also possible 3000/ts): !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="ST_STREAMDEV_PORT" value="<tmpl_var ST_STREAMDEV_PORT>" size="10" /></td> + <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> + </tr> + <tr height="25"> + <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Path to VDR Recordings: !%></td> + <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="ST_VIDEODIR" value="<tmpl_var ST_VIDEODIR>" size="20" maxlength="256" /></td> + <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> + </tr> +<!-- not (yet?) supported + <tr height="25"> + <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Bandwidth of Streams: !%></td> <td width="30%" height="25" background="bilder/uebersicht_mitte_dark.gif"> <select name="STREAMTYPE" size="1"> <tmpl_loop name="STREAMTYPELIST"> @@ -289,66 +303,71 @@ </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> - <tr height="25"> - <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><?% msg.co_str_rec_path %?></td> - <td width="30%" height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="VIDEODIR" value="<tmpl_var VIDEODIR>" size="20" maxlength="256"></td> - <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> - </tr> +--> <tr> - <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_unten.gif"> </td> - <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> +</tmpl_if> </td> </tr> <tr> <td colspan="3"> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="black"> <tr height="30"> - <td width="30" height="30" background="bilder/uebersicht_oben.gif"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30" background="bilder/uebersicht_oben.gif"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> <td width="40%" height="30" background="bilder/uebersicht_oben.gif"> - <div align="left"><b><?% msg.co_hl_channels %?></b></div> + <div align="left"><b><%! Channel Selections !%></b></div> </td> <td bgcolor="#c6c6c6" height="30" background="bilder/uebersicht_oben.gif"> </td> <td bgcolor="#c6c6c6" width="45%" height="30" background="bilder/uebersicht_oben.gif"> <div align="center"></div> </td> - <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_oben.gif"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_oben.gif"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> + </tr> + <tr height="30"> + <td width="30" height="30" background="bilder/uebersicht_links_dark.gif"></td> + <td width="40%" height="30" background="bilder/uebersicht_mitte_dark.gif"><%! In "Timeline"? !%></td> + <td colspan="2" bgcolor="#c6c6c6" height="30" background="bilder/uebersicht_mitte_dark.gif"> + <input type="radio" name="CHANNELS_WANTED_TIMELINE" value="1" <tmpl_if CHANNELS_WANTED_TIMELINE>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="CHANNELS_WANTED_TIMELINE" value="0" <tmpl_unless CHANNELS_WANTED_TIMELINE>checked</tmpl_unless> /> <%! No !%> + </td> + <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="30"> <td width="30" height="30" background="bilder/uebersicht_links.gif"></td> - <td width="40%" height="30" background="bilder/uebersicht_mitte.gif"><?% msg.co_ch_use_summary %?></td> + <td width="40%" height="30" background="bilder/uebersicht_mitte.gif"><%! In "Channels" / "Playing Today"? !%></td> <td colspan="2" bgcolor="#c6c6c6" height="30" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="CHANNELS_WANTED_PRG" value="1" <tmpl_if CHANNELS_WANTED_PRG>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="CHANNELS_WANTED_PRG" value="0" <tmpl_unless CHANNELS_WANTED_PRG>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="CHANNELS_WANTED_PRG" value="1" <tmpl_if CHANNELS_WANTED_PRG>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="CHANNELS_WANTED_PRG" value="0" <tmpl_unless CHANNELS_WANTED_PRG>checked</tmpl_unless> /> <%! No !%> </td> <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="30"> <td width="30" height="30" background="bilder/uebersicht_links_dark.gif"></td> - <td width="40%" height="30" background="bilder/uebersicht_mitte_dark.gif"><?% msg.co_ch_use_whatsonnow %?></td> + <td width="40%" height="30" background="bilder/uebersicht_mitte_dark.gif"><%! In "What's On Now"? !%></td> <td colspan="2" bgcolor="#c6c6c6" height="30" background="bilder/uebersicht_mitte_dark.gif"> - <input type="radio" name="CHANNELS_WANTED_SUMMARY" value="1" <tmpl_if CHANNELS_WANTED_SUMMARY>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="CHANNELS_WANTED_SUMMARY" value="0" <tmpl_unless CHANNELS_WANTED_SUMMARY>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="CHANNELS_WANTED_SUMMARY" value="1" <tmpl_if CHANNELS_WANTED_SUMMARY>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="CHANNELS_WANTED_SUMMARY" value="0" <tmpl_unless CHANNELS_WANTED_SUMMARY>checked</tmpl_unless> /> <%! No !%> </td> <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="30"> <td width="30" height="30" background="bilder/uebersicht_links.gif"></td> - <td width="40%" height="30" background="bilder/uebersicht_mitte.gif"><?% msg.co_ch_use_autotimer %?></td> + <td width="40%" height="30" background="bilder/uebersicht_mitte.gif"><%! In "Auto Timer"? !%></td> <td colspan="2" bgcolor="#c6c6c6" height="30" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="CHANNELS_WANTED_AUTOTIMER" value="1" <tmpl_if CHANNELS_WANTED_AUTOTIMER>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="CHANNELS_WANTED_AUTOTIMER" value="0" <tmpl_unless CHANNELS_WANTED_AUTOTIMER>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="CHANNELS_WANTED_AUTOTIMER" value="1" <tmpl_if CHANNELS_WANTED_AUTOTIMER>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="CHANNELS_WANTED_AUTOTIMER" value="0" <tmpl_unless CHANNELS_WANTED_AUTOTIMER>checked</tmpl_unless> /> <%! No !%> </td> <td bgcolor="#c6c6c6" width="30" height="30" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr> <td bgcolor="#dfdcdc" width="30" background="bilder/uebersicht_links.gif"></td> <td width="40%" align="center" background="bilder/uebersicht_mitte.gif"> - <br> + <br /> <select name="all_channels" size="8" multiple> <tmpl_loop name="ALL_CHANNELS"> <option value="<tmpl_var vdr_id>"><tmpl_var name></option> @@ -356,11 +375,11 @@ </select> </td> <td align="center" valign="middle" background="bilder/uebersicht_mitte.gif"> - <input type="submit" name="submit" value=">>>>>"><br> - <input type="submit" name="submit" value="<<<<<"> + <input type="submit" name="submit" value=">>>>>" /><br /> + <input type="submit" name="submit" value="<<<<<" /> </td> <td width="45%" align="center" background="bilder/uebersicht_mitte.gif"> - <br> + <br /> <select name="selected_channels" size="8" multiple> <tmpl_loop name="SELECTED_CHANNELS"> <option value="<tmpl_var vdr_id>"><tmpl_var name></option> @@ -370,20 +389,20 @@ <td bgcolor="#dfdcdc" width="30" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="30"> - <td bgcolor="#dfdcdc" width="30" height="30" background="bilder/uebersicht_links.gif"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td bgcolor="#dfdcdc" width="30" height="30" background="bilder/uebersicht_links.gif"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td width="40%" height="30" background="bilder/uebersicht_unten.gif"></td> <td height="30" background="bilder/uebersicht_unten.gif"></td> <td width="45%" height="30" background="bilder/uebersicht_unten.gif"></td> - <td bgcolor="#dfdcdc" width="30" height="30" background="bilder/uebersicht_rechts.gif"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td bgcolor="#dfdcdc" width="30" height="30" background="bilder/uebersicht_rechts.gif"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> </td> </tr> </table> - <br> - <input type="submit" name="save" value="<?% msg.c_save %?>"> - <input type="submit" name="apply" value="<?% msg.c_apply %?>"> - <input type="hidden" name="aktion" value="conf_list"> + <br /> + <input type="submit" name="save" value="<%! Save !%>" /> + <input type="submit" name="apply" value="<%! Apply !%>" /> + <input type="hidden" name="aktion" value="conf_list" /> </form> </body> diff --git a/template/default/copper/logo_linvdr.gif b/template/default/copper/logo_linvdr.gif Binary files differnew file mode 100644 index 0000000..2196a8f --- /dev/null +++ b/template/default/copper/logo_linvdr.gif diff --git a/template/default/copper/logo_other.gif b/template/default/copper/logo_other.gif Binary files differnew file mode 100644 index 0000000..4e95955 --- /dev/null +++ b/template/default/copper/logo_other.gif diff --git a/template/default/error.html b/template/default/error.html index 5e72bab..69f297d 100644 --- a/template/default/error.html +++ b/template/default/error.html @@ -1,16 +1,19 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
- <title><tmpl_var name="title"></title>
+ <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
+ <title><%! Error! !%></title>
+ <link href="style.css" rel="stylesheet" media="screen" type="text/css"/>
+ <script type="text/javascript" language="JavaScript1.2" src="library.js"></script>
</head>
<body bgcolor="#f0f0f0">
<div align="center">
- <img src="bilder/sauerei.gif" height="230" width="177" border="0">
- <br>
+ <img src="bilder/sauerei.gif" height="230" width="177" border="0"/>
+ <br/>
<font color="red"><tmpl_var name="error"></font>
- <br>
+ <br/>
</div>
</body>
diff --git a/template/default/index.html b/template/default/index.html index 0763baa..6485b4a 100644 --- a/template/default/index.html +++ b/template/default/index.html @@ -1,20 +1,21 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> <tmpl_var version> (<tmpl_var host>)</title> - <link href="bilder/favicon.ico" rel="shortcut icon"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin <tmpl_var version> (<tmpl_var host>)</title> + <link href="bilder/favicon.ico" rel="shortcut icon" /> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <frameset border="0" cols="165,*" frameborder="no" framespacing="0"> - <frame name="nav" noresize src="left.html"> - <frame name="main" noresize src="<tmpl_var loginpage>"> + <frame name="nav" noresize src="left.html" /> + <frame name="main" noresize src="<tmpl_var loginpage>" /> <noframes> <body bgcolor="#ffffff"> - <p><?% msg.i_noframes %?></p> + <p><%! Your Browser does not support frames! !%></p> </body> </noframes> </frameset> diff --git a/template/default/left.html b/template/default/left.html index e998200..f48b6e7 100644 --- a/template/default/left.html +++ b/template/default/left.html @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?></title> - <link href="navi.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin</title> + <link href="navi.css" rel="stylesheet" media="screen" /> <script> <!-- @@ -25,58 +24,58 @@ <table width="150" border="0" cellspacing="0" cellpadding="0"> <tr> <td> - <br> - <a href="./" target="_top"><img src="bilder/linvdr.gif" alt="" height="50" width="150" border="0"></a> + <br /> + <a href="./" target="_top"><tmpl_if linvdr><img src="bilder/logo_linvdr.gif" alt="" height="50" width="150" border="0" /><tmpl_else><img src="bilder/logo_other.gif" alt="" height="50" width="150" border="0" /></tmpl_if></a> </td> </tr> <tr><td> </td></tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_summary" target="main"><?% msg.menu_prog_summary %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_summary" target="main"><%! What's On Now? !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_list2" target="main"><?% msg.menu_prog_list2 %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_list2" target="main"><%! Playing Today !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_timeline" target="main"><?% msg.menu_prog_timeline %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_timeline" target="main"><%! Timeline !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_list" target="main"><?% msg.menu_prog_list %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=prog_list" target="main"><%! Channels !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=timer_list" target="main"><?% msg.menu_timer_list %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=timer_list" target="main"><%! Timer !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=at_timer_list" target="main"><?% msg.menu_at_timer_list %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=at_timer_list" target="main"><%! Auto Timer !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=rec_list" target="main"><?% msg.menu_rec_list %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=rec_list" target="main"><%! Recordings !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=conf_list" target="main"><?% msg.menu_config %?></a></span></td> + <td height="25"><span class="navi"> <a href="vdradmin.pl?aktion=conf_list" target="main"><%! Configuration !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="javascript:rc_open();"><?% msg.menu_rc %?></a></span></td> + <td height="25"><span class="navi"> <a href="javascript:rc_open();"><%! Remote Control !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr height="25"> - <td height="25"><span class="navi"> <a href="javascript:tv_open();"><?% msg.menu_tv %?></a></span></td> + <td height="25"><span class="navi"> <a href="javascript:tv_open();"><%! Watch TV !%></a></span></td> </tr> <tr height="2"><td bgcolor="white" height="2" background="bilder/separator.png"></td></tr> <tr><td> </td></tr> <tr> <td> - <b><input type="text" name="search" size="15"></b><br> - <input type="submit" name="submit" value="<?% msg.menu_search %?>"> - <input type="hidden" name="aktion" value="prog_summary"> + <b><input type="text" name="search" size="15" /></b><br /> + <input type="submit" name="submit" value="<%! Search !%>" /> + <input type="hidden" name="aktion" value="prog_summary" /> </td> </tr> </table> diff --git a/template/default/library.js b/template/default/library.js index 75c8ad3..fc36da8 100644 --- a/template/default/library.js +++ b/template/default/library.js @@ -26,7 +26,7 @@ function callurl( url ) { } function popup(URL) { - window.open(URL, '_new', 'width=450, height=250, scrollbars=auto, resizable=yes'); + window.open(URL, '_new', 'width=500, height=250, scrollbars=auto, resizable=yes'); } function toolbar(URL) { diff --git a/template/default/noauth.html b/template/default/noauth.html index 646eb08..2f3d559 100644 --- a/template/default/noauth.html +++ b/template/default/noauth.html @@ -1,10 +1,14 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <title><?% msg.err_noauth %?></title> + <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> + <title><%! Authorization Required !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <body> - <h1><?% msg.err_noauth %?></h2> - <p><?% msg.err_cant_verify %?><p> + <h1><%! Authorization Required !%></h1> + <p><%! 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. !%></p> </body> </html> diff --git a/template/default/noperm.html b/template/default/noperm.html index 8f99768..e81480c 100644 --- a/template/default/noperm.html +++ b/template/default/noperm.html @@ -1,11 +1,15 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> + <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <title><tmpl_var title></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css"/> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <body> <h1><tmpl_var h1></h1> - <p><tmpl_var error><p><hr> + <p><tmpl_var error></p><hr /> </body> </html> diff --git a/template/default/prog_detail.html b/template/default/prog_detail.html index 16b1d67..5e36114 100644 --- a/template/default/prog_detail.html +++ b/template/default/prog_detail.html @@ -1,45 +1,46 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> <title><tmpl_var title></title> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> - <link href="style.css" rel="stylesheet" media="screen"> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> </head> <body bgcolor="#c4cdd7"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> <td height="30" valign="middle" background="bilder/uebersicht_oben.gif"> <b><tmpl_var channel_name><tmpl_if date> | <tmpl_var date> <tmpl_var start> - <tmpl_var stop></tmpl_if></b> </td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr> <td width="30" background="bilder/uebersicht_links.gif"> </td> <td bgcolor="#c4cdd7" background="bilder/uebersicht_mitte.gif"> - <b><tmpl_var title></b><br> + <b><tmpl_var title></b><br /> <tmpl_if subtitle> - <i><nobr><tmpl_var subtitle></nobr></i><br><br> + <i><nobr><tmpl_var subtitle></nobr></i><br /><br /> </tmpl_if> - <tmpl_var text><br><br> - <a href="javascript:window.close()">[<?% msg.pd_close %?>]</a> + <tmpl_var text><br /><br /> + <a href="javascript:window.close()">[<%! close !%>]</a> <tmpl_if date> - <a href="javascript:callurl('<tmpl_var switchurl>')">[<?% msg.pd_view %?>]</a> - <a href="javascript:window.close();opener.location.href='<tmpl_var recurl>'">[<?% msg.pd_record %?>]</a> - <a href="vdradmin.pl?search=<tmpl_var title>&aktion=prog_summary&submit=go11)" target="main">[<?% msg.pd_search %?>]</a> - <a href="http://akas.imdb.com/Tsearch?title=<tmpl_var title>" target="_blank" title="<?% msg.pd_imdb %?>">[IMDb]</a> + <a href="javascript:callurl('<tmpl_var switchurl>')">[<%! view !%>]</a> + <a href="javascript:window.close();opener.location.href='<tmpl_var recurl>'">[<%! record !%>]</a> + <a href="vdradmin.pl?search=<tmpl_var title>&aktion=prog_summary&submit=go11)" target="main">[<%! search !%>]</a> + </tmpl_if> + <tmpl_if title> + <a href="http://akas.imdb.com/Tsearch?title=<tmpl_var title>" target="_blank" title="<%! Lookup movie in the Internet-Movie-Database (IMDb) !%>">[IMDb]</a> </tmpl_if> </td> <td width="30" background="bilder/uebersicht_rechts.gif"> </td> </tr> <tr> - <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td background="bilder/uebersicht_unten.gif"></td> - <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> </body> diff --git a/template/default/prog_list.html b/template/default/prog_list.html index 6852551..da18971 100644 --- a/template/default/prog_list.html +++ b/template/default/prog_list.html @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.pl_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Channels !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script language="JavaScript" src="library.js"></script> </head> @@ -16,38 +15,38 @@ <td valign="left" width="200" background="bilder/nav_button_back.gif"> <p class="einzug_ohnetop"> <a href="javascript:callurl('<tmpl_var switchurl>');"><b><tmpl_var progname></b></a> - <a href="<tmpl_var streamurl>"><img src="bilder/stream.jpg" alt="stream" title="<?% msg.c_stream %?>" height="17" align="center" border="0"></a> +<tmpl_if stream_live_on> + <a href="<tmpl_var streamurl>"><img src="bilder/stream.jpg" alt="stream" title="<%! Stream !%>" height="17" align="center" border="0" /></a> +</tmpl_if> </p> </td> - <td align="right" valign="middle" background="bilder/nav_button_back_mitte.gif"><?% msg.c_channel %?> + <td align="right" valign="middle" background="bilder/nav_button_back_mitte.gif"><%! Channel: !%> <select name="vdr_id" size="1" 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> </tmpl_loop> </select> - <input type="submit" name="submit" value="<?% msg.c_go %?>"> - <a href="javascript:toolbar('<tmpl_var toolbarurl>');" target="toolbar"><img src="bilder/spacer.gif" border="0"></a> + <input type="submit" name="submit" value="<%! Go! !%>" /> + <a href="javascript:toolbar('<tmpl_var toolbarurl>');" target="toolbar"><img src="bilder/spacer.gif" border="0" /></a> </td> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <input type="hidden" name="aktion" value="prog_list"> + <input type="hidden" name="aktion" value="prog_list" /> </form> <tmpl_loop loop> <tmpl_if newd> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="3" background="bilder/uebersicht_oben.gif"> - <p><b><tmpl_var title></b></p> + <b><tmpl_var title></b> </td> <td align="right" background="bilder/uebersicht_oben.gif"> - <tmpl_if prev_channel><a href="<tmpl_var prev_channel>"><img src="bilder/pfeile_nachlinks.gif" border="0"></a><tmpl_else><img src="bilder/pfeile_nachlinks_soft.gif" border="0"></tmpl_if><tmpl_if next_channel><a href="<tmpl_var next_channel>"><img src="bilder/pfeile_nachrechts.gif" border="0"></a><tmpl_else><img src="bilder/pfeile_nachrechts_soft.gif" border="0"></tmpl_if> + <tmpl_if prev_channel><a href="<tmpl_var prev_channel>"><img src="bilder/pfeile_nachlinks.gif" border="0" /></a><tmpl_else><img src="bilder/pfeile_nachlinks_soft.gif" border="0" /></tmpl_if><tmpl_if next_channel><a href="<tmpl_var next_channel>"><img src="bilder/pfeile_nachrechts.gif" border="0" /></a><tmpl_else><img src="bilder/pfeile_nachrechts_soft.gif" border="0" /></tmpl_if> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr height="10"> <td valign="top" width="30" height="10" background="bilder/uebersicht_links.gif"></td> @@ -59,25 +58,25 @@ <tr> <td valign="top" width="30" background="bilder/uebersicht_links<tmpl_if __ODD__>_dark</tmpl_if>.gif"><a name="<tmpl_var anchor>"></a> </td> <td valign="top" width="170" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><tmpl_var emit> - <tmpl_var duration> <?% msg.c_clock %?></p> + <p class="einzug_liste"><tmpl_var emit> - <tmpl_var duration> <%! o'clock !%></p> </td> <td valign="top" width="652" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> - <b><tmpl_var title></b><br> - <i><tmpl_var subtitle></i><br> + <b><tmpl_var title></b><br /> + <i><tmpl_var subtitle></i><br /> </p> </td> <td align="right" valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_if infurl> - <a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info_button.gif" border="0" alt="info"></a> + <a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info_button.gif" border="0" alt="info" /></a> <tmpl_else> - <img src="bilder/info_button_disabled.gif" border="0" alt="noinfo"> + <img src="bilder/info_button_disabled.gif" border="0" alt="noinfo" /> </tmpl_if> </p> </td> <td align="right" valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><a class="rec" href="<tmpl_var recurl>"><img src="bilder/rec_button.gif" border="0" alt="record"></a></p> + <p class="einzug_liste"><a class="rec" href="<tmpl_var recurl>"><img src="bilder/rec_button.gif" border="0" alt="record" /></a></p> </td> <td valign="top" width="30" background="bilder/uebersicht_rechts<tmpl_if __ODD__>_dark</tmpl_if>.gif"> </td> </tr> @@ -85,12 +84,12 @@ </tmpl_if> <tmpl_if endd> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="4" background="bilder/uebersicht_unten.gif"></td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> </table> - <br> + <br /> </tmpl_if> </tmpl_loop> </body> diff --git a/template/default/prog_list2.html b/template/default/prog_list2.html index f11768a..9738469 100644 --- a/template/default/prog_list2.html +++ b/template/default/prog_list2.html @@ -1,27 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.pl2_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> - <script language="JavaScript"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Playing Today !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> + <script type="text/javascript" language="JavaScript1.2"> <!-- - function popup(URL) { - window.open(URL, '_new', 'width=440, height=250'); - } - - function toolbar(URL) { - window.open(URL, '_new', 'width=200, height=50'); - } - - function switch_channel(url) { - image = new Image(); - image.src = url; - document.switchimage.src = image.src; - } - // --> + function switch_channel( url ) { + image = new Image(); + image.src = url; + document.switchimage.src = image.src; + } + //--> </script> </head> @@ -30,37 +22,38 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="200" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><?% msg.pl2_headline %?></b></a></p> + <p class="einzug_ohnetop"><b><%! Playing Today !%></b></p> </td> <td align="right" background="bilder/nav_button_back_mitte.gif"> </td> <!-- TODO: really need this? - <td align="right" background="bilder/nav_button_back_mitte.gif"><?% msg.c_channel %?> + <td align="right" background="bilder/nav_button_back_mitte.gif"><%! Channel: !%> <select name="vdr_id" size="1" 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> </tmpl_loop> - </select> <input type="submit" name="submit" value="<?% msg.c_go %?>"> - <a href="javascript:toolbar('<tmpl_var toolbarurl>');" target="toolbar"><img src="bilder/spacer.gif" border="0"></a> + </select> <input type="submit" name="submit" value="<%! Go! !%>" /> + <a href="javascript:toolbar('<tmpl_var toolbarurl>');" target="toolbar"><img src="bilder/spacer.gif" border="0" /></a> </td> --> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <input type="hidden" name="aktion" value="prog_list"> + <input type="hidden" name="aktion" value="prog_list" /> </form> <tmpl_loop loop> <tmpl_if newd> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="3" background="bilder/uebersicht_oben.gif"> - <p><b><tmpl_var title></b></p> + <b><tmpl_var title></b> +<tmpl_if stream_live_on> + <a href="<tmpl_var streamurl>" title="<%! Stream !%>">[S]</a> +</tmpl_if> </td> <td align="right" background="bilder/uebersicht_oben.gif"></td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr> <td valign="top" width="30" background="bilder/uebersicht_links.gif"> </td> @@ -75,16 +68,16 @@ <tr> <td valign="top" width="30" background="bilder/uebersicht_links<tmpl_if __ODD__>_dark</tmpl_if>.gif"><a name="<tmpl_var anchor>"></a> </td> <td valign="top" width="170" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><tmpl_var emit> - <tmpl_var duration> <?% msg.c_clock %?></p> + <p class="einzug_liste"><tmpl_var emit> - <tmpl_var duration> <%! o'clock !%></p> </td> <td valign="top" width="652" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><b><tmpl_var title></b><br><tmpl_unless subtitle><br></tmpl_unless><i><tmpl_var subtitle></i></p> + <p class="einzug_liste"><b><tmpl_var title></b><br /><tmpl_unless subtitle><br /></tmpl_unless><i><tmpl_var subtitle></i></p> </td> <td align="right" valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><tmpl_if infurl><a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info_button.gif" border="0"></a><tmpl_else><img src="bilder/info_button_disabled.gif" border="0"></tmpl_if></p> + <p class="einzug_liste"><tmpl_if infurl><a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info_button.gif" border="0" /></a><tmpl_else><img src="bilder/info_button_disabled.gif" border="0" /></tmpl_if></p> </td> <td align="right" valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><b><a class="rec" href="<tmpl_var recurl>"><img src="bilder/rec_button.gif" border="0"></a></b></p> + <p class="einzug_liste"><b><a class="rec" href="<tmpl_var recurl>"><img src="bilder/rec_button.gif" border="0" /></a></b></p> </td> <td valign="top" width="30" background="bilder/uebersicht_rechts<tmpl_if __ODD__>_dark</tmpl_if>.gif"> </td> </tr> @@ -92,15 +85,15 @@ </tmpl_if> <tmpl_if endd> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> </table> - <br> + <br /> </tmpl_if> </tmpl_loop> </body> diff --git a/template/default/prog_summary.html b/template/default/prog_summary.html index 84f5df3..ac38e23 100644 --- a/template/default/prog_summary.html +++ b/template/default/prog_summary.html @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="refresh" content="600; URL=vdradmin.pl?aktion=prog_summary"> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.ps_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="refresh" content="600; URL=vdradmin.pl?aktion=prog_summary" /> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! What's On Now? !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script language="JavaScript" src="library.js"></script> </head> @@ -15,18 +14,18 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr valign="middle"> <td valign="middle" width="100" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><tmpl_var now> <?% msg.c_clock %?></b></p> + <p class="einzug_ohnetop"><b><tmpl_var now> <%! o'clock !%></b></p> </td> <td align="right" valign="middle" background="bilder/nav_button_back_mitte.gif"> - <?% msg.c_whatson %?> <a href="<tmpl_var nowurl>"><?% msg.c_now %?></a> |<?% msg.c_at %?> - <input type="text" name="time" size="5" value="<tmpl_var now>"> - <?% msg.c_clock %?> + <%! What's on: !%> <a href="<tmpl_var nowurl>"><%! now !%></a> |<%! at: !%> + <input type="text" name="time" size="5" value="<tmpl_var now>" /> + <%! o'clock !%> </td> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <input type="hidden" name="aktion" value="prog_summary"> - <br> + <input type="hidden" name="aktion" value="prog_summary" /> + <br /> <table border="0" cellspacing="0" cellpadding="0"> <tmpl_loop rows> @@ -40,8 +39,10 @@ <a name="<tmpl_var anchor>"></a> <p class="einzug"> <a href="<tmpl_var proglink>"><b><tmpl_var progname></b></a> - <a href="<tmpl_var streamurl>" title="<?% msg.c_stream %?>">[S]</a> - </p> +<tmpl_if stream_live_on> + <a href="<tmpl_var streamurl>" title="<%! Stream !%>">[S]</a> +</tmpl_if> + </p> </td> <td align="right"> <p class="einzug"> @@ -52,15 +53,15 @@ </table> <div class="einzug_ohnetop"> - <tmpl_var longdate><br> - <b><tmpl_var title></b><br> + <tmpl_var longdate><br /> + <b><tmpl_var title></b><br /> <tmpl_if subtitle> - <i><tmpl_var subtitle></i><br> + <i><tmpl_var subtitle></i><br /> </tmpl_if> - <br> - <tmpl_if summary><tmpl_var summary> <a href="javascript:popup('<tmpl_var infurl>');"><?% msg.ps_more %?></a></tmpl_if> - <br> - <br> + <br /> + <tmpl_if summary><tmpl_var summary> <a href="javascript:popup('<tmpl_var infurl>');"><%! more !%></a></tmpl_if> + <br /> + <br /> </div> </td> <tmpl_else> @@ -75,21 +76,21 @@ <table width="272" border="0" cellpadding="0" cellspacing="0"> <tr> <td> - <a href="javascript:callurl('<tmpl_var switchurl>');"><img src="bilder/auge.jpg" width="71" height="38" border="0" alt="<?% msg.ps_view %?>" onmouseover="window.status='<?% msg.ps_view %?>';return true" title="<?% msg.ps_view %?>"></a> + <a href="javascript:callurl('<tmpl_var switchurl>');"><img src="bilder/auge.jpg" width="71" height="38" border="0" alt="<%! TV select !%>" onmouseover="window.status='<%! TV select !%>';return true" title="<%! TV select !%>" /></a> </td> <td> <!-- Sendungs Titel und Subtitel --> - <a href="vdradmin.pl?search=<tmpl_var title>&aktion=prog_summary&submit=go11)"><img src="bilder/lupe.jpg" width="63" height="38" border="0" alt="<?% msg.ps_search %?>" onmouseover="window.status='<?% msg.ps_search %?>';return true" title="<?% msg.ps_search %?>"></a> + <a href="vdradmin.pl?search=<tmpl_var title>&aktion=prog_summary&submit=go11)"><img src="bilder/lupe.jpg" width="63" height="38" border="0" alt="<%! Search for other show times !%>" onmouseover="window.status='<%! Search for other show times !%>';return true" title="<%! Search for other show times !%>" /></a> </td> <td> <tmpl_if summary> - <a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info.jpg" width="64" height="38" border="0" alt="<?% msg.ps_more_info %?>" onmouseover="window.status='<?% msg.ps_more_info %?>';return true" title="<?% msg.ps_more_info %?>"></a> + <a href="javascript:popup('<tmpl_var infurl>');"><img src="bilder/info.jpg" width="64" height="38" border="0" alt="<%! More Information !%>" onmouseover="window.status='<%! More Information !%>';return true" title="<%! More Information !%>" /></a> <tmpl_else> - <img src="bilder/info_disabled.jpg" width="64" height="38" border="0" alt="noinfo"> + <img src="bilder/info_disabled.jpg" width="64" height="38" border="0" alt="noinfo" /> </tmpl_if> </td> <td> - <a href="<tmpl_var recurl>"><img src="bilder/rec.jpg" width="74" height="38" border="0" alt="<?% msg.ps_record %?>" onmouseover="window.status='<?% msg.ps_record %?>';return true" title="<?% msg.ps_record %?>"></a> + <a href="<tmpl_var recurl>"><img src="bilder/rec.jpg" width="74" height="38" border="0" alt="<%! Record !%>" onmouseover="window.status='<%! Record !%>';return true" title="<%! Record !%>" /></a> </td> </tr> </table> diff --git a/template/default/prog_timeline.html b/template/default/prog_timeline.html index d0f3f0e..addd50d 100644 --- a/template/default/prog_timeline.html +++ b/template/default/prog_timeline.html @@ -1,10 +1,12 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="refresh" content="600; URL=vdradmin.pl?aktion=prog_timeline"> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?%msg.pt_headline %?></title> + <meta http-equiv="refresh" content="600; URL=vdradmin.pl?aktion=prog_timeline" /> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! What's On Now? !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> <?%- breite = 600; @@ -36,7 +38,6 @@ einheit = ((breite / bis) + 0.5) | format('%i'); -%?> - <link href="style.css" rel="stylesheet" media="screen"> <style type="text/css"> #prgtable { border-left-width:1px; border-left-color:#c4cdd7; border-left-style:solid; border-bottom-width:1px; border-bottom-color:#c4cdd7; border-bottom-style:solid; padding:2px; } #timertable { background:red; border-left-width:1px; border-left-color:#ffcdd7; border-left-style:solid; border-bottom-width:1px; border-bottom-color:#ffcdd7; border-bottom-style:solid; padding:2px; } @@ -48,7 +49,6 @@ #bigtable { position:absolute; top:100px; left: <?% left %?>px; z-index: 1; } </style> - <script language="JavaScript" src="library.js"></script> <script language="JavaScript"> function Go(x) { if(x =="nothing") { @@ -65,42 +65,40 @@ <body bgcolor="#c4cdd7" leftmargin="3" marginheight="20" marginwidth="3" topmargin="20"> <form action="<?% nowurl %?>" method="get" name="FormName"> - <table width="<?% breite + seite + 80 %?>" border="0" cellspacing="0" cellpadding="0" height="39" style='position:absolute; left:<?% left %?>; top: 20px'> + <table width="<?% breite + seite + 80 %?>" border="0" cellspacing="0" cellpadding="0" height="39" style="position:absolute; left:<?% left %?>; top: 20px"> <tr> <td valign="middle" background="bilder/nav_button_back.gif"> - <nobr><p class="einzug_ohnetop"><b><?% now %?> <?% msg.c_clock %?></b></p></nobr> + <nobr><p class="einzug_ohnetop"><b><?% now %?> <%! o'clock !%></b></p></nobr> </td> <td align="right" valign="middle" background="bilder/nav_button_back_mitte.gif"> - <?% msg.c_whatson %?> - <select size=1 name="Auswahl" onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)" style="width:100px"; width="100"> - <option value="<?% nowurl %?>"><?% msg.c_now %?></option> + <%! What's on: !%> + <select size="1" name="Auswahl" onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)" style="width:100px" width="100"> + <option value="<?% nowurl %?>"><%! now !%></option> <?% FOREACH timer = times %?> <?% timer_o_dopp = timer | replace('\:', '') %?> <option value="<?% nowurl %?>&time=<?% timer_o_dopp %?>" <?% "selected" IF now == timer %?>><?% timer %?></option> <?% END %?> </select> - | <?% msg.c_at %?> - <input type="text" name="time" size="5" value="<?% now %?>"> - <?% msg.c_clock %?> - <input type="hidden" name="aktion" value="prog_timeline"> + | <%! at: !%> + <input type="text" name="time" size="5" value="<?% now %?>" /> + <%! o'clock !%> + <input type="hidden" name="aktion" value="prog_timeline" /> </td> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br /> <!-- Vertikal ansicht TOP --> - <span id="zeitleiste" class="zeitleiste"><img src="bilder/spacer.gif" width="1" height=1 border=0></span> + <span id="zeitleiste" class="zeitleiste"><img src="bilder/spacer.gif" width="1" height="1" border="0" /></span> <!-- Zeitleiste --> <table width="<?% breite + seite + 40 %?>" border="0" cellspacing="0" cellpadding="0" name="bigtable" id="bigtable"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> - <td colspan="3" width='<?% breite + seite %?>' background="bilder/uebersicht_oben.gif"><b><?% msg.pt_timeline %?> <?% date.format(akt_sekunde, '%H:%M') %?> <?% msg.c_clock %?> <?% msg.pt_to %?> <?% date.format(bis_sec, '%H:%M') %?> <?% msg.c_clock %?></b></td> - <td align="right" background="bilder/uebersicht_oben.gif"><nobr><?% IF akt_stunde <= jetzt_stunde %?><img src="bilder/pfeile_nachlinks_soft.gif" border="0"><?% ELSE %?><a href="<?% nowurl %?>&time=<?% akt_stunde - zeitrahmen | format('%02d') %?><?% akt_minute | format('%02d') %?>"><img src="bilder/pfeile_nachlinks.gif" border="0"></a><?% END %?><a href="<?% nowurl %?>&time=<?% bis_stunde | format('%02d') %?><?% akt_minute | format('%02d') %?>"><img src="bilder/pfeile_nachrechts.gif" border="0"></a></td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> + <td colspan="3" width='<?% breite + seite %?>' background="bilder/uebersicht_oben.gif"><b><%! Timeline: !%> <?% date.format(akt_sekunde, '%H:%M') %?> <%! o'clock !%> <%! to !%> <?% date.format(bis_sec, '%H:%M') %?> <%! o'clock !%></b></td> + <td align="right" background="bilder/uebersicht_oben.gif"><nobr><?% IF akt_stunde <= jetzt_stunde %?><img src="bilder/pfeile_nachlinks_soft.gif" border="0" width="28" height="30" /><?% ELSE %?><a href="<?% nowurl %?>&time=<?% akt_stunde - zeitrahmen | format('%02d') %?><?% akt_minute | format('%02d') %?>"><img src="bilder/pfeile_nachlinks.gif" border="0" width="28" height="30" /></a><?% END %?><a href="<?% nowurl %?>&time=<?% bis_stunde | format('%02d') %?><?% akt_minute | format('%02d') %?>"><img src="bilder/pfeile_nachrechts.gif" border="0" width="29" height="30" /></a></nobr></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr> <td valign="top" width="30" background="bilder/uebersicht_links.gif"> </td> @@ -113,12 +111,12 @@ <tr> <td valign="top" width="30" background="bilder/uebersicht_links.gif"> </td> <td colspan="4"> - <table border=0 cellpadding=0 cellspacing=0 width="1"> + <table border="0" cellpadding="0" cellspacing="0" width="1"> <tr> - <td bgcolor="#e6eff9"><img src="bilder/spacer.gif" width="<?% seite %?>" height=1 border=0><br></td> + <td bgcolor="#e6eff9"><img src="bilder/spacer.gif" width="<?% seite %?>" height="1" border="0" /><br /></td> <?% WHILE minute < bis %?> <td colspan="6" bgcolor='<?% minute % 60 ? "#e6eff9" : "#d5dee8" %?>'> - <img src="bilder/spacer.gif" width="<?% einheit * 30 %?>" height=1 border=0><br> + <img src="bilder/spacer.gif" width="<?% einheit * 30 %?>" height="1" border="0" /><br /> <?% zeit = akt_sekunde + (minute * 60) %?> <b><?% date.format(zeit, '%H:%M') %?></b> </td> @@ -127,13 +125,13 @@ </tr> <?% minute = 0 %?> <tr> - <td bgcolor="#e6eff9"><img src="bilder/spacer.gif" width="<?% seite %?>" height=1 border=0><br></td> + <td bgcolor="#e6eff9"><img src="bilder/spacer.gif" width="<?% seite %?>" height="1" border="0" /><br /></td> <?% WHILE minute < bis %?> - <td width='1%' align=left valign=bottom bgcolor='<?% minute % 10 ? "#e6eff9" : "#d5dee8" %?>'> + <td width="1%" align="left" valign="bottom" bgcolor="<?% minute % 10 ? '#e6eff9' : '#d5dee8' %?>"> <?% IF minute % 15 %?> - <img src="bilder/pixel.gif" width="1" height=5 border=0> + <img src="bilder/pixel.gif" width="1" height="5" border="0" /> <?% ELSE %?> - <img src="bilder/pixel.gif" width="1" height=10 border=0> + <img src="bilder/pixel.gif" width="1" height="10" border="0" /> <?% END %?> </td> <?% minute = minute + 5 %?> @@ -141,7 +139,7 @@ </tr> </table> - <table border=0 cellpadding=0 cellspacing=0 width="1"> + <table border="0" cellpadding="0" cellspacing="0" width="1"> <!-- Sendernamen --> <?% b = 0; FOREACH name = shows.keys.nsort; @@ -149,12 +147,12 @@ chars = seite / 10 | format('%i'); b = b + 1 %?> <tr> - <td valign='top' bgcolor='<?% b % 2 ? "#d5dee8" : "#e6eff9" %?>'> - <img src="bilder/spacer.gif" width="<?% seite %?>" height=1 border=0><br> + <td valign="top" bgcolor="<?% b % 2 ? '#d5dee8' : '#e6eff9' %?>"> + <img src="bilder/spacer.gif" width="<?% seite %?>" height="1" border="0" /><br /> <a href="<?% shows.${name}.first.proglink %?>"><b><?% shows.${name}.first.progname | truncate(chars) %?></b></a> </td> <!-- Programm --> - <td colspan="<?% (bis / 5) %?>" bgcolor='<?% b % 2 ? "#d5dee8" : "#e6eff9" %?>'> + <td colspan="<?% (bis / 5) %?>" bgcolor="<?% b % 2 ? '#d5dee8' : '#e6eff9' %?>"> <nobr> <?% z = 0; @@ -183,10 +181,10 @@ <?% IF start_minute > akt_minute && ! z %?> <?% diff = (start_minute - akt_minute) * einheit %?> - <table border=0 align=left cellpadding=0 cellspacing=0> + <table border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td width="1"> - <img src='bilder/spacer.gif' width='<?% diff %?>' height='8' border=0 align=left hspace=0> + <img src="bilder/spacer.gif" width="<?% diff %?>" height="8" border="0" align="left" hspace="0" /> </td> </tr> </table> @@ -194,21 +192,21 @@ <?% IF old_stop_minute + 1 < start_minute && z %?> <?% diff = (start_minute - old_stop_minute - 1) * einheit %?> - <img title="DiffMinute: <?% start_minute - old_stop_minute - 1 %?>" src='bilder/spacer.gif' width='<?% diff %?>' height='8' border=0 align=left hspace=0> + <img title="DiffMinute: <?% start_minute - old_stop_minute - 1 %?>" src="bilder/spacer.gif" width="<?% diff %?>" height="8" border="0" align="left" hspace="0" /> <?% END %?> <?% bg_color = date.now > show.start && date.now < show.stop ? "#f7fffA" : "#e6eee9"; bg_color = show.timer ? "#ffeee9" : bg_color %?> - <table border=0 align=left cellpadding=0 cellspacing=0 id="<?% show.timer ? "timertable" : "prgtable" %?>"> + <table border="0" align="left" cellpadding="0" cellspacing="0" id="<?% show.timer ? 'timertable' : 'prgtable' %?>"> <tr> <td width="1" bgcolor="<?% bg_color %?>"> - <img src="bilder/spacer.gif" width="<?% laenge_pix %?>" height=1 border=0 hspace=0><br> + <img src="bilder/spacer.gif" width="<?% laenge_pix %?>" height="1" border="0" hspace="0" /><br /> <nobr> <?% IF show.summary %?><a href="javascript:popup('./vdradmin.pl?aktion=prog_detail&epg_id=<?% show.anchor %?>&vdr_id=<?% show.vdr_id %?>');"><?% END %?> - <span title='<?% show.title %?>'> + <span title="<?% show.title %?>"> <?% IF laenge_chars > 2 %?> <?% show.title | truncate( laenge_chars ) %?> <?% ELSE %?> - <img src='bilder/spacer.gif' width='<?% laenge_pix %?>' height='8' border=0 hspace=0> + <img src="bilder/spacer.gif" width="<?% laenge_pix %?>" height="8" border="0" hspace="0" /> <?% END %?> </span> <?% IF show.summary %?></a><?% END %?> @@ -233,12 +231,12 @@ <td valign="top" width="30" background="bilder/uebersicht_rechts.gif"> </td> </tr> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> <td background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> </table> </form> diff --git a/template/default/rc.html b/template/default/rc.html index fad239a..8c4d327 100644 --- a/template/default/rc.html +++ b/template/default/rc.html @@ -1,10 +1,9 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.rc_headline %?> (<tmpl_var host>)</title> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Remote Control !%> (<tmpl_var host>)</title> <script language="JavaScript"> <!-- function switch_channel(url) { @@ -19,95 +18,95 @@ <table width="200" border="0" cellspacing="0" cellpadding="0" background="bilder/fern_back.jpg"> <tr> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </tr> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> - <td><img src="bilder/spacer.gif" name="switchimage" width="1" height="1"> </td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> + <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </tr> </table> diff --git a/template/default/rec_edit.html b/template/default/rec_edit.html index 1ab7db6..aa2f893 100644 --- a/template/default/rec_edit.html +++ b/template/default/rec_edit.html @@ -1,22 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.re_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> + <title>VDRAdmin - <%! Rename Recording !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <body bgcolor="#f0f0f0" leftmargin="3" marginheight="20" marginwidth="3" topmargin="20"> <form action="<tmpl_var url>" method="get" name="form"> <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> - <td valign="middle" width="200" background="bilder/nav_button_back.gif"><p class="einzug_ohnetop"><b><?% msg.re_headline %?></b></p></td> + <td valign="middle" width="200" background="bilder/nav_button_back.gif"><p class="einzug_ohnetop"><b><%! Rename Recording !%></b></p></td> <td align="right" width="550" background="bilder/nav_button_back_mitte.gif"> </td> <td align="right" width="203" background="bilder/nav_button_back_mitte.gif"> </td> - <td width="15"><img src="bilder/nav_button_back_end.gif" width="15"></td> + <td width="15"><img src="bilder/nav_button_back_end.gif" width="15" /></td> </tr> </table> - <br> + <br /> <div align="left"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> @@ -33,14 +35,14 @@ </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"> </td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.re_old_title %?></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="title" value="<tmpl_var title>" size="55" readonly></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Original Name of Recording: !%></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="title" value="<tmpl_var title>" size="55" readonly /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"> </td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"> </td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.re_new_title %?></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="nn" value="<tmpl_var title>" size="55"></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! New Name of Recording: !%></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="nn" value="<tmpl_var title>" size="55" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"> </td> </tr> <tr height="30"> @@ -51,15 +53,15 @@ </tr> </table> </div> - <br> + <br /> <div align="left"> - <input type="hidden" name="aktion" value="rec_rename"> - <input type="hidden" name="id" value="<tmpl_var id>"> + <input type="hidden" name="aktion" value="rec_rename" /> + <input type="hidden" name="id" value="<tmpl_var id>" /> <tmpl_if referer> - <input type="hidden" name="referer" value="<tmpl_var referer>"> + <input type="hidden" name="referer" value="<tmpl_var referer>" /> </tmpl_if> - <input type="submit" name="save" value="<?% msg.re_rename %?>"> - <input type="submit" name="exit" value="<?% msg.c_cancel %?>"> + <input type="submit" name="save" value="<%! Rename !%>" /> + <input type="submit" name="exit" value="<%! Cancel !%>" /> </div> </form> </body> diff --git a/template/default/rec_list.html b/template/default/rec_list.html index 4036167..074b016 100644 --- a/template/default/rec_list.html +++ b/template/default/rec_list.html @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.rl_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Recordings !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> @@ -13,25 +12,25 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="300" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><?% msg.rl_headline %?></b></p> + <p class="einzug_ohnetop"><b><%! Recordings !%></b></p> </td> <td colspan="2" align="right" background="bilder/nav_button_back_mitte.gif"> <tmpl_if disk_total> - <?% msg.rl_hd_total %?> <tmpl_var minutes_total><?% msg.c_hours_short %?> (<tmpl_var disk_total>) - | <?% msg.rl_hd_free %?> <tmpl_var minutes_free><?% msg.c_hours_short %?> (<tmpl_var disk_free>) + <%! Total: !%> <tmpl_var minutes_total><%! h !%> (<tmpl_var disk_total>) + | <%! Free: !%> <tmpl_var minutes_free><%! h !%> (<tmpl_var disk_free>) </tmpl_if> </td> <tmpl_if name="help_url"> <td align="right" width="35" background="bilder/nav_button_back_mitte.gif"> - <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" valign="top" alt="help" title="<?% msg.c_help %?>"></a> + <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" valign="top" alt="help" title="<%! Help !%>" /></a> </td> </tmpl_if> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br /> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> @@ -43,51 +42,51 @@ </tr> </table> - <br> + <br /> <form action="<tmpl_var url>" method="get" name="FormName"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_oben<tmpl_if sortbydate>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbydateurl>"><?% msg.c_list_date %?> + <a class="sort" href="<tmpl_var sortbydateurl>"><%! Date !%> <tmpl_if sortbydate> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td colspan="2" background="bilder/uebersicht_oben<tmpl_if sortbytime>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbytimeurl>"><?% msg.c_list_time %?> + <a class="sort" href="<tmpl_var sortbytimeurl>"><%! Time !%> <tmpl_if sortbytime> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td background="bilder/uebersicht_oben<tmpl_if sortbyname>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbynameurl>"><?% msg.c_list_name %?> + <a class="sort" href="<tmpl_var sortbynameurl>"><%! Name !%> <tmpl_if sortbyname> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> - <td width="30" align="center" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<?% msg.c_select_allnone %?>"></td> + <td width="30" align="center" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<%! Select all/none !%>" /></td> +<tmpl_if stream_rec_on> <td width="70" background="bilder/uebersicht_oben.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> +</tmpl_if> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tmpl_loop recloop> @@ -98,7 +97,7 @@ </td> <td valign="top" align="left" width="10" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbydate>_selected</tmpl_if>.gif"> <p class="einzug_liste"> - <tmpl_if isfolder> <?% msg.rl_rec_total %?></tmpl_if> + <tmpl_if isfolder> <%! Total !%></tmpl_if> </p> </td> <td valign="top" align="right" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbytime>_selected</tmpl_if>.gif"> @@ -107,10 +106,10 @@ <td valign="top" width="10" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbytime>_selected</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_if isfolder> - <?% msg.rl_rec_new %?> + <%! New !%> <tmpl_else> <tmpl_if new> - <?% msg.rl_rec_new %?> + <%! New !%> </tmpl_if> </tmpl_if> </p> @@ -118,7 +117,7 @@ <td valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbyname>_selected</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_if isfolder> - <img align="absmiddle" src="bilder/folder.gif" border="0"> + <img align="absmiddle" src="bilder/folder.gif" border="0" /> <a href="<tmpl_var infurl>"><b><font color="black"><tmpl_var name></font></b></a> <tmpl_else> <a href="javascript:popup('<tmpl_var infurl>');"><b><tmpl_var name></b></a> @@ -128,55 +127,69 @@ <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_unless isfolder> - <a href="<tmpl_var editurl>"><img src="bilder/edit.gif" alt="rename" title="<?% msg.rl_rename %?>" height="17" width="17" border="0"></a> + <a href="<tmpl_var editurl>"><img src="bilder/edit.gif" alt="rename" title="<%! Rename !%>" height="17" width="17" border="0" /></a> </tmpl_unless> </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_unless isfolder> - <a href="javascript:del('<?% msg.js_del_rec %?>', '<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" title="<?% msg.c_delete %?>" height="17" width="17" border="0"></a> + <a href="javascript:del('<%! Delete recording? !%>', '<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" title="<%! Delete !%>" height="17" width="17" border="0" /></a> </tmpl_unless> </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> - <tmpl_unless isfolder><input type="checkbox" name="xxxx_<tmpl_var id>"></tmpl_unless> + <tmpl_unless isfolder><input type="checkbox" name="xxxx_<tmpl_var id>" /></tmpl_unless> </p> </td> +<tmpl_if stream_rec_on> <td align="center" valign="top" width="70" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_unless isfolder> - <a href="<tmpl_var streamurl>"><img src="bilder/stream.jpg" alt="stream" title="<?% msg.c_stream %?>" height="17" border="0"></a> + <a href="<tmpl_var streamurl>"><img src="bilder/stream.jpg" alt="stream" title="<%! Stream !%>" height="17" border="0" /></a> </tmpl_unless> </p> </td> +</tmpl_if> <td valign="top" width="30" background="bilder/uebersicht_rechts<tmpl_if __ODD__>_dark</tmpl_if>.gif"> </td> </tr> </tmpl_loop> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> - <td colspan="9" background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> + <td colspan="<tmpl_if stream_rec_on>9<tmpl_else>8</tmpl_if>" background="bilder/uebersicht_unten.gif"> </td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr> - <td colspan="5"> </td> - <td colspan="5" align="right"><br> + <td width="30"> </td> + <td colspan="<tmpl_if stream_rec_on>9<tmpl_else>8</tmpl_if>" align="right"><br /> +<tmpl_if reccmds> + <%! Commands: !%> + <select name="rec_cmd"> + <tmpl_loop reccmds> + <option value="<tmpl_var id>"><tmpl_var title></option> + </tmpl_loop> + </select> + <input type="submit" name="rec_runcmd" value="<%! Run !%>" onclick="confirm(<%! Really run this command? !%>)" /> +</tmpl_if> +<!-- <table border="0" cellspacing="0" cellpadding="0"> <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="javascript:mdel('<?% msg.js_del_selected_rec %?>');"><div class="gbutton"><?% msg.rl_del_selected %?></div></a> + <a href="javascript:mdel('<%! Delete all selected recordings? !%>');"><div class="gbutton"><%! Delete Selected Recordings !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> </tr> </table> +--> + <input type="submit" name="rec_delete" value="<%! Delete Selected Recordings !%>" onclick="mdel('<%! Delete all selected recordings? !%>');" /> </td> <td valign="top" width="30"> </td> </tr> </table> - <input type="hidden" name="aktion" value="rec_delete"> + <input type="hidden" name="aktion" value="rec_delete" /> </form> </body> </html> diff --git a/template/default/style.css b/template/default/style.css index 8d2cabb..08c9ce0 100644 --- a/template/default/style.css +++ b/template/default/style.css @@ -26,7 +26,7 @@ a.sort:active { color: black; text-decoration: underline; font-weight: bold } .rechts { text-align: right} .einzug { margin: 10px 12px } .einzug_ohnetop { margin-right: 12px; margin-left: 12px } -.einzug_liste { margin: 3px 5px 0px 5px } +.einzug_liste { margin: 3px 5px 0px 5px; white-space: nowrap; } .einzug_liste_headlines { margin-right: 5px; margin-left: 6px } .einzugklein { color: #000; font-weight: normal; font-size: 10px; font-family: Verdana, Arial, Geneva, Helvetica, sans-serif; margin-right: 7px; margin-left: 7px } .gbutton { color: black; font-weight: bold } diff --git a/template/default/timer_list.html b/template/default/timer_list.html index 2f21143..3862ba9 100644 --- a/template/default/timer_list.html +++ b/template/default/timer_list.html @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title><?% msg.c_progname %?> - <?% msg.tl_headline %?></title> - <link href="style.css" rel="stylesheet" media="screen"> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - <%! Timer !%></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> <style type="text/css"> #prgtable { border-left-width:1px;border-left-color:#000000;border-left-style:solid; border-right-width:1px;border-right-color:#000000;border-right-style:solid;} @@ -28,7 +27,7 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="200" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><?% msg.tl_headline %?></b></p> + <p class="einzug_ohnetop"><b><%! Timer !%></b></p> </td> <td align="right" background="bilder/nav_button_back_mitte.gif"> </td> <td align="right" background="bilder/nav_button_back_mitte.gif"> @@ -36,7 +35,7 @@ <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="<tmpl_var nturl>"><div class="gbutton"><?% msg.tl_new_timer %?></div></a> + <a href="<tmpl_var nturl>"><div class="gbutton"><%! New Timer !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> </tr> @@ -44,22 +43,20 @@ </td> <tmpl_if help_url> <td align="right" width="35" background="bilder/nav_button_back_mitte.gif"> - <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" alt="help" title="<?% msg.c_help %?>"></a> + <a href="javascript:open_help('<tmpl_var help_url>');"><img src="bilder/help.gif" border="0" alt="help" title="<%! Help !%>" /></a> </td> </tmpl_if> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br /> <form action="<tmpl_var url>" method="get" name="FormName1"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> <td background="bilder/uebersicht_oben.gif"> - <p><b><tmpl_var title></b></p> + <b><tmpl_var title></b> </td> <td background="bilder/uebersicht_oben.gif" align="right"> <select name="vdr_id" size="1" onchange="window.open('<tmpl_var url>?aktion=timer_list&timer=' + this.options[this.selectedIndex].value,'main')"> @@ -68,15 +65,15 @@ </tmpl_loop> </select> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr> <td valign="top" width="30" background="bilder/uebersicht_links.gif"> </td> <td colspan="2" background="bilder/uebersicht_mitte.gif"> - <br> - <table cellspacing=0 cellpadding=0 border=0> + <br /> + <table cellspacing="0" cellpadding="0" border="0"> <tr> - <td bgcolor="<?% farbenix2 %?>" height=20 width=100><img src="bilder/spacer.gif" width="100" height=1 border=0><br> </td> + <td bgcolor="<?% farbenix2 %?>" height=20 width=100><img src="bilder/spacer.gif" width="100" height="1" border="0" /><br /> </td> <?% stunde=0; pos=0; @@ -90,7 +87,7 @@ ende=((stunde * 60 / faktor) +0.5 ) | format('%i'); %?> - <td bgcolor="<?% farbe %?>" align="center"><img src="bilder/spacer.gif" width="<?% ende-pos %?>" height=1 border=0><br><?% stunde - 1 %?></td> + <td bgcolor="<?% farbe %?>" align="center"><img src="bilder/spacer.gif" width="<?% ende-pos %?>" height="1" border="0" /><br /><?% stunde - 1 %?></td> <?% pos=ende; END; @@ -107,15 +104,15 @@ bgfarbe=((programm % 2) == 0) ? farbenix1 : farbenix2; sender=timer.cdesc; %?> - <table cellspacing=0 cellpadding=0 border=0> + <table cellspacing="0" cellpadding="0" border="0"> <tr> - <td bgcolor="#000000" height=1><img src="bilder/spacer.gif" width="<?% tablaenge + 100 %?>" height=1 border=0></td> + <td bgcolor="#000000" height="1"><img src="bilder/spacer.gif" width="<?% tablaenge + 100 %?>" height="1" border="0" /></td> </tr> </table> - <table cellspacing=0 cellpadding=0 border=0> + <table cellspacing="0" cellpadding="0" border="0"> <tr> - <td bgcolor="<?% bgfarbe %?>" height=20 width=100><img src="bilder/spacer.gif" width="100" height=1 border=0><br><b><?% sender | truncate(11) %?></b></td> + <td bgcolor="<?% bgfarbe %?>" height="20" width="100"><img src="bilder/spacer.gif" width="100" height="1" border="0" /><br /><b><?% sender | truncate(11) %?></b></td> <?% pos=0; @@ -144,19 +141,19 @@ IF start>pos; %?> - <td bgcolor="<?% bgfarbe %?>"><img src="bilder/spacer.gif" width="<?% start-pos %?>" height=1 border=0><br></td> + <td bgcolor="<?% bgfarbe %?>"><img src="bilder/spacer.gif" width="<?% start-pos %?>" height="1" border="0" /><br /></td> <?% pos=start; END; IF ende - pos < 2; %?> - <td bgcolor="<?% progfarbe %?>"><span title="<?% sendung.title %?>"><img src="bilder/spacer.gif" width="<?% ende - pos %?>" height=20 border=0></span></td> + <td bgcolor="<?% progfarbe %?>"><span title="<?% sendung.title %?>"><img src="bilder/spacer.gif" width="<?% ende - pos %?>" height="20" border="0" /></span></td> <?% ELSE; %?> - <td bgcolor="<?% progfarbe %?>" id="prgtable"><span title="<?% sendung.title %?>"><img src="bilder/spacer.gif" width="<?% ende - pos - 2 %?>" height=20 border=0></span></td> + <td bgcolor="<?% progfarbe %?>" id="prgtable"><span title="<?% sendung.title %?>"><img src="bilder/spacer.gif" width="<?% ende - pos - 2 %?>" height="20" border="0" /></span></td> <?% END; @@ -165,7 +162,7 @@ END; IF pos<tablaenge; %?> - <td bgcolor="<?% bgfarbe %?>"><img src="bilder/spacer.gif" width="<?% tablaenge - pos %?>" height=1 border=0><br></td> + <td bgcolor="<?% bgfarbe %?>"><img src="bilder/spacer.gif" width="<?% tablaenge - pos %?>" height="1" border="0" /><br /></td> <?% END; @@ -178,100 +175,98 @@ END; %?> - <table cellspacing=0 cellpadding=0 border=0> + <table cellspacing="0" cellpadding="0" border="0"> <tr> - <td bgcolor="#000000" height=1><img src="bilder/spacer.gif" width="<?% tablaenge + 100 %?>" height=1 border=0></td> + <td bgcolor="#000000" height="1"><img src="bilder/spacer.gif" width="<?% tablaenge + 100 %?>" height="1" border="0" /></td> </tr> </table> </td> <td valign="top" width="30" background="bilder/uebersicht_rechts.gif"> </td> </tr> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="2" background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> </table> - <input type="hidden" name="aktion" value="timer_list"> + <input type="hidden" name="aktion" value="timer_list" /> </form> - <br> + <br /> <form action="<tmpl_var url>" method="get" name="FormName"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> - <td valign="top" width="30"> - <p><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0"></p> - </td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_links.gif" alt="" height="30" width="30" border="0" /></td> <td width="70" background="bilder/uebersicht_oben<tmpl_if sortbyactive>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbyactiveurl>"><?% msg.c_list_active %?> + <a class="sort" href="<tmpl_var sortbyactiveurl>"><%! Active !%> <tmpl_if sortbyactive> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="10%" background="bilder/uebersicht_oben<tmpl_if sortbychannel>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbychannelurl>"><?% msg.c_list_channel %?> + <a class="sort" href="<tmpl_var sortbychannelurl>"><%! Channel !%> <tmpl_if sortbychannel> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="40" background="bilder/uebersicht_oben<tmpl_if sortbyday>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbydayurl>"><?% msg.c_list_date %?> + <a class="sort" href="<tmpl_var sortbydayurl>"><%! Date !%> <tmpl_if sortbyday> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="40" background="bilder/uebersicht_oben<tmpl_if sortbystart>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbystarturl>"><?% msg.c_list_start %?> + <a class="sort" href="<tmpl_var sortbystarturl>"><%! Start !%> <tmpl_if sortbystart> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="40" background="bilder/uebersicht_oben<tmpl_if sortbystop>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbystopurl>"><?% msg.c_list_stop %?> + <a class="sort" href="<tmpl_var sortbystopurl>"><%! Stop !%> <tmpl_if sortbystop> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td background="bilder/uebersicht_oben<tmpl_if sortbyname>_selected</tmpl_if>.gif"> <nobr class="einzug_liste_headlines"> - <a class="sort" href="<tmpl_var sortbynameurl>"><?% msg.c_list_name %?> + <a class="sort" href="<tmpl_var sortbynameurl>"><%! Name !%> <tmpl_if sortbyname> - <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/sortiert_<tmpl_if desc>desc<tmpl_else>asc</tmpl_if>.gif" alt="" width="9" height="11" border="0" /> <tmpl_else> - <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0"> + <img src="bilder/spacer.gif" alt="" width="9" height="11" border="0" /> </tmpl_if> </a> </nobr> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> <td width="30" background="bilder/uebersicht_oben.gif"> </td> - <td width="30" align="center" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<?% msg.c_select_allnone %?>"></td> - <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td width="30" align="center" background="bilder/uebersicht_oben.gif"><input type="checkbox" name="SELALL" value="SELALL" onclick="AllMessages(this.form);" title="<%! Select all/none !%>" /></td> + <td valign="top" width="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tmpl_loop timer_loop> @@ -280,33 +275,33 @@ <td valign="top" width="70" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbyactive>_selected</tmpl_if>.gif"> <p class="einzug_liste"> <tmpl_if expr="(active%32768) == 0"> - <img src="bilder/poempl_grau.gif" alt="inactive" title="<?% msg.tl_inactive %?>" width="19" height="19" align="absmiddle" border="0"> + <img src="bilder/poempl_grau.gif" alt="inactive" title="<%! This timer is inactive! !%>" width="19" height="19" align="absmiddle" border="0" /> <tmpl_else> <tmpl_if critical> - <img src="bilder/poempl_rot.gif" alt="impossible" title="<?% msg.tl_impossible %?>" width="19" height="19" align="absmiddle" border="0"> + <img src="bilder/poempl_rot.gif" alt="impossible" title="<%! This timer is impossible! !%>" width="19" height="19" align="absmiddle" border="0" /> <tmpl_else> <tmpl_if collision> - <img src="bilder/poempl_gelb.gif" alt="nomore" title="<?% msg.tl_nomore %?>" width="19" height="19" align="absmiddle" border="0"> + <img src="bilder/poempl_gelb.gif" alt="nomore" title="<%! No more timers possible! !%>" width="19" height="19" align="absmiddle" border="0" /> <tmpl_else> <tmpl_if active> - <img src="bilder/poempl_gruen.gif" alt="possible" title="<?% msg.tl_possible %?>" width="19" height="19" align="absmiddle" border="0"> + <img src="bilder/poempl_gruen.gif" alt="possible" title="<%! Timer OK. !%>" width="19" height="19" align="absmiddle" border="0" /> </tmpl_if> </tmpl_if> </tmpl_if> </tmpl_if> - <a href="javascript:change('<?% msg.js_change_timer %?>','<tmpl_var toggleurl>&timer=<?% current %?>');"> + <a href="javascript:change('<%! Edit timer status? !%>','<tmpl_var toggleurl>&timer=<?% current %?>');"> <font color="black"> - <tmpl_if expr="active == 1"><?% msg.c_yes %?></tmpl_if> - <tmpl_if expr="(active%32768) == 0"><?% msg.c_no %?></tmpl_if> - <tmpl_if expr="active == 5"><?% msg.tl_vps %?></tmpl_if> - <tmpl_if expr="active == 32769"><?% msg.tl_auto %?></tmpl_if> + <tmpl_if expr="active == 1"><%! Yes !%></tmpl_if> + <tmpl_if expr="(active%32768) == 0"><%! No !%></tmpl_if> + <tmpl_if expr="active == 5"><%! VPS !%></tmpl_if> + <tmpl_if expr="active == 32769"><%! Auto !%></tmpl_if> </font> </a> </p> </td> <td valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbychannel>_selected</tmpl_if>.gif"> - <p class="einzug_liste"><tmpl_var cdesc></p> + <p class="einzug_liste"><a href="<tmpl_var proglink>"><tmpl_var cdesc></a></p> </td> <td valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbyday>_selected</tmpl_if>.gif"> <p class="einzug_liste"><tmpl_var dor></p> @@ -318,8 +313,8 @@ <p class="einzug_liste"><tmpl_var stop></p> </td> <td valign="top" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if><tmpl_if sortbyname>_selected</tmpl_if>.gif"> - <p class="einzug_liste"> - <tmpl_if recording><img align="absmiddle" src="bilder/rec.gif" border="0"> </tmpl_if> + <p class="einzug_liste" title="<%! Priority: !%> <tmpl_var prio> / <%! Lifetime: !%> <tmpl_var lft>"> + <tmpl_if recording><img align="absmiddle" src="bilder/rec.gif" border="0" /> </tmpl_if> <tmpl_if infurl> <a href="javascript:popup('<tmpl_var infurl>');"><tmpl_var title></a> <tmpl_else> @@ -328,31 +323,31 @@ </p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><a href="<tmpl_var modurl>"><img src="bilder/edit.gif" alt="edit" title="<?% msg.c_edit %?>" height="17" width="17" border="0"></a></p> + <p class="einzug_liste"><a href="<tmpl_var modurl>"><img src="bilder/edit.gif" alt="edit" title="<%! Edit !%>" height="17" width="17" border="0" /></a></p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><a href="javascript:del('<?% msg.js_del_timer %?>','<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" title="<?% msg.c_delete %?>" height="17" width="17" border="0"></a></p> + <p class="einzug_liste"><a href="javascript:del('<%! Delete timer? !%>','<tmpl_var delurl>');"><img src="bilder/delete.gif" alt="delete" title="<%! Delete !%>" height="17" width="17" border="0" /></a></p> </td> <td align="center" valign="top" width="30" background="bilder/uebersicht_mitte<tmpl_if __ODD__>_dark</tmpl_if>.gif"> - <p class="einzug_liste"><input type="checkbox" name="xxxx_<tmpl_var id>"></p> + <p class="einzug_liste"><input type="checkbox" name="xxxx_<tmpl_var id>" /></p> </td> <td valign="top" width="30" background="bilder/uebersicht_rechts<tmpl_if __ODD__>_dark</tmpl_if>.gif"> </td> </tr> </tmpl_loop> <tr> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_links.gif" alt="" height="30" width="30" border="0" /></td> <td colspan="9" background="bilder/uebersicht_unten.gif"> </td> - <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0"></td> + <td valign="top" width="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" height="30" width="30" border="0" /></td> </tr> <tr> <td valign="top" colspan="6"></td> - <td colspan="4" align="right"><br> + <td colspan="4" align="right"><br /> <table border="0" cellspacing="0" cellpadding="0"> <tr height="20"> <td width="12" height="20" background="bilder/gbutton_left.gif"></td> <td align="center" height="20" background="bilder/gbutton_middle.gif"> - <a href="javascript:mdel('<?% msg.js_del_selected_timer %?>');"><div class="gbutton"><?% msg.tl_del_selected %?></div></a> + <a href="javascript:mdel('<%! Delete all selected timers? !%>');"><div class="gbutton"><%! Delete Selected Timers !%></div></a> </td> <td width="12" height="20" background="bilder/gbutton_right.gif"></td> </tr> @@ -361,7 +356,7 @@ <td valign="top" width="30"></td> </tr> </table> - <input type="hidden" name="aktion" value="timer_delete"> + <input type="hidden" name="aktion" value="timer_delete" /> </form> </body> </html> diff --git a/template/default/timer_new.html b/template/default/timer_new.html index 4686f44..13fd8a4 100644 --- a/template/default/timer_new.html +++ b/template/default/timer_new.html @@ -1,8 +1,10 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> - <title><?% msg.c_progname %?> - <tmpl_if newtimer><?%msg.tn_new_timer %?><tmpl_else><?% msg.tn_edit_timer %?></tmpl_if></title> + <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> + <title>VDRAdmin - <tmpl_if newtimer><%! Create New Timer !%><tmpl_else><%! Edit Timer !%></tmpl_if></title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> <script type="text/javascript" language="JavaScript1.2"> <!-- @@ -10,7 +12,7 @@ var Timer = ""; var dor = document.form.dor.value; var StartDay = dor.indexOf('@') > 0 ? dor.substring(dor.indexOf('@')) : ""; - Days = new Array("M", "D", "M", "D", "F", "S", "S"); + Days = new Array("M", "T", "W", "T", "F", "S", "S"); for(var i = 0; i <= 6; i++) { Status = eval("document.form.D" + i + ".checked"); if(Status == true) { @@ -33,7 +35,6 @@ } //--> </script> - <link href="style.css" rel="stylesheet" media="screen"> </head> <body onload='eCheckbox("<tmpl_var dor>")' bgcolor="#f0f0f0" leftmargin="3" marginheight="20" marginwidth="3" topmargin="20"> @@ -41,50 +42,50 @@ <table width="100%" border="0" cellspacing="0" cellpadding="0" height="39"> <tr> <td valign="middle" width="500" background="bilder/nav_button_back.gif"> - <p class="einzug_ohnetop"><b><tmpl_if newtimer><?% msg.tn_new_timer %?><tmpl_else><?% msg.tn_edit_timer %?></tmpl_if></b></p> + <p class="einzug_ohnetop"><b><tmpl_if newtimer><%! Create New Timer !%><tmpl_else><%! Edit Timer !%></tmpl_if></b></p> </td> <td background="bilder/nav_button_back_mitte.gif"> </td> <td width="35" background="bilder/nav_button_back_mitte.gif"> <tmpl_if name="help_url"><a href="javascript:open_help('<tmpl_var help_url>');"> - <img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<?% msg.c_help %?>"></a> + <img src="bilder/help.gif" border="0" align="right" valign="top" alt="help" title="<%! Help !%>" /></a> </tmpl_if> </td> <td width="15" background="bilder/nav_button_back_end.gif"> </td> </tr> </table> - <br> + <br /> <div align="left"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_links.gif" alt="" width="30" height="30" border="0" /></td> <td height="30" background="bilder/uebersicht_oben.gif"> </td> <td height="30" background="bilder/uebersicht_oben.gif"> </td> - <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_oben_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.tn_timer_active %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Timer Active: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="radio" name="active" value="1" <tmpl_if active>checked</tmpl_if>><?% msg.c_yes %?> - <input type="radio" name="active" value="0" <tmpl_unless active>checked</tmpl_unless>><?% msg.c_no %?> + <input type="radio" name="active" value="1" <tmpl_if active>checked</tmpl_if> /> <%! Yes !%> + <input type="radio" name="active" value="0" <tmpl_unless active>checked</tmpl_unless> /> <%! No !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.tn_autotimer_checking %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Auto Timer Checking: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> <tmpl_if expr="event_id > 1"> - <input type="radio" name="event_id" value="<tmpl_var event_id>" checked><?% msg.tn_transmission_id %?> + <input type="radio" name="event_id" value="<tmpl_var event_id>" checked /> <%! Transmission Identification !%> </tmpl_if> - <input type="radio" name="event_id" value="1" <tmpl_if expr="event_id == 1">checked</tmpl_if>><?% msg.c_time %?> - <input type="radio" name="event_id" value="0" <tmpl_if expr="event_id == 0">checked</tmpl_if>><?% msg.c_off %?> + <input type="radio" name="event_id" value="1" <tmpl_if expr="event_id == 1">checked</tmpl_if> /> <%! Time !%> + <input type="radio" name="event_id" value="0" <tmpl_if expr="event_id == 0">checked</tmpl_if> /> <%! off !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_channel %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Channel: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> <select name="channel" size="1"> <tmpl_loop name="channels"> @@ -96,84 +97,85 @@ </tr> <tr height="25"> <td valign="top" width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td valign="top" width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.tn_day_of_rec %?></td> + <td valign="top" width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Day Of Recording: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="dor" value="<tmpl_var dor>" size="20"> - <br> - <input onclick="cTimer(1)" type="checkbox" name="D0" value="1"><?% msg.c_monday %?> - <input onclick="cTimer(2)" type="checkbox" name="D1" value="1"><?% msg.c_tuesday %?> - <input onclick="cTimer(3)" type="checkbox" name="D2" value="radioValue"><?% msg.c_wednesday %?> - <input onclick="cTimer(4)" type="checkbox" name="D3" value="radioValue"><?% msg.c_thursday %?> - <input onclick="cTimer(5)" type="checkbox" name="D4" value="radioValue"><?% msg.c_friday %?> - <input onclick="cTimer(6)" type="checkbox" name="D5" value="radioValue"><?% msg.c_saturday %?> - <input onclick="cTimer(7)" type="checkbox" name="D6" value="radioValue"><?% msg.c_sunday %?> + <input type="text" name="dor" value="<tmpl_var dor>" size="20" /> + <br /> + <input onclick="cTimer(1)" type="checkbox" name="D0" value="1" /> <%! Monday !%> + <input onclick="cTimer(2)" type="checkbox" name="D1" value="1" /> <%! Tuesday !%> + <input onclick="cTimer(3)" type="checkbox" name="D2" value="radioValue" /> <%! Wednesday !%> + <input onclick="cTimer(4)" type="checkbox" name="D3" value="radioValue" /> <%! Thursday !%> + <input onclick="cTimer(5)" type="checkbox" name="D4" value="radioValue" /> <%! Friday !%> + <input onclick="cTimer(6)" type="checkbox" name="D5" value="radioValue" /> <%! Saturday !%> + <input onclick="cTimer(7)" type="checkbox" name="D6" value="radioValue" /> <%! Sunday !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.tn_time_start %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Start Time: !%></td> <td height="25" background="bilder/uebersicht_mitte.gif"> - <input type="text" name="starth" value="<tmpl_var starth>" size="2" maxlength="2"> + <input type="text" name="starth" value="<tmpl_var starth>" size="2" maxlength="2" /> <b> : </b> - <input type="text" name="startm" value="<tmpl_var startm>" size="2" maxlength="2"> - <?% msg.c_clock %?> + <input type="text" name="startm" value="<tmpl_var startm>" size="2" maxlength="2" /> + <%! o'clock !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.tn_time_stop %?></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><%! End Time: !%></td> <td height="25" background="bilder/uebersicht_mitte_dark.gif"> - <input type="text" name="stoph" value="<tmpl_var stoph>" size="2" maxlength="2"> + <input type="text" name="stoph" value="<tmpl_var stoph>" size="2" maxlength="2" /> <b> : </b> - <input type="text" name="stopm" value="<tmpl_var stopm>" size="2" maxlength="2"> - <?% msg.c_clock %?> + <input type="text" name="stopm" value="<tmpl_var stopm>" size="2" maxlength="2" /> + <%! o'clock !%> </td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.c_priority %?></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="prio" value="<tmpl_var prio>" size="2" maxlength="2"></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Priority: !%></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="prio" value="<tmpl_var prio>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links_dark.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_lifetime %?></td> - <td height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="lft" value="<tmpl_var lft>" size="2" maxlength="2"></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte_dark.gif"><%! Lifetime: !%></td> + <td height="25" background="bilder/uebersicht_mitte_dark.gif"><input type="text" name="lft" value="<tmpl_var lft>" size="2" maxlength="2" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="25"> <td width="30" height="25" background="bilder/uebersicht_links.gif"></td> - <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><?% msg.tn_rec_title %?></td> - <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="title" value="<tmpl_var title>" size="80"></td> + <td width="20%" height="25" background="bilder/uebersicht_mitte.gif"><%! Title of Recording: !%></td> + <td height="25" background="bilder/uebersicht_mitte.gif"><input type="text" name="title" value="<tmpl_var title>" size="80" /></td> <td width="30" height="25" background="bilder/uebersicht_rechts.gif"></td> </tr> <tr> <td valign="top" width="30" background="bilder/uebersicht_links_dark.gif"></td> - <td valign="top" width="20%" background="bilder/uebersicht_mitte_dark.gif"><?% msg.c_summary %?></td> + <td valign="top" width="20%" background="bilder/uebersicht_mitte_dark.gif"><%! Summary: !%></td> <td background="bilder/uebersicht_mitte_dark.gif"><textarea name="summary" rows="6" cols="80"><tmpl_var summary></textarea></td> <td width="30" background="bilder/uebersicht_rechts_dark.gif"></td> </tr> <tr height="30"> - <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_links.gif" alt="" width="30" height="30" border="0" /></td> <td colspan="2" height="30" background="bilder/uebersicht_unten.gif"></td> - <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0"></td> + <td width="30" height="30"><img src="bilder/uebersicht_unten_rechts.gif" alt="" width="30" height="30" border="0" /></td> </tr> </table> </div> - <br> + <br /> <div align="left"> - <input type="submit" name="save" value="<?% msg.c_save %?>"> - <input type="submit" name="exit" value="<?% msg.c_cancel %?>"></div> - <input type="hidden" name="aktion" value="timer_add"> - <tmpl_if referer> - <input type="hidden" name="referer" value="<tmpl_var referer>"> - </tmpl_if> - <tmpl_if timer_id> - <input type="hidden" name="timer_id" value="<tmpl_var timer_id>"> - </tmpl_if> + <input type="submit" name="save" value="<%! Save !%>" /> + <input type="submit" name="exit" value="<%! Cancel !%>" /> + </div> + <input type="hidden" name="aktion" value="timer_add" /> + <tmpl_if referer> + <input type="hidden" name="referer" value="<tmpl_var referer>" /> + </tmpl_if> + <tmpl_if timer_id> + <input type="hidden" name="timer_id" value="<tmpl_var timer_id>" /> + </tmpl_if> </form> </body> diff --git a/template/default/toolbar.html b/template/default/toolbar.html index d3ad11d..5385f19 100644 --- a/template/default/toolbar.html +++ b/template/default/toolbar.html @@ -1,10 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"> - <title>Toolbar</title> + <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> + <title>VDRAdmin - Toolbar</title> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <body bgcolor="#ffffff"> @@ -17,21 +18,11 @@ <option value="<tmpl_var vdr_id>" <tmpl_if current>selected</tmpl_if>><tmpl_var name></option> </tmpl_loop> </select> - <input type="submit" name="submit" value="Go!"> - <input type="hidden" name="aktion" value="prog_list"> + <input type="submit" name="submit" value="Go!" /> + <input type="hidden" name="aktion" value="prog_list" /> </td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> </tr> </table> - <p></p> </form> </body> diff --git a/template/default/tv.html b/template/default/tv.html index 21d3ecb..faaf9b9 100644 --- a/template/default/tv.html +++ b/template/default/tv.html @@ -1,8 +1,11 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <title><?% msg.c_progname %?> - <?% msg.tv_headline %?> (<tmpl_var host>)</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>VDRAdmin - <%! TV !%> (<tmpl_var host>)</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> <script language="JavaScript"> <!-- var aktiv; @@ -70,101 +73,101 @@ select { font-weight: normal; width: 55px; height: 20px; font-size: 9px; font-fa <form name="liveform"> <table width="200" border="0" cellspacing="0" cellpadding="0"> <tr> - <td align="center" valign="middle"><img name="Bild" src="<tmpl_var url>" border="1" hspace=2 vspace=2></td> - <td><img src="bilder/spacer.gif" name="switchimage" width="2" height="1"></td> + <td align="center" valign="middle"><img name="Bild" src="<tmpl_var url>" border="1" hspace="2" vspace="2" /></td> + <td><img src="bilder/spacer.gif" name="switchimage" width="2" height="1" /></td> <td valign="top"> <table width="200" border="0" cellspacing="0" cellpadding="0"> <tr> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </tr> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </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> <td></td> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <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> - <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0"></td> + <td><img src="bilder/spacer.gif" alt="" height="20" width="50" border="0" /></td> <td></td> </tr> </table> @@ -176,25 +179,25 @@ select { font-weight: normal; width: 55px; height: 20px; font-size: 9px; font-fa <tr valign="middle"> <td valign="middle"> <nobr> - <b><?% msg.tv_interval %?></b> + <b><%! Interval: !%></b> <select name="Seconds" size="1" onChange="v_changeInterval(this.options[this.selectedIndex].value)"> - <option value="0"><?% msg.c_off %?></option> - <option value="1"> 1 <?% msg.c_sec %?></option> - <option value="2"> 2 <?% msg.c_sec %?></option> - <option value="3"> 3 <?% msg.c_sec %?></option> - <option value="5" selected> 5 <?% msg.c_sec %?></option> - <option value="10">10 <?% msg.c_sec %?></option> - <option value="30">30 <?% msg.c_sec %?></option> - <option value="60">60 <?% msg.c_sec %?></option> + <option value="0"><%! off !%></option> + <option value="1"> 1 <%! sec. !%></option> + <option value="2"> 2 <%! sec. !%></option> + <option value="3"> 3 <%! sec. !%></option> + <option value="5" selected> 5 <%! sec. !%></option> + <option value="10">10 <%! sec. !%></option> + <option value="30">30 <%! sec. !%></option> + <option value="60">60 <%! sec. !%></option> </select> - <input type="button" name="livebild" value='<?% msg.tv_g %?>' title="<?% msg.tv_grab %?>" onClick="WebcamUpdate()"> - <b><?% msg.tv_size %?></b> + <input type="button" name="livebild" value='<%! G !%>' title="<%! Grab the picture! !%>" onClick="WebcamUpdate()" /> + <b><%! Size: !%></b> <select name="Size" size="1" onChange="v_changeSize(this.options[this.selectedIndex].value)"> <option value="full">1:1</option> <option value="half" selected>1:2</option> <option value="quarter">1:4</option> </select> - <input type="button" name="livebild" value='<?% msg.tv_g %?>' title="<?% msg.tv_grab %?>" onClick="WebcamUpdate()"> + <input type="button" name="livebild" value='<%! G !%>' title="<%! Grab the picture! !%>" onClick="WebcamUpdate()" /> </nobr> </td> <td colspan="2"> </td> diff --git a/template/default/tv_flash.html b/template/default/tv_flash.html index 583c6d7..7144413 100644 --- a/template/default/tv_flash.html +++ b/template/default/tv_flash.html @@ -1,7 +1,10 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> - <title><?% msg.c_progname %?> - <?% msg.tv_headline %?> (<tmpl_var host>)</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>VDRAdmin - <%! TV !%> (<tmpl_var host>)</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <link href="style.css" rel="stylesheet" media="screen" type="text/css" /> + <script type="text/javascript" language="JavaScript1.2" src="library.js"></script> </head> <body> diff --git a/template/i18n.pl b/template/i18n.pl new file mode 100644 index 0000000..94a1a87 --- /dev/null +++ b/template/i18n.pl @@ -0,0 +1,118 @@ +@I18N_Days = ( + gettext("Sunday"), + gettext("Monday"), + gettext("Tuesday"), + gettext("Wednesday"), + gettext("Thursday"), + gettext("Friday"), + gettext("Saturday") +); + +@I18N_Month = ( + gettext("January"), + gettext("February"), + gettext("March"), + gettext("April"), + gettext("May"), + gettext("June"), + gettext("July"), + gettext("August"), + gettext("September"), + gettext("October"), + gettext("November"), + gettext("December") +); + +@LOGINPAGES_DESCRIPTION = ( + gettext("What's On Now?"), + gettext("Playing Today?"), + gettext("Timeline"), + gettext("Channels"), + gettext("Timers"), + gettext("Recordings") +); + +%ERROR_MESSAGE = ( + not_found => gettext("Not found"), + notfound_long => gettext("The requested URL was not found on this server!"), + notfound_file => gettext("The URL "%s" was not found on this server!"), + forbidden => gettext("Forbidden"), + forbidden_long => gettext("You don't have permission to access this function!"), + forbidden_file => gettext("Access to file "%s" denied!"), + cant_open => gettext("Can't open file "%s"!"), + connect_failed => gettext("Can't connect to VDR at %s!"), + send_command => gettext("Error while sending command to VDR at %s"), +); + +%MESSAGE = ( + overview => gettext("Schedule"), +); + +%HELP = ( + timer_list => +gettext("<b>Timer</b> +<p>VDR timer overview.</p> +<p>Clicking on |<img src=\"bilder/poempl_gruen.gif\" alt=\"on\" valign=\"center\"> <i>Yes</i> | or |<img src=\"bilder/poempl_grau.gif\" alt=\"off\" valign=\"center\"> <i>No</i> | in the column <i>Active</i>, switches the timer on or off.<br> +<img src=\"bilder/poempl_gelb.gif\" alt=\"problem\" valign=\"center\"> indicates overlapping timers. That's uncritical, as long as you have enough DVB cards for the parallel recordings.<br> +To edit an entry, click on <img src=\"bilder/edit.gif\" alt=\"Stift\" valign=\"center\">, to delete a timer use <img src=\"bilder/delete.gif\" alt=\"Radiergummi\" valign=\"center\">. To delete more than one timer at once, select them using the checkboxes (<input type=\"checkbox\" checked>) and click on <i>Delete selected timers</i> at the end of the list. +</p>"), + + timer_new => +gettext("<p>No help available for <b>Add Timer:</b> yet. For adding text please contact mail\@andreas.vdr-developer.org. +</p>"), + + at_timer_list => +gettext("<b>Auto Timer:</b><br> +<p>An overview of all Auto Timers</p> +<p>Click <i>Yes</i> or <i>No</i> in the <i>Active</i> column to (de-)activate that Auto Timer.</p> +<p>Use <img src=\"bilder/edit.gif\" alt=\"pen\" valign=\"center\"> for editing and <img src=\"bilder/delete.gif\" alt=\"Rubber\" valign=\"center\"> for deleting an Auto Timer. If you want to delete multiple Auto Timers all at once, you have to check the boxes (<input type=\"checkbox\" checked>) on the right and finally click <i>Delete selected Auto Timers</i>.</p>"), + + at_timer_new => +gettext("<b>Edit Auto Timer:</b><br> +<p>Auto Timer is a key feature of VDRAdmin. An Auto Timer consists of one or more search terms and some other settings, that are looked for regularly in the Electronic Program Guide (EPG). On match Auto Timer 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> +<p>Here you can set an Auto Timer. It's required to specify at least one search item. Please have a look at <i>Search Items</i> if you need more information on how to find reasonable search items and how to avoid unwanted recordings.</p> +<b>Auto Timer Active:</b><br> +<p><i>Yes</i> activates and <i>No</i> deactivates this Auto Timer. Please note that VDR timers already added by VDRAdmin are not deleted if you deactivate this Auto Timer.</p> +<b>Search Items:</b><br> +<p>Choosing the right search items decides whether only the wanted broadcast or broadcast having similar names or nothing gets recorded.</p> +<p>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 all items.</p> +<p>You'd better only use letters and numbers for search items, as EPGs often miss colons, brackets and other characters.</p> +<p>Experts can also use regular expressions, but you have get needed information from the VDRAdmin sources (undocumented feature).</p>"), + + rec_list => +gettext("<p>No help available for <b>Recordings:</b>. For adding text please contact mail\@andreas.vdr-developer.org. +</p>"), + + conf_list => +gettext("<b>Configuration:</b> +<p>Here you can change general settings and base settings for timers, auto timers, channel selection and streaming parameters. +</p> +<b>General Settings:</b> +<p>Here you can change the languge, the start page, the look, and the number of DVB cards. Besides this the base settings for timers, auto timers, the channel selection and streaming parameters can be configured here. +</p> +<b>Identification:</b> +<p>Clicking on |<input type=\"radio\"> <i>yes</i> | or |<input type=\"radio\" checked> <i>no</i> | activates or deactivates the <i>guest account</i>. The default passwords for both accounts should be changed when VDRAdmin is accessible over the Internet. +</p> +<b>Time Line:</b> +<p>Here you can see a time line of the channels, where you can select the displayed time span.<br> +The bars show the titles of each show. A time bar starts half an hour before now. A thin red line indicates the current position.<br>Programmed timers are shown in different colors. +</p> +<b>Settings for auto timers:</b> +<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the auto timer function. You can also specify the interval, the the epg data is checked for updating the auto timers.<br> +The life time of a recording can be set from 0 to 99 (99=live forever). This value relates to the day, the recording was made. After the given life time, a recording may be deleted to make room for new ones.<br> +The Priority indicates, what timer is prefered in case of a conflict.<br> +<b>Timer settings:</b> +<p>These are the same settings as for the auto timers, but apply to the manually created timers. +</p> + +<b>Streaming settings:</b> +<p>Specify port, bandwith and VDR's recording directory here. +</p> + +<b>Channel Selection:</b> +<p>Clicking on |<input type=\"radio\"> <i>Yes</i> | or |<input type=\"radio\" checked> <i>No</i> | activates or deactivates the channel selection for a specific view.<br> +</p> +"), + + ENOHELPMSG => gettext("No help available yet. For adding or changing text please contact mail\@andreas.vdr-developer.org.") +); diff --git a/vdradmind.pl b/vdradmind.pl index 62bf7db..3c8de6e 100755 --- a/vdradmind.pl +++ b/vdradmind.pl @@ -23,7 +23,7 @@ # 08.10.2001 # # -# VDRAdmin-AM by Andreas Mair <mail@andreas.vdr-developer.org> +# VDRAdmin-AM 2005 by Andreas Mair <mail@andreas.vdr-developer.org> # my $BASENAME; @@ -44,17 +44,17 @@ use IO::Socket; use HTML::Template::Expr(); use Template; use Time::Local qw(timelocal); -use POSIX ":sys_wait_h", qw(strftime mktime); +use POSIX ":sys_wait_h", qw(strftime mktime locale_h); use MIME::Base64(); -use File::Temp(); +use File::Temp qw(tempfile); use Shell qw(ps); +use Locale::gettext; $SIG{CHLD} = sub { wait }; use strict; #use warnings; -#my $SEARCH_FILES_IN_SYSTEM = (-d '/usr/share/vdradmin/lib' ? 1 : 0); # for distribution my $SEARCH_FILES_IN_SYSTEM = 0; sub true () { 1 }; @@ -70,64 +70,80 @@ sub LOG_FATALERROR () { 64 }; sub LOG_DEBUG () { 32768 }; my %CONFIG; +$CONFIG{LOGLEVEL} = 81; # 32799 +$CONFIG{LOGGING} = 0; +$CONFIG{LOGFILE} = "vdradmind.log"; +$CONFIG{MOD_GZIP} = 0; +$CONFIG{CACHE_TIMEOUT} = 60; +$CONFIG{CACHE_LASTUPDATE} = 0; +# $CONFIG{VDR_HOST} = "localhost"; $CONFIG{VDR_PORT} = 2001; +$CONFIG{SERVERHOST} = "0.0.0.0"; +$CONFIG{SERVERPORT} = 8001; +$CONFIG{LOCAL_NET} = "0.0.0.0/32"; +$CONFIG{VIDEODIR} = "/video"; +$CONFIG{VDRCONFDIR} = "$CONFIG{VIDEODIR}"; +# +$CONFIG{TEMPLATE} = "default"; +$CONFIG{SKIN} = "bilder"; +$CONFIG{LOGINPAGE} = 0; +$CONFIG{RECORDINGS} = 1; +# $CONFIG{USERNAME} = "linvdr"; $CONFIG{PASSWORD} = "linvdr"; $CONFIG{GUEST_ACCOUNT} = 0; -$CONFIG{TEMPLATE} = "default"; -$CONFIG{LANGUAGE} = "English"; -$CONFIG{LOGLEVEL} = 81; # 32799 -$CONFIG{CACHE_TIMEOUT} = 60; -$CONFIG{LOCAL_NET} = "0.0.0.0/32"; -$CONFIG{CACHE_LASTUPDATE} = 0; +$CONFIG{USERNAME_GUEST} = "guest"; +$CONFIG{PASSWORD_GUEST} = "guest"; +# +$CONFIG{ZEITRAHMEN} = 1; +$CONFIG{TIMES} = "18:00, 20:00, 21:00, 22:00"; +# $CONFIG{AT_FUNC} = 1; $CONFIG{AT_TIMEOUT} = 120; $CONFIG{AT_LIFETIME} = 99; $CONFIG{AT_PRIORITY} = 99; +$CONFIG{AT_MARGIN_BEGIN} = 10; +$CONFIG{AT_MARGIN_END} = 10; +# $CONFIG{TM_LIFETIME} = 99; $CONFIG{TM_PRIORITY} = 99; $CONFIG{TM_MARGIN_BEGIN} = 10; $CONFIG{TM_MARGIN_END} = 10; +# $CONFIG{ST_FUNC} = 1; +$CONFIG{ST_REC_ON} = 0; +$CONFIG{ST_LIVE_ON} = 1; $CONFIG{ST_URL} = ""; -$CONFIG{LOGINPAGE} = 0; -$CONFIG{LOGGING} = 0; -$CONFIG{MOD_GZIP} = 0; +$CONFIG{ST_STREAMDEV_PORT}= 3000; +$CONFIG{ST_VIDEODIR} = ""; # -$CONFIG{LOGFILE} = "vdradmind.log"; -$CONFIG{SERVERHOST} = "0.0.0.0"; -$CONFIG{SERVERPORT} = 8001; -$CONFIG{RECORDINGS} = 1; -$CONFIG{ZEITRAHMEN} = 1; -$CONFIG{TIMES} = "18:00, 20:00, 21:00, 22:00"; $CONFIG{EPG_DIRECT} = 0; -$CONFIG{EPG_FILENAME} = "/video/epg.data"; +$CONFIG{EPG_FILENAME} = "$CONFIG{VIDEODIR}/epg.data"; $CONFIG{EPG_PRUNE} = 0; -$CONFIG{SKIN} = "bilder"; +# $CONFIG{AT_SENDMAIL} = 0; # set to 1 and set the all "MAIL_" things if you want email notification on new autotimers. $CONFIG{MAIL_PROG} = "./sendEmail"; $CONFIG{MAIL_FROMDOMAIN} = "fromaddress.tld"; $CONFIG{MAIL_TO} = "your\@email.address"; $CONFIG{MAIL_SERVER} = "your.email.server"; -my $VERSION = "0.97-am3.1"; +my $VERSION = "0.97-am3.2"; my $SERVERVERSION = "vdradmind/$VERSION"; -my $VIDEODIR = "/video"; +my $LINVDR = isLinVDR(); -my($TEMPLATEDIR, $I18NDIR, $CONFFILE, $LOGFILE, $PIDFILE, $AT_FILENAME, $DONE_FILENAME, $BL_FILENAME); +my($TEMPLATEDIR, $CONFFILE, $LOGFILE, $PIDFILE, $AT_FILENAME, $DONE_FILENAME, $BL_FILENAME); if(!$SEARCH_FILES_IN_SYSTEM) { $TEMPLATEDIR = "${BASENAME}template"; - $I18NDIR = "${BASENAME}i18n"; $CONFFILE = "${BASENAME}vdradmind.conf"; $LOGFILE = "${BASENAME}$CONFIG{LOGFILE}"; $PIDFILE = "${BASENAME}vdradmind.pid"; $AT_FILENAME = "${BASENAME}vdradmind.at"; $DONE_FILENAME = "${BASENAME}vdradmind.done"; $BL_FILENAME = "${BASENAME}vdradmind.bl"; + bindtextdomain("vdradmin", "${BASENAME}locale"); } else { $TEMPLATEDIR = "/usr/share/vdradmin/template"; - $I18NDIR = "/usr/share/vdradmin/i18n"; $CONFFILE = "/etc/vdradmin/vdradmind.conf"; $LOGFILE = "/var/log/$CONFIG{LOGFILE}"; $PIDFILE = "/var/run/vdradmind.pid"; @@ -137,6 +153,8 @@ if(!$SEARCH_FILES_IN_SYSTEM) { } my $DONE = &DONE_Read || {}; +textdomain("vdradmin"); + #use Template::Constants qw( :debug ); # IMHO a better Template Modul ;-) # some useful options (see below for full list) @@ -181,6 +199,10 @@ $SIG{HUP} = \&HupSignal; $SIG{PIPE} = 'IGNORE'; # +my(@I18N_Days, @I18N_Month, %ERROR_MESSAGE, %MESSAGE, @LOGINPAGES_DESCRIPTION, %HELP); +LoadTranslation(); + +# my $DAEMON = 1; for(my $i = 0; $i < scalar(@ARGV); $i++) { $_ = $ARGV[$i]; @@ -189,25 +211,27 @@ for(my $i = 0; $i < scalar(@ARGV); $i++) { print("A perl client for the Linux Video Disk Recorder.\n\n"); print(" -nf --nofork don't fork\n"); print(" -c --config run configuration dialog\n"); - print(" -k --kill kill a forked vdradmind\n"); + print(" -k --kill kill a forked vdradmind.pl\n"); print(" -h --help this message\n"); print("\nReport bugs to <mail\@andreas.vdr-developer.org>.\n"); exit(0); } if(/--nofork|-nf/) { $DAEMON = 0; last; } if(/--config|-c/) { - $CONFIG{VDR_HOST} = Question("What's your VDR hostname (e.g video.intra.net)?", $CONFIG{VDR_HOST}); - $CONFIG{VDR_PORT} = Question("On which port does VDR listen to SVDRP queries?", $CONFIG{VDR_PORT}); - $CONFIG{SERVERHOST} = Question("On which address should vdradmin listen (0.0.0.0 for any)?", $CONFIG{SERVERHOST}); - $CONFIG{SERVERPORT} = Question("On which port should vdradmin listen?", $CONFIG{SERVERPORT}); - $CONFIG{USERNAME} = Question("Username?", $CONFIG{USERNAME}); - $CONFIG{PASSWORD} = Question("Password?", $CONFIG{PASSWORD}); - $CONFIG{EPG_FILENAME} = Question("Where is your epg.data?", $CONFIG{EPG_FILENAME}); - $CONFIG{EPG_DIRECT} = ($CONFIG{EPG_FILENAME} and -e $CONFIG{EPG_FILENAME} ? 1 : 0); + $CONFIG{VDR_HOST} = Question(gettext("What's your VDR hostname (e.g video.intra.net)?"), $CONFIG{VDR_HOST}); + $CONFIG{VDR_PORT} = Question(gettext("On which port does VDR listen to SVDRP queries?"), $CONFIG{VDR_PORT}); + $CONFIG{SERVERHOST} = Question(gettext("On which address should VDRAdmin listen (0.0.0.0 for any)?"), $CONFIG{SERVERHOST}); + $CONFIG{SERVERPORT} = Question(gettext("On which port should VDRAdmin listen?"), $CONFIG{SERVERPORT}); + $CONFIG{USERNAME} = Question(gettext("Username?"), $CONFIG{USERNAME}); + $CONFIG{PASSWORD} = Question(gettext("Password?"), $CONFIG{PASSWORD}); + $CONFIG{VIDEODIR} = Question(gettext("Where are your recordings stored?"), $CONFIG{VIDEODIR}); + $CONFIG{VDRCONFDIR} = Question(gettext("Where are your VDR's configuration files located?"), $CONFIG{VDRCONFDIR}); +# $CONFIG{EPG_FILENAME} = Question(gettext("Where is your epg.data?"), $CONFIG{EPG_FILENAME}); +# $CONFIG{EPG_DIRECT} = ($CONFIG{EPG_FILENAME} and -e $CONFIG{EPG_FILENAME} ? 1 : 0); WriteConfig(); - print("Config file written successfully.\n"); + print(gettext("Config file written successfully.") . "\n"); exit(0); } if(/--kill|-k/) { @@ -233,10 +257,7 @@ for(my $i = 0; $i < scalar(@ARGV); $i++) { ReadConfig(); if ($CONFIG{EPG_DIRECT}) { print("!!! YOU REQUESTED EPG_DIRECT !!!\nBut there seems to be a bug in it, so that timers with certain summaries don't get added.\nIf you have problems and don't want to debug them, please set EPG_DIRECT to 0.\n\n"); -} -if ($CONFIG{LANGUAGE} eq "Español") { - # i18n/Español has been renamed to i18n/Spanish - $CONFIG{LANGUAGE} = "Spanish"; +# $CONFIG{EPG_DIRECT} = 0; } if($CONFIG{MOD_GZIP}) { @@ -246,23 +267,27 @@ if($CONFIG{MOD_GZIP}) { if(-e "$PIDFILE") { my $pid = getPID($PIDFILE); - print "There's already a copy of this program running! (pid: $pid)\n"; + print("There's already a copy of this program running! (pid: $pid)\n"); $_ = ps("ax"); if (/\n($pid) [!\n]*( |\/)$EXENAME/) { - print "If you feel this is an error, remove $PIDFILE!\n"; + print("If you feel this is an error, remove $PIDFILE!\n"); exit(1); } - print "The pid $pid is not a running $EXENAME process, so I'll start anyway.\n" + print("The pid $pid is not a running $EXENAME process, so I'll start anyway.\n"); } if($DAEMON) { my($pid) = fork; if($pid != 0) { - print("vdradmind.pl $VERSION started with pid $pid.\n"); + printf(gettext("vdradmind.pl %s started with pid %d.") . "\n", $VERSION, $pid); writePID($pid); exit(0); } } +$SIG{__DIE__} = \&Shutdown; + +my @reccmds; +loadRecCmds(); my($Socket) = IO::Socket::INET->new( Proto => 'tcp', @@ -275,10 +300,6 @@ die("can't start server: $!\n") if (!$Socket); $Socket->timeout($CONFIG{AT_TIMEOUT} * 60) if($CONFIG{AT_FUNC}); $CONFIG{CACHE_LASTUPDATE} = 0; -# -my(@I18N_Days, @I18N_Month, %ERRORMESSAGE, %COMMONMESSAGE, @LOGINPAGES_DESCRIPTION, %HELP, %MESSAGES); -LoadTranslation(); - ## # Mainloop ## @@ -312,7 +333,7 @@ while(true) { if($raw_request =~ /^GET (\/[\w\.\/-\:]*)([\?[\w=&\.\+\%-\:\!]*]*)[\#\d ]+HTTP\/1.\d$/) { ($Request, $Query) = ($1, $2 ? substr($2, 1, length($2)) : undef); } else { - Error("404", $MESSAGES{err_notfound}, $MESSAGES{err_notfound_long}); + Error("404", $ERROR_MESSAGE{notfound}, $ERROR_MESSAGE{notfound_long}); close($Client); next; } @@ -320,6 +341,7 @@ while(true) { # parse header my($username, $password, $http_useragent); for my $line (@Request) { +# print(">" . $line . "\n"); if($line =~ /Referer: (.*)/) { $Referer = $1; } @@ -369,7 +391,7 @@ while(true) { eval("(\$http_status, \$bytes_transfered) = $aktion();"); } else { # XXX redirect to no access template - Error("403", $MESSAGES{err_forbidden}, $MESSAGES{err_forbidden_long}); + Error("403", $ERROR_MESSAGE{forbidden}, $ERROR_MESSAGE{forbidden_long}); next; } } elsif($Request eq "/") { @@ -419,7 +441,7 @@ sub ReadFile { my $file = shift; return if(!$file); - open(I18N, $file) || HTMLError(sprintf($MESSAGES{err_cant_open}, $file)); + open(I18N, $file) || HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $file)); my $buf = join("", <I18N>); close(I18N); return($buf); @@ -452,7 +474,6 @@ sub HTMLError { my $error = join("", @_); my $template = HTML::Template->new(filename => "$TEMPLATEDIR/$CONFIG{TEMPLATE}/error.html"); $template->param( - title => $MESSAGES{err_error}, error => $error ); $CONFIG{CACHE_LASTUPDATE} = 0; @@ -837,10 +858,7 @@ sub headerForward { sub headerNoAuth { my $template = TemplateNew("noauth.html"); - my $vars = { - msg => \%MESSAGES - }; - $template->param($vars); + my $vars; my $data; my $out = $template->output; $Xtemplate->process(\$out, $vars, \$data); @@ -890,10 +908,10 @@ sub SendFile { if(!$mimehash{$2}) { die("can't find mime-type \'$2\'\n"); } return(header("200", $mimehash{$2}, $buf, 1)); } else { - Error("403", $MESSAGES{err_forbidden}, sprintf($MESSAGES{err_forbidden_file}, $File)); + Error("403", $ERROR_MESSAGE{forbidden}, sprintf($ERROR_MESSAGE{forbidden_file}, $File)); } } else { - Error("404", $MESSAGES{err_notfound}, sprintf($MESSAGES{err_notfound_file}, $File)); + Error("404", $ERROR_MESSAGE{notfound}, sprintf($ERROR_MESSAGE{notfound_file}, $File)); } } @@ -904,11 +922,13 @@ sub AT_Read { my(@at); if(-e $AT_FILENAME) { open(AT_FILE, $AT_FILENAME) || - HTMLError(sprintf($MESSAGES{err_cant_open}, $AT_FILENAME)); + HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $AT_FILENAME)); while(<AT_FILE>) { chomp; next if($_ eq ""); - my($active, $pattern, $section, $start, $stop, $episode, $prio, $lft, $channel, $directory, $done) = split(/\:/, $_); + my($active, $pattern, $section, $start, $stop, $episode, $prio, $lft, $channel, $directory, $done, $weekday) = split(/\:/, $_); + $pattern =~ s/\|/\:/g; + $directory =~ s/\|/\:/g; my($usechannel) = ($channel =~ /^\d+$/) ? $channel : get_vdrid_from_channelid($channel); push(@at, { active => $active, @@ -921,7 +941,14 @@ sub AT_Read { lft => $lft, channel => $usechannel, directory => $directory, - done => $done + done => $done, + # Be compatible with older formats, so search on weekdays default to yes + (weekdays => + {map {$_->[0] => defined $weekday ? substr($weekday,$_->[1],1) : 1} + (['wday_mon',0],['wday_tue',1],['wday_wed',2],['wday_thu',3], ['wday_fri',4],['wday_sat',5],['wday_sun',6]) + } + ) + }); } close(AT_FILE); @@ -932,12 +959,12 @@ sub AT_Read { sub AT_Write { my @at = @_; open(AT_FILE, ">" . $AT_FILENAME) || - HTMLError(sprintf($MESSAGES{err_cant_open}, $AT_FILENAME)); - for(@at) { + HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $AT_FILENAME)); + foreach my $auto_timer (@at) { my $temp; for my $item (qw(active pattern section start stop episode prio lft channel directory done)) { - $_->{$item} =~ s/\:/_/g; - my $tempitem = $_->{$item}; + $auto_timer->{$item} =~ s/\:/\|/g; + my $tempitem = $auto_timer->{$item}; if ($item eq 'channel') { my $channelnumber = get_channelid_from_vdrid($tempitem); if ($channelnumber) { @@ -950,6 +977,12 @@ sub AT_Write { $temp .= ":" . $tempitem; } } + # Create weekday string, starting with monday, 1=yes=search this day, e.g. 0011001 + my $search_weekday=''; + map {$search_weekday.=$auto_timer->{weekdays}->{$_}} (qw (wday_mon wday_tue wday_wed wday_thu wday_fri wday_sat wday_sun)); + $temp.=":$search_weekday"; + + # Finally write the auto timer entry print AT_FILE $temp, "\n"; } close(AT_FILE); @@ -957,7 +990,7 @@ sub AT_Write { sub DONE_Write { my $done = shift || return; - open(DONE_FILE, ">" . $DONE_FILENAME) || HTMLError(sprintf($MESSAGES{err_cant_open}, $DONE_FILENAME)); + open(DONE_FILE, ">" . $DONE_FILENAME) || HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $DONE_FILENAME)); foreach my $n (sort keys %$done) { printf DONE_FILE "%s::%d::%s\n", $n, $done->{$n}, scalar localtime($done->{$n}); }; @@ -967,7 +1000,7 @@ sub DONE_Write { sub DONE_Read { my $done; if(-e $DONE_FILENAME) { - open(DONE_FILE, $DONE_FILENAME) || HTMLError(sprintf($MESSAGES{err_cant_open}, $AT_FILENAME)); + open(DONE_FILE, $DONE_FILENAME) || HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $AT_FILENAME)); while(<DONE_FILE>) { chomp; next if($_ eq ""); @@ -982,7 +1015,7 @@ sub DONE_Read { sub BlackList_Read { my %blacklist; if(-e $BL_FILENAME) { - open(BL_FILE, $BL_FILENAME) || HTMLError(sprintf($MESSAGES{err_cant_open}, $BL_FILENAME)); + open(BL_FILE, $BL_FILENAME) || HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $BL_FILENAME)); while(<BL_FILE>) { chomp; next if($_ eq ""); @@ -1141,7 +1174,7 @@ sub AutoTimer { } } else { # Normal event not spreading over Midnight - Log(LOG_DEBUG, "937: Event does not includes Midnight"); + Log(LOG_DEBUG, "937: Event does not include Midnight"); if(my_strftime("%H%M", $event->{start}) < $at->{start}) { if(my_strftime("%H%M", $event->{start}) > $at->{stop}) { # The event starts before AT start and after AT stop @@ -1190,6 +1223,14 @@ sub AutoTimer { } } + # Check if we should schedule any timers on this weekday + my %weekdays_map = (1=>'wday_mon', 2=>'wday_tue', 3=>'wday_wed', 4=>'wday_thu', + 5=>'wday_fri', 6=>'wday_sat', 7=>'wday_sun'); + unless ($at->{weekdays}->{$weekdays_map{my_strftime ("%u",$event->{start})}}) { + Log(LOG_DEBUG, "Event not valid for this weekday"); + next; + } + Log(LOG_AT, sprintf("Auto Timer: Found \"%s\"", $at->{pattern})); ######################################################################################### @@ -1297,7 +1338,7 @@ sub AutoTimer { sub AT_ProgTimer { my($active, $event_id, $channel, $start, $stop, $title, $summary, $prio, $lft) = @_; - $title =~ s/\:/ /g; + $title =~ s/\|/\:/g; $start -= ($CONFIG{TM_MARGIN_BEGIN} * 60); $stop += ($CONFIG{TM_MARGIN_END} * 60); @@ -1511,7 +1552,7 @@ sub ParseTimer { $event_id = UnpackEvent_id($tmstatus); # direct recording (menu, red) - $active = 1 if($active == 3); + $active = 1 if($active == 3 || $active == 8); # replace "|" by ":" in timer's title (man vdr.5) $title =~ s/\|/\:/g; @@ -1586,7 +1627,8 @@ sub ParseTimer { summary => $summary, collision => 0, critical => 0, - first => $first + first => $first, + proglink => sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $vdr_id) }); $first = 0; } @@ -1610,7 +1652,8 @@ sub ParseTimer { summary => $summary, collision => 0, critical => 0, - first => -1 + first => -1, + proglink => sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $vdr_id) }); } @@ -1638,12 +1681,13 @@ sub DisplayMessage { sub LoadTranslation { undef @I18N_Days; undef @I18N_Month; - undef %MESSAGES; - undef %ERRORMESSAGE; - undef %COMMONMESSAGE; + undef %ERROR_MESSAGE; + undef %MESSAGE; undef %HELP; undef @LOGINPAGES_DESCRIPTION; - include("$I18NDIR/$CONFIG{LANGUAGE}/$I18NFILE"); + + setlocale(LC_MESSAGES, ""); + include("$TEMPLATEDIR/$I18NFILE"); } sub HelpURL { @@ -1774,6 +1818,12 @@ sub Log { sub TemplateNew { my $file = shift; + + my $translation_filter = sub { + my $text_ref = shift; + $$text_ref =~ s/<%! (.*?) !%>/gettext($1)/ge; + }; + $CONFIG{TEMPLATE} = "default" if(!$CONFIG{TEMPLATE}); $file = "$TEMPLATEDIR/$CONFIG{TEMPLATE}/$file"; if(!-e $file) { @@ -1783,6 +1833,7 @@ sub TemplateNew { die_on_bad_params => 0, loop_context_vars => 1, #DEBUG => DEBUG_ALL, + filter => $translation_filter, filename => $file ); return $template; @@ -1971,8 +2022,7 @@ sub show_index { my $vars = { loginpage => "$MyURL?aktion=$page", version => $VERSION, - host => $CONFIG{VDR_HOST}, - msg => \%MESSAGES + host => $CONFIG{VDR_HOST} }; $template->param($vars); my $output; @@ -1984,7 +2034,7 @@ sub show_index { sub show_navi { my $template = TemplateNew("left.html"); my $vars = { - msg => \%MESSAGES + linvdr => $LINVDR }; $template->param($vars); my $output; @@ -2086,8 +2136,7 @@ sub prog_detail { start => $start, stop => $stop, text => $displaytext ? $displaytext : undef, - date => $date, - msg => \%MESSAGES + date => $date }; $template->param($vars); my $output; @@ -2148,9 +2197,10 @@ sub prog_list { # new day push(@show, { endd => 1 }) if(scalar(@show) > 0); push(@show, { - title => $event->{channel_name} . " | " . - FullDay(my_strftime("%w", $event->{start})) . ", " . - my_strftime("%d.%m.%Y", $event->{start}), + title => $event->{channel_name} . " | " . my_strftime("%A, %x", $event->{start}), +# title => $event->{channel_name} . " | " . +# FullDay(my_strftime("%w", $event->{start})) . ", " . +# my_strftime("%d.%m.%Y", $event->{start}), newd => 1, next_channel => $next_channel ? "$MyURL?aktion=prog_list&vdr_id=$next_channel" : undef, prev_channel => $prev_channel ? "$MyURL?aktion=prog_list&vdr_id=$prev_channel" : undef, @@ -2179,14 +2229,14 @@ sub prog_list { # my($template) = TemplateNew("prog_list.html"); my $vars = { - url => $MyURL, - loop => \@show, - chanloop => \@channel, - progname => GetChannelDescByNumber($vdr_id), - switchurl => "$MyURL?aktion=prog_switch&channel=" . $vdr_id, - streamurl => "$MyURL?aktion=live_stream&channel=" . $vdr_id, - toolbarurl => "$MyURL?aktion=toolbar", - msg => \%MESSAGES + url => $MyURL, + loop => \@show, + chanloop => \@channel, + progname => GetChannelDescByNumber($vdr_id), + switchurl => "$MyURL?aktion=prog_switch&channel=" . $vdr_id, + streamurl => "$MyURL?aktion=live_stream&channel=" . $vdr_id, + stream_live_on => $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON}, + toolbarurl => "$MyURL?aktion=toolbar" }; $template->param($vars); my $output; @@ -2258,10 +2308,12 @@ sub prog_list2 { if($dayflag == 1) { push(@show, { - title => $event->{channel_name} . " | " . - FullDay(my_strftime("%w", $event->{start})) . ", " . - my_strftime("%d.%m.%Y", $event->{start}), - newd => 1, + title => $event->{channel_name} . " | " . my_strftime("%A, %x", $event->{start}), +# title => $event->{channel_name} . " | " . +# FullDay(my_strftime("%w", $event->{start})) . ", " . +# my_strftime("%d.%m.%Y", $event->{start}), + newd => 1, + streamurl => "$MyURL?aktion=live_stream&channel=" . $event->{vdr_id}, undef, undef, }); @@ -2292,13 +2344,13 @@ sub prog_list2 { # my($template) = TemplateNew("prog_list2.html"); my $vars = { - url => $MyURL, - loop => \@show, - chanloop => \@channel, - progname => GetChannelDescByNumber($vdr_id), - switchurl => "$MyURL?aktion=prog_switch&channel=" . $vdr_id, - toolbarurl => "$MyURL?aktion=toolbar", - msg => \%MESSAGES + url => $MyURL, + loop => \@show, + chanloop => \@channel, + progname => GetChannelDescByNumber($vdr_id), + switchurl => "$MyURL?aktion=prog_switch&channel=" . $vdr_id, + stream_live_on => $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON}, + toolbarurl => "$MyURL?aktion=toolbar" }; $template->param($vars); my $output; @@ -2344,7 +2396,7 @@ sub timer_list { $timer->{delurl} = $MyURL . "?aktion=timer_delete&timer_id=" . $timer->{id}, $timer->{modurl} = $MyURL . "?aktion=timer_new_form&timer_id=" . $timer->{id}, $timer->{toggleurl} = sprintf("%s?aktion=timer_toggle&active=%s&id=%s", $MyURL, ($timer->{active} & 1) ? 0 : 1, $timer->{id}), - $timer->{dor} = my_strftime("%d.%m", $timer->{startsse}); + $timer->{dor} = my_strftime("%a %d.%m", $timer->{startsse}); $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})); @@ -2568,8 +2620,7 @@ sub timer_list { url => $MyURL, help_url => HelpURL("timer_list"), current => $current, - title => $title, - msg => \%MESSAGES + title => $title }; $template->param($vars); @@ -2665,8 +2716,7 @@ sub timer_new_form { channels => \@channels, newtimer => $timer_id ? 0 : 1, referer => Encode_Referer($ref), - help_url => HelpURL("timer_new"), - msg => \%MESSAGES, + help_url => HelpURL("timer_new") }; my $template = TemplateNew("timer_new.html"); @@ -2845,9 +2895,9 @@ sub rec_stream { } $title=$newtitle; $title =~ s/~/\//g; - @files= `find $VIDEODIR/ -regex "$VIDEODIR/$title\_*/....-$month-$day\\.$hour.$minute\\...\\...\\.rec/...\\.vdr" | sort -r`; + @files= `find $CONFIG{VIDEODIR}/ -regex "$CONFIG{VIDEODIR}/$title\_*/....-$month-$day\\.$hour.$minute\\...\\...\\.rec/...\\.vdr" | sort -r`; foreach (@files) { - $_ =~ s/$VIDEODIR//; + $_ =~ s/$CONFIG{VIDEODIR}/$CONFIG{ST_VIDEODIR}/; $data= $CONFIG{ST_URL}."$_\n$data"; } } @@ -2905,6 +2955,7 @@ sub at_timer_list { $_->{prio} = $_->{prio} ? $_->{prio} : $CONFIG{AT_PRIORITY}; $_->{lft} = $_->{lft} ? $_->{lft} : $CONFIG{AT_LIFETIME}; $_->{id} = $id; + $_->{proglink} = sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $_->{channel}); $_->{channel} = GetChannelDescByNumber($_->{channel}); $_->{sortbyactive} = 1 if($sortby eq "active"); $_->{sortbychannel} = 1 if($sortby eq "channel"); @@ -2968,8 +3019,7 @@ sub at_timer_list { #naturl => $MyURL . "?aktion=at_timer_new&active=1", url => $MyURL, force_update_url => "$MyURL?aktion=force_update", - help_url => HelpURL("at_timer_list"), - msg => \%MESSAGES + help_url => HelpURL("at_timer_list") }; $template->param($vars); my $output; @@ -3032,8 +3082,8 @@ sub at_timer_edit { description => ($at[$id-1]->{section} & 4) ? 1 : 0, directory => $at[$id-1]->{directory}, newtimer => 0, - help_url => HelpURL("at_timer_new"), - msg => \%MESSAGES + (map {$_=>$at[$id-1]->{weekdays}->{$_}} qw (wday_mon wday_tue wday_wed wday_thu wday_fri wday_sat wday_sun)), + help_url => HelpURL("at_timer_new") }; $template->param($vars); @@ -3050,12 +3100,12 @@ sub at_timer_new { active => $q->param("active"), done => $q->param("done"), title => 1, + wday_mon => 1, wday_tue=>1, wday_wed=>1, wday_thu=>1, wday_fri=>1, wday_sat=>1, wday_sun=>1, channels => \@CHAN, prio => $CONFIG{AT_PRIORITY}, lft => $CONFIG{AT_LIFETIME}, newtimer => 1, - help_url => HelpURL("at_timer_new"), - msg => \%MESSAGES + help_url => HelpURL("at_timer_new") }; $template->param($vars); my $output; @@ -3067,6 +3117,15 @@ sub at_timer_new { sub at_timer_save { my $id = $q->param("id"); + my $start; + my $stop; + if (length($q->param("starth")) > 0 || length($q->param("startm")) > 0) { + $start = sprintf("%02s%02s", $q->param("starth"), $q->param("startm")); + } + if (length($q->param("stoph")) > 0 || length($q->param("stopm")) > 0) { + $stop = sprintf("%02s%02s", $q->param("stoph"), $q->param("stopm")); + } + if($q->param("save")) { if(!$id) { my @at = AT_Read(); @@ -3080,12 +3139,13 @@ sub at_timer_save { done => $q->param("done"), pattern => $q->param("pattern"), section => $section, - start => $q->param("starth") . $q->param("startm"), - stop => $q->param("stoph") . $q->param("stopm"), + start => $start, + stop => $stop, prio => $q->param("prio"), lft => $q->param("lft"), channel => $q->param("channel"), - directory => $q->param("directory") + directory => $q->param("directory"), + weekdays => {map {$_=>$q->param($_)?$q->param($_):0} (qw (wday_mon wday_tue wday_wed wday_thu wday_fri wday_sat wday_sun))} }); AT_Write(@at); } else { @@ -3106,12 +3166,13 @@ sub at_timer_save { done => $q->param("done"), pattern => $q->param("pattern"), section => $section, - start => $q->param("starth") . $q->param("startm"), - stop => $q->param("stoph") . $q->param("stopm"), + start => $start, + stop => $stop, prio => $q->param("prio"), lft => $q->param("lft"), channel => $q->param("channel"), - directory => $q->param("directory") + directory => $q->param("directory"), + weekdays => {map {$_=>$q->param($_)?$q->param($_):0} (qw (wday_mon wday_tue wday_wed wday_thu wday_fri wday_sat wday_sun))} }); } } @@ -3218,12 +3279,27 @@ sub prog_timeline { my(@show, @shows, @temp); my $shows; - my @epgChannels = split(/\,/, $CONFIG{CHANNELS_WANTED}); + my @epgChannels; + for my $channel (@CHAN) { + # if its wished, display only wanted channels + if($CONFIG{CHANNELS_WANTED_TIMELINE}) { + my $found = 0; + for my $n (split(",", $CONFIG{CHANNELS_WANTED})) { + ($found = 1) if($n eq $channel->{vdr_id}); + } + next if(!$found); + } + + # skip channels without EPG data + if(ChannelHasEPG($channel->{vdr_id})) { + push(@epgChannels, $channel->{vdr_id}); + } + } + @epgChannels = keys(%EPG) unless scalar @epgChannels; foreach(@epgChannels) { # Sender durchgehen - next unless(ChannelHasEPG($_)); foreach my $event (sort {$a->{start} <=> $b->{start} } @{$EPG{$_}}) { # Events durchgehen next if($event->{stop} < $event_time or $event->{start} > $event_time_to ); @@ -3267,8 +3343,7 @@ sub prog_timeline { my_strftime("%Y", time)), nowurl => $MyURL . "?aktion=prog_timeline", url => $MyURL, - config => \%CONFIG, - msg => \%MESSAGES + config => \%CONFIG }; my $template = TemplateNew("prog_timeline.html"); @@ -3365,25 +3440,28 @@ sub prog_summary { $displaysubtitle =~ s/\|/<br>\n/g; push(@show, { - date => my_strftime("%d.%m.%y", $event->{start}), - longdate => sprintf("%s., %s. %s %s", - substr(FullDay(my_strftime("%w", $event->{start}), $event->{start}), 0, 2), - my_strftime("%d", $event->{start}), - FullMonth(my_strftime("%m", $event->{start})), - my_strftime("%Y", $event->{start})), - start => my_strftime("%H:%M", $event->{start}), - stop => my_strftime("%H:%M", $event->{stop}), - title => $displaytitle, - subtitle => length($displaysubtitle) > 30 ? substr($displaysubtitle, 0, 30) . "..." : $displaysubtitle, - progname => $event->{channel_name}, - summary => length($displaytext) > 120 ? substr($displaytext, 0, 120) . "..." : $displaytext, - vdr_id => $event->{vdr_id}, - proglink => sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $event->{vdr_id}), - switchurl=> sprintf("%s?aktion=prog_switch&channel=%s", $MyURL, $event->{vdr_id}), - streamurl=> sprintf("%s?aktion=live_stream&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 => $event->{event_id} +# date => my_strftime("%x", $event->{start}), +# longdate => my_strftime("%a, %x", $event->{start}), + date => my_strftime("%d.%m.%y", $event->{start}), + longdate => sprintf("%s., %s. %s %s", + substr(FullDay(my_strftime("%w", $event->{start}), $event->{start}), 0, 2), + my_strftime("%d", $event->{start}), + FullMonth(my_strftime("%m", $event->{start})), + my_strftime("%Y", $event->{start})), + start => my_strftime("%H:%M", $event->{start}), + stop => my_strftime("%H:%M", $event->{stop}), + title => $displaytitle, + subtitle => length($displaysubtitle) > 30 ? substr($displaysubtitle, 0, 30) . "..." : $displaysubtitle, + progname => $event->{channel_name}, + summary => length($displaytext) > 120 ? substr($displaytext, 0, 120) . "..." : $displaytext, + vdr_id => $event->{vdr_id}, + proglink => sprintf("%s?aktion=prog_list&vdr_id=%s", $MyURL, $event->{vdr_id}), + switchurl => sprintf("%s?aktion=prog_switch&channel=%s", $MyURL, $event->{vdr_id}), + streamurl => sprintf("%s?aktion=live_stream&channel=%s", $MyURL, $event->{vdr_id}), + stream_live_on => $CONFIG{ST_FUNC} && $CONFIG{ST_LIVE_ON}, + 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 => $event->{event_id} }); last if(!$search); } @@ -3412,8 +3490,7 @@ sub prog_summary { rows => \@shows, now => strftime("%H:%M", localtime($event_time)), nowurl => $MyURL . "?aktion=prog_summary", - url => $MyURL, - msg => \%MESSAGES + url => $MyURL }; $template->param($vars); my $output; @@ -3430,7 +3507,7 @@ sub rec_list { my(@all_recordings, @recordings); # - my $ffserver = `ps -ef | grep ffserver | wc -l`; + #my $ffserver = `ps -ef | grep ffserver | wc -l`; my $desc; if(!defined($q->param("desc"))) { $desc = 1; @@ -3534,7 +3611,8 @@ sub rec_list { delurl => $MyURL . "?aktion=rec_delete&id=$id", editurl => $MyURL . "?aktion=rec_edit&id=$id", infurl => $MyURL . "?aktion=rec_detail&id=$id", - streamurl => $MyURL . "?aktion=rec_stream&id=$id" + streamurl => $MyURL . "?aktion=rec_stream&id=$id", + stream_rec_on => $CONFIG{ST_FUNC} && $CONFIG{ST_REC_ON} }); } @@ -3569,7 +3647,7 @@ sub rec_list { last if($fuse > 100); } push(@path, { - name => $COMMONMESSAGE{OVERVIEW}, + name => $MESSAGE{overview}, url => ($parent ne 0) ? sprintf("%s?aktion=rec_list&parent=%s", $MyURL, 0) : "" }); @path = reverse(@path); @@ -3630,7 +3708,8 @@ sub rec_list { path => \@path, url => $MyURL, help_url => HelpURL("rec_list"), - msg => \%MESSAGES + reccmds => \@reccmds, + stream_rec_on => $CONFIG{ST_FUNC} && $CONFIG{ST_REC_ON} }; $template->param($vars); my $output; @@ -3675,8 +3754,7 @@ sub rec_detail { my $template = TemplateNew("prog_detail.html"); my $vars = { text => $text ? $text : "", - title => $title, - msg => \%MESSAGES + title => $title }; $template->param($vars); my $output; @@ -3686,18 +3764,68 @@ sub rec_detail { } sub rec_delete { - my($id) = $q->param('id'); - if($id) { - SendCMD("delr $id"); - } else { - for($q->param) { - if(/xxxx_(.*)/) { - SendCMD("delr $1"); - } - } - } - CloseSocket(); - return(headerForward(RedirectToReferer("$MyURL?aktion=rec_list"))); + my($id) = $q->param('id'); + + if ($q->param("rec_delete")) { + if ($id) { + SendCMD("delr $id"); + } else { + for ($q->param) { + if (/xxxx_(.*)/) { + SendCMD("delr $1"); + } + } + } + CloseSocket(); + } elsif ($q->param("rec_runcmd")) { + if ($id) { + recRunCmd($q->param("rec_cmd"), $id); + } else { + for ($q->param) { + if (/xxxx_(.*)/) { + recRunCmd($q->param("rec_cmd"), $1); + } + } + } + } + return(headerForward(RedirectToReferer("$MyURL?aktion=rec_list"))); +} + +sub recRunCmd { + my ($cmdID, $id) = @_; + my $cmd = ${reccmds}[$cmdID]{cmd}; + my ($rec_id, $date, $time, $title); + my ($day, $month, $hour, $minute, $newtitle, $c, $folder); + + for(SendCMD("lstr")) { + ($rec_id, $date, $time, $title) = split(/ +/, $_, 4); + last if($rec_id == $id); + } + + $time = substr($time, 0, 5); # needed for wareagel-patch + if ($rec_id == $id) { + chomp($title); + ($day, $month)= split( /\./, $date); + ($hour, $minute)= split( /:/, $time); + # escape characters + $title =~ s/~/\//g; + $title =~ s/\ /\_/g; + for ( my $i=0 ; $i < length($title); $i++) { + $c = substr($title,$i,1); + unless ($c =~ /[öäüßÖÄÜA-Za-z0123456789_!@\$%&\(\)\+,.\-;=~]/) { + $newtitle.= sprintf( "#%02X", ord( $c )); + } else { + $newtitle.= $c; + } + } + $title=$newtitle; + $title =~ s/~/\//g; + $folder = `find $CONFIG{VIDEODIR}/$title -regex "$CONFIG{VIDEODIR}/$title/....-$month-$day\\.$hour.$minute\\...\\...\\.rec"`; + + if ($folder) { + `$cmd $folder`; + } + } } sub rec_edit { @@ -3715,8 +3843,7 @@ sub rec_edit { my $vars = { url => $MyURL, title => $title, - id => $id, - msg => \%MESSAGES + id => $id }; $template->param($vars); my $output; @@ -3753,8 +3880,6 @@ sub conf_list { $CONFIG{$_} = $q->param($_); } } - # - LoadTranslation(); } sub WriteConfig { @@ -3807,20 +3932,6 @@ sub conf_list { }); } } - # - my @lang; - for my $dir (<$I18NDIR/*>) { - next if(!-d $dir); - $dir =~ s/.*\///g; - my $found = 0; - for(@lang) { ($found = 1) if($1 && ($_->{name} eq $1)); } - if(!$found) { - push(@lang, { - name => $dir, - aklang => ($CONFIG{LANGUAGE} eq $dir) ? 1 : 0, - }); - } - } # my (@all_channels, @selected_channels); @@ -3857,15 +3968,13 @@ sub conf_list { my $template = TemplateNew("config.html"); my $vars = { %CONFIG, - LANGLIST => \@lang, TEMPLATELIST => \@template, ALL_CHANNELS => \@all_channels, SELECTED_CHANNELS => \@selected_channels, LOGINPAGES => \@loginpages, SKINLIST => \@skinlist, url => $MyURL, - help_url => HelpURL("conf_list"), - msg => \%MESSAGES + help_url => HelpURL("conf_list") }; $template->param($vars); my $output; @@ -3881,8 +3990,7 @@ sub rc_show { my $template = TemplateNew("rc.html"); my $vars = { url => sprintf("%s?aktion=grab_picture", $MyURL), - host => $CONFIG{VDR_HOST}, - msg => \%MESSAGES + host => $CONFIG{VDR_HOST} }; $template->param($vars); my $output; @@ -3908,8 +4016,7 @@ sub tv_show { my $template = TemplateNew("tv.html"); my $vars = { url => sprintf("%s?aktion=grab_picture", $MyURL), - host => $CONFIG{VDR_HOST}, - msg => \%MESSAGES + host => $CONFIG{VDR_HOST} }; $template->param($vars); my $output; @@ -3928,8 +4035,7 @@ sub show_help { } my $template = TemplateNew("prog_detail.html"); # XXX eigenes Template? my $vars = { - text => $text, - msg => \%MESSAGES + text => $text }; $template->param($vars); my $output; @@ -3977,6 +4083,35 @@ sub force_update { RedirectToReferer("$MyURL?aktion=prog_summary"); } +sub isLinVDR { + my $file = "/etc/linvdr-release"; + my $content; + if(-e $file) { + open(FILE, $file); + $content = <FILE>; + close(FILE); + } + chomp($content); + return($content); +} + +sub loadRecCmds { + my $id = 0; + if(-e "$CONFIG{VDRCONFDIR}/reccmds.conf" and my $text = open(FH, "$CONFIG{VDRCONFDIR}/reccmds.conf")) { + while(<FH>) { + chomp; + s/#.*//; + s/^\s+//; + s/\s+$//; + next unless length; + my ($title, $cmd) = split(":", $_); + push(@reccmds, {title => $title, cmd => $cmd, id => $id}); + $id = $id + 1; + } + close(FH); + } +} + ############################################################################# # Authentication ############################################################################# @@ -4035,7 +4170,7 @@ sub myconnect { my $this = shift; if ($epg && $CONFIG{EPG_DIRECT}) { main::Log(LOG_VDRCOM, "LOG_VDRCOM: open EPG $CONFIG{EPG_FILENAME}"); - open($EPGSOCKET,$CONFIG{EPG_FILENAME}) || main::HTMLError(sprintf($MESSAGES{err_cant_open}, $CONFIG{EPG_FILENAME})); + open($EPGSOCKET,$CONFIG{EPG_FILENAME}) || main::HTMLError(sprintf($ERROR_MESSAGE{cant_open}, $CONFIG{EPG_FILENAME})); return; } main::Log(LOG_VDRCOM, "LOG_VDRCOM: connect to $CONFIG{VDR_HOST}:$CONFIG{VDR_PORT}"); @@ -4044,7 +4179,7 @@ sub myconnect { PeerAddr => $CONFIG{VDR_HOST}, PeerPort => $CONFIG{VDR_PORT}, Proto => 'tcp' - ) || main::HTMLError(sprintf($ERRORMESSAGE{CONNECT_FAILED}, $CONFIG{VDR_HOST})); + ) || main::HTMLError(sprintf($ERROR_MESSAGE{connect_failed}, $CONFIG{VDR_HOST})); my $line; $line = <$SOCKET>; @@ -4091,7 +4226,7 @@ sub command { if($SOCKET) { my $result = send($SOCKET, $cmd, 0); if($result != length($cmd)) { - main::HTMLError($ERRORMESSAGE{SEND_COMMAND}, $CONFIG{VDR_HOST}); + main::HTMLError($ERROR_MESSAGE{send_command}, $CONFIG{VDR_HOST}); } else { $query = true; } |