diff -ruN vdr-1.3.47/CONTRIBUTORS vdr-1.3.48/CONTRIBUTORS
--- vdr-1.3.47/CONTRIBUTORS	2006-04-17 14:18:50.000000000 +0200
+++ vdr-1.3.48/CONTRIBUTORS	2006-04-23 13:43:54.000000000 +0200
@@ -1,5 +1,5 @@
 Tons of suggestions, bugreports, patches and other contributions have been
-provided by the people on the 'linux-dvb' and 'vdr' mailing lists.
+provided by the people on the 'linux-dvb' and 'vdr' mailing lists
 Special thanks go to the following individuals (if your name is missing here,
 please send an email to kls@cadsoft.de):
 
@@ -48,7 +48,7 @@
 Martin Hammerschmid <martin@hammerschmid.com>
  for suggesting to display the direct channel select input on the OSD
  for suggesting to use the "Blue" button in the main menu to resume replay
- for implementing pege up/down with the "Left" and "Right" keys
+ for implementing page up/down with the "Left" and "Right" keys
  for detecting a deadlock when switching channels via Schedule/Now|Next/Switch
  for adding a missing #include to ringbuffer.c
  for adding a missing 'public' keyword in device.h
@@ -300,7 +300,7 @@
  recordings can be triggered in the default branch
  for pointing out that pesAssembler->Reset() needs to be called between subsequent
  Transfer Modes
- for suggestions that led to the addition of the 'Id' parameter to cAudio::Play().
+ for suggestions that led to the addition of the 'Id' parameter to cAudio::Play()
  for pointing out that MAXDPIDS needs to be to 16 (8xAC3 + 8xDTS)
  for reporting a problem with ensuring there is a current audio track in case there
  is only one track
@@ -377,7 +377,7 @@
  for translating OSD texts to the Finnish language
 
 Jürgen Schmidt <ju@ct.heise.de>
- for fixing a problem with 'in_addr_t' on systems with glibc < 2.2.
+ for fixing a problem with 'in_addr_t' on systems with glibc < 2.2
  for suggesting to optionally allow logging to LOG_LOCALn (n=0..7)
 
 Uwe Freese <mail@uwe-freese.de>
@@ -444,7 +444,7 @@
  for translating OSD texts to the Polish language
 
 Michael Moster <dvb@juelich-gmbh.de>
- for initally reporting the problem with wrong EPG data in the Schedules menu
+ for initially reporting the problem with wrong EPG data in the Schedules menu
  (somehow I had misplaced his message...)
 
 Tobias Kerner <tobschle@gmx.de>
@@ -833,6 +833,7 @@
  for reporting '\n' in an esyslog() call in osd.c
  for reporting missing '&' in the SetAreas() example in PLUGINS.html
  for reporting a memory leak in cString::operator=()
+ for a patch that was used as a base to implement cPlugin::Active()
 
 Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
  for modifying LOF handling to allow for C-band reception
@@ -883,6 +884,7 @@
  for fixing the "plugins-clean" and "plugins-install" targets in the Makefile
  for suggesting to make the log messages regarding lost lock of devices "info"
  instead of "error"
+ for modifying the German OSD texts to be "less technical"
 
 Manuel Hartl <icecep@gmx.net>
  for suggesting to extend the logging info when starting/stopping timers
@@ -944,7 +946,7 @@
  for translating OSD texts to the Catalanian language
 
 Lars Bläser <LBlaeser@hofheim.de>
- for reporting a bug in EPG bugfix statistics which made log entires for undefined
+ for reporting a bug in EPG bugfix statistics which made log entries for undefined
  channels
 
 Niko Tarnanen <niko.tarnanen@hut.fi>
@@ -973,6 +975,7 @@
  for adding a missing "Button$" for the Timer button and "Key$" in skinclassic.c
  for reporting a bug in handling the color button texts when switching from the
  'Schedule' menu of a channel without EPG info to the 'What's on now' menu
+ for reporting a bug in handling empty titles in cEvent::FixEpgBugs()
 
 Ralf Klueber <ralf.klueber@vodafone.com>
  for reporting a bug in cutting a recording if there is only a single editing mark
@@ -1084,7 +1087,7 @@
  device used by the timer, and the timer needs a different transponder
 
 Manfred Schmidt-Voigt <manfred.schmidt-voigt@mannitec.de>
- for reporting a problem with runnign out of disk space while cutting in case
+ for reporting a problem with running out of disk space while cutting in case
  there are still deleted recordings to remove
 
 Javier Marcet <lists@marcet.info>
@@ -1098,7 +1101,7 @@
  for reporting a hangup in SVDRP when the client disappears without sending QUIT
 
 Sebastian Frei <sebastian@schnapsleichen.de>
- for his support in keeping 'channels.conf' up-to-date.
+ for his support in keeping 'channels.conf' up-to-date
  for suggesting to rename the Makefile target 'plugins-clean' to 'clean-plugins'
 
 Rene Bartsch <ml@bartschnet.de>
@@ -1278,7 +1281,7 @@
  for avoiding unnecessary section filter start/stops
  for pointing out that if one PID can't be added, the whole cDevice::AttachReceiver()
  should fail and all PIDs added so far should be deleted
- for fixing attaching a cPlayer to a cDevice, so that 'Operation not permited'
+ for fixing attaching a cPlayer to a cDevice, so that 'Operation not permitted'
  errors don't occur any more
  for reporting a problem with initialization of the main program loop variables
  with older compiler versions
@@ -1297,7 +1300,7 @@
  when clearing the transfer buffer to avoid overflows
  for adding CMD_SPU_CHG_COLCON to cDvbSpuDecoder::setTime()
  for suggesting to force a new resync after a call to cRemux::Clear()
- for suggestions that led to the addition of the 'Id' parameter to cAudio::Play().
+ for suggestions that led to the addition of the 'Id' parameter to cAudio::Play()
  for removing the "Cleared/PlayPes(NULL, 0)" handling from cTransfer::Action(), since
  this is now done when attaching the player to the device
  for adding DeviceClrAvailableTracks() and DeviceSetCurrentAudioTrack() to cPlayer
@@ -1407,6 +1410,8 @@
  case a replay is active
  for reporting a problem with plugins that report errors when VDR is run with the
  --help or --version option
+ for suggesting to add a warning about plugins that don't honor APIVERSION in their
+ Makefile
 
 Sven Kreiensen <svenk@kammer.uni-hannover.de>
  for his help in keeping 'channels.conf.terr' up to date
@@ -1489,7 +1494,7 @@
 
 Patrick Gleichmann <patrick@feedface.com>
  for fixing the default quality value when grabbing a JPEG image
- for suggestiong a modified page scrolling behaviour
+ for suggesting a modified page scrolling behaviour
  for suggesting wrapping around in menu lists
 
 Achim Tuffentsammer <a.tuffentsammer@web.de>
@@ -1505,6 +1510,7 @@
 
 Walter Koch <koch@u32.de>
  for adding channels for DVB-T Düsseldorf and Köln (Germany) to channels.cont.terr
+ for fixing some missing '-' in the German OSD texts
 
 Rolf Groppe <rolf@groppe.de>
  for suggesting to fall back to 'stereo' when switching channels in case the user
@@ -1563,6 +1569,8 @@
  in case it breaks
  for enabling generating a core dump if VDR is run with a different user id
  for reporting an obsolete entry 'S21.5E' in the default 'diseqc.conf'
+ for updating the GPL copies
+ for fixing several spelling errors
 
 Steffen Beyer <cpunk@reactor.de>
  for fixing setting the colored button help after deleting a recording in case the next
@@ -1623,7 +1631,7 @@
  scan timeout is set to 0
 
 Klaus Heppenheimer <klaus@reel-multimedia.com>
- for reporting a race condition in cTransfer.
+ for reporting a race condition in cTransfer
 
 Thomas Günther <tom1@toms-cafe.de>
  for fixing handling the frame number display if '7' is pressed before the first
@@ -1634,6 +1642,8 @@
  for making the 'new' indicator in the Recordings menu kept up-to-date
  for reporting a crash when setting the time transponder in the Setup menu
  for reporting a bug in the initial setting of the time transponder setup parameter
+ for suggesting to extend the version number reported with the '-V' option to also
+ show the current APIVERSION
 
 David Woodhouse <dwmw2@infradead.org>
  for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
@@ -1655,6 +1665,8 @@
 Marko Mäkelä <marko.makela@hut.fi>
  for making repeat keys be ignored when waiting for a keypress to cancel an operation
  for reporting that a menu was automatically closed when a replay ends
+ for suggesting to ignore k_Repeat when deciding whether the same key has been
+ pressed in string input fields
 
 Patrick Rother <krd-vdr@gulu.net>
  for reporting a bug in defining timers that only differ in the day of week
@@ -1675,7 +1687,7 @@
 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
  for making VDR use use daemon() instead of fork() to run in daemon mode
  for fixing a possible endless loop in a menu with no selectable items if
- Setup.MenuScrollWrap is true (thanks to Enrico Scholz).
+ Setup.MenuScrollWrap is true (thanks to Enrico Scholz)
 
 Nicolas Huillard <nhuillard@e-dition.fr>
  for translating OSD texts to the French language
@@ -1727,6 +1739,7 @@
  for suggesting to add cMenuEditStrItem::InEditMode()
  for his idea of going directly into the "Edit timer" menu for a timer created
  from the "Schedule" menu in case it starts withing the next two minutes
+ for reporting a problem with a format string in recording.c on 64bit systems
 
 Thiemo Gehrke <tgehrke@reel-multimedia.com>
  for suggesting to add a setup option to turn off the automatic timeout of the
@@ -1838,12 +1851,16 @@
 Tobias Grimm <listaccount@e-tobi.net>
  for suggesting to use geteuid() to check whether VDR is running as user 'root'
 
-Peter Dittmann <peter.dittmann@philips.com>
- for a patch that was used as a base to implement cPlugin::Active()
-
 Helge Lenz <h.lenz@gmx.de>
  for reporting a bug in setting the 'Delta' parameter when calling the shutdown
  script with no active timer
 
 Peter Juszack <vdr@unterbrecher.de>
  for a patch that was used as a base to implement kNext and kPrev
+
+Pierre Briec <pbriec@free.fr>
+ for translating OSD texts to the French language
+
+Werner Schweer <ws@seh.de>
+ for pointing out that the 'z' printf modifier should be used for 'size_t' type
+ arguments
diff -ruN vdr-1.3.47/COPYING vdr-1.3.48/COPYING
--- vdr-1.3.47/COPYING	2002-03-10 11:05:20.000000000 +0100
+++ vdr-1.3.48/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/HISTORY vdr-1.3.48/HISTORY
--- vdr-1.3.47/HISTORY	2006-04-17 14:18:54.000000000 +0200
+++ vdr-1.3.48/HISTORY	2006-04-23 13:43:20.000000000 +0200
@@ -2768,7 +2768,7 @@
   driver, together with the endian problem).
 - The new OSD setup parameters "Left" and "Top" can be used to define the top left
   corner of the OSD.
-- The OSD size prameters are now in pixel (as opposed to formerly characters).
+- The OSD size parameters are now in pixel (as opposed to formerly characters).
   When reading a 'setup.conf' file from an older version of VDR, the OSDwidth
   and OSDheight values will be converted to pixel automatically.
 - The OSD is now fully device independent. See the comments in VDR/osd.h and the
@@ -3046,7 +3046,7 @@
 - Added some missing 'const' to cChannel.
 - Added a sample setup for 'DisiCon-4 Single Cable Network' to 'diseqc.conf'
   (thanks to Oliver Endriss).
-- Fixed attaching a cPlayer to a cDevice, so that 'Operation not permited'
+- Fixed attaching a cPlayer to a cDevice, so that 'Operation not permitted'
   errors don't occur any more (thanks to Marco Schlüßler).
 - Fixed a case where the resultBuffer in cRemux ran full before getting a sync.
 - Removed the usleep() call from cDvbPlayer::Action() to make VDR run on NPTL
@@ -3089,7 +3089,7 @@
 - Immediately displaying the new channel info when switching channel groups.
 - Moved the main program loop variables further up to allow compilation with
   older compiler versions (thanks to Marco Schlüßler for reporting this one).
-- Now calling pthread_cond_broadcast() in the desctructor of cCondWait and
+- Now calling pthread_cond_broadcast() in the destructor of cCondWait and
   cCondVar to make sure any sleepers will wake up (suggested by Werner Fink).
   Also using pthread_cond_broadcast() instead of pthread_cond_signal() in
   cCondWait, in case there is more than one sleeper.
@@ -3136,7 +3136,7 @@
   funny characters. Invalid language codes will be stored as "???".
 - The '0' key now toggles the "Day" item in the "Timers" menu between "single
   shot" and "repeating". The keys '1'...'7' can be used to toggle the individual
-  days ('1' is monday). Thanks to Sascha Klek for reporting a problem with the
+  days ('1' is Monday). Thanks to Sascha Klek for reporting a problem with the
   '0' key in the "Day" item of the "Timers" menu.
 
 2004-11-21: Version 1.3.17
@@ -3281,7 +3281,7 @@
   Dino Ravnic).
 - Implemented displaying mandatory subtitles in the SPU decoder (thanks to Marco
   Schlüßler).
-- The setup option "Recording/Record Dobly Digital" has been renamed and moved to
+- The setup option "Recording/Record Dolby Digital" has been renamed and moved to
   "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
   whether an available DD audio track will appear in the "Audio" menu.
 - Added support for circular polarization (thanks to Jonan Santiago).
@@ -3346,7 +3346,7 @@
 - Fixed masking SubStreamType in cDevice::PlayPesPacket() (thanks to Werner Fink
   for pointing out this one).
 - The new function cPlugin::Stop() shall be used to stop any background activities
-  of a plugin. Previously this was done in the plugin's desctructor, but it is
+  of a plugin. Previously this was done in the plugin's destructor, but it is
   better to do this in a dedicated function that can be called early when shutting
   down.
 - Moved the call to SetAudioChannel(0) into cDevice::ClrAvailableTracks() to have it
@@ -3505,7 +3505,7 @@
 - Removed scaling coordinates in letterbox mode from cDvbSpu - the DVD plugin, which
   was the only one needing this, doesn't need it any more (thanks to Marco Schlüßler).
 - No longer retuning or restarting a recording if only the language code of an
-  audio or dolby PID changes.
+  audio or Dolby PID changes.
 - Now preferring budget cards when selecting a DVB device for recording.
 - Recordings now avoid zero sized video data files (thanks to Wolfgang Fitz).
 - Some rearrangements in cDvbPlayer::Action() to avoid lockups on NPTL systems
@@ -4525,7 +4525,7 @@
 - Updated the Danish OSD texts (thanks to Mogens Elneff).
 - The new function cPlugin::Active() can be used by a plugin to indicate that it
   is still busy and the system should not shut down or restart (based on a patch
-  from Peter Dittmann). See PLUGINS.html for details.
+  from Sascha Volkenandt). See PLUGINS.html for details.
 - Fixed setting the 'Delta' parameter when calling the shutdown script with
   no active timer (reported by Helge Lenz).
 - In order to make sure that plugins are compiled with the same DVB driver header
@@ -4619,3 +4619,32 @@
 - The new function cPlugin::MainThreadHook() can be used by plugins to perform
   actions in the context of the main program thread. Use this function with great
   care and only of you absolutely have to! See also PLUGINS.html.
+
+2006-04-23: Version 1.3.48
+
+- Updated the GPL copies (thanks to Ville Skyttä).
+- Fixed several spelling errors (thanks to Ville Skyttä).
+- Updated the Polish OSD texts (thanks to Jaroslaw Swierczynski).
+- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
+- Updated the French OSD texts (thanks to Pierre Briec).
+- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
+- Updated the Romanian OSD texts (thanks to Lucian Muresan).
+- Updated the Danish OSD texts (thanks to Mogens Elneff).
+- Updated the Russian OSD texts (thanks to Oleg Roitburd).
+- Updated the Slovenian OSD texts (thanks to Matjaz Thaler).
+- Fixed wrong credits for the patch that was used to implement cPlugin::Active().
+- Simplified the 'grep|awk|sed' command to retrieve the VDR/APIVERSION to a single
+  'sed' call.
+- Updated the Swedish OSD texts (thanks to Tomas Prybil).
+- Modified the German OSD texts to be "less technical" (thanks to Andreas Brachold).
+- Extended the version number reported with the '-V' option to also show the
+  current APIVERSION (suggested by Thomas Günther).
+- Fixed handling empty titles in cEvent::FixEpgBugs() (reported by Rolf Ahrenberg).
+- Fixed some missing '-' in the German OSD texts (thanks to Walter Koch).
+- Added an error message about plugins that don't honor APIVERSION in their Makefile
+  (based on a suggestion by Udo Richter).
+- Fixed a format string in recording.c to avoid a compiler warning on 64bit systems
+  (thanks to Christian Wieninger for reporting, and Werner Schweer for pointing out
+  that the 'z' modifier should be used here).
+- Ignoring k_Repeat when deciding whether the same key has been pressed in string
+  input fields (based on a patch from Marko Mäkelä).
diff -ruN vdr-1.3.47/INSTALL vdr-1.3.48/INSTALL
--- vdr-1.3.47/INSTALL	2006-04-16 12:47:23.000000000 +0200
+++ vdr-1.3.48/INSTALL	2006-04-21 16:57:48.000000000 +0200
@@ -64,7 +64,7 @@
 
 Alternatively you can use the '--rcu' or '--lirc' options at runtime.
 These options accept an optional path to the remote control device,
-which's defaults can be set via the RCU_DEVICE and LIRC_DEVICE macros,
+the defaults of which can be set via the RCU_DEVICE and LIRC_DEVICE macros,
 respectively.
 
 If your video directory will be on a VFAT partition, add the compile
@@ -130,7 +130,7 @@
 watchdog timer to restart the program in case something happens that
 causes a program hangup. If you change the command line options for the
 call to the VDR program, be sure to NOT use the '-d' option! Otherwise
-VDR will go into 'deamon' mode and the initial program call will return
+VDR will go into 'daemon' mode and the initial program call will return
 immediately! 'runvdr' needs to be started as user 'root'. Use the '-u'
 option to run the actual 'vdr' program under a different user id.
 
diff -ruN vdr-1.3.47/MANUAL vdr-1.3.48/MANUAL
--- vdr-1.3.47/MANUAL	2006-04-16 12:15:20.000000000 +0200
+++ vdr-1.3.48/MANUAL	2006-04-21 16:57:48.000000000 +0200
@@ -787,7 +787,7 @@
   Zap Timeout = 3        The time (in seconds) until a channel counts as "previous"
                          for switching with '0'
 
-  Inital channel = 0     The number of the channel that shall be tuned to when
+  Initial channel = 0    The number of the channel that shall be tuned to when
                          VDR starts. Default is 0, which means that it will
                          tune to the channel that was on before VDR was stopped.
 
diff -ruN vdr-1.3.47/Makefile vdr-1.3.48/Makefile
--- vdr-1.3.47/Makefile	2006-04-16 11:00:30.000000000 +0200
+++ vdr-1.3.48/Makefile	2006-04-23 11:01:17.000000000 +0200
@@ -4,7 +4,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: Makefile 1.87 2006/04/16 09:00:30 kls Exp $
+# $Id: Makefile 1.89 2006/04/23 09:01:17 kls Exp $
 
 .DELETE_ON_ERROR:
 
@@ -81,8 +81,8 @@
 
 # The version numbers of VDR and the plugin API (taken from VDR's "config.h"):
 
-VDRVERSION = $(shell grep 'define VDRVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-APIVERSION = $(shell grep 'define APIVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+VDRVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' config.h)
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' config.h)
 
 ifdef VFAT
 # for people who want their video directory on a VFAT partition
@@ -176,10 +176,17 @@
 
 plugins: include-dir
 	@failed="";\
+	@noapiv="";\
 	for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
 	    echo "Plugin $$i:";\
+	    if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
+	       echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
+	       noapiv="$$noapiv $$i";\
+	       continue;\
+	       fi;\
 	    $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
 	    done;\
+	if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
 	if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; fi
 
 clean-plugins:
diff -ruN vdr-1.3.47/PLUGINS/src/hello/COPYING vdr-1.3.48/PLUGINS/src/hello/COPYING
--- vdr-1.3.47/PLUGINS/src/hello/COPYING	2002-05-09 15:35:35.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/hello/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/hello/HISTORY vdr-1.3.48/PLUGINS/src/hello/HISTORY
--- vdr-1.3.47/PLUGINS/src/hello/HISTORY	2002-12-13 15:56:27.000000000 +0100
+++ vdr-1.3.48/PLUGINS/src/hello/HISTORY	2006-04-22 11:32:30.000000000 +0200
@@ -45,3 +45,7 @@
 2002-12-13: Version 0.1.0
 
 - Changed setting of CXX and CXXFLAGS variables in Makefile.
+
+2006-04-22: Version 0.1.1
+
+- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
diff -ruN vdr-1.3.47/PLUGINS/src/hello/Makefile vdr-1.3.48/PLUGINS/src/hello/Makefile
--- vdr-1.3.47/PLUGINS/src/hello/Makefile	2006-04-16 11:03:50.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/hello/Makefile	2006-04-22 11:59:44.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.12 2006/04/16 09:03:50 kls Exp $
+# $Id: Makefile 1.13 2006/04/22 09:59:44 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/hello/hello.c vdr-1.3.48/PLUGINS/src/hello/hello.c
--- vdr-1.3.47/PLUGINS/src/hello/hello.c	2002-12-13 16:01:43.000000000 +0100
+++ vdr-1.3.48/PLUGINS/src/hello/hello.c	2006-04-22 11:31:52.000000000 +0200
@@ -3,7 +3,7 @@
  *
  * See the README file for copyright information and how to reach the author.
  *
- * $Id: hello.c 1.11 2002/12/13 15:01:43 kls Exp $
+ * $Id: hello.c 1.12 2006/04/22 09:31:52 kls Exp $
  */
 
 #include <getopt.h>
@@ -12,7 +12,7 @@
 #include <vdr/plugin.h>
 #include "i18n.h"
 
-static const char *VERSION        = "0.1.0";
+static const char *VERSION        = "0.1.1";
 static const char *DESCRIPTION    = "A friendly greeting";
 static const char *MAINMENUENTRY  = "Hello";
 
diff -ruN vdr-1.3.47/PLUGINS/src/hello/i18n.c vdr-1.3.48/PLUGINS/src/hello/i18n.c
--- vdr-1.3.47/PLUGINS/src/hello/i18n.c	2006-02-04 11:51:41.000000000 +0100
+++ vdr-1.3.48/PLUGINS/src/hello/i18n.c	2006-04-22 11:30:57.000000000 +0200
@@ -3,7 +3,7 @@
  *
  * See the README file for copyright information and how to reach the author.
  *
- * $Id: i18n.c 1.5 2006/02/04 10:51:41 kls Exp $
+ * $Id: i18n.c 1.6 2006/04/22 09:30:57 kls Exp $
  */
 
 #include "i18n.h"
@@ -17,7 +17,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Hei",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -39,7 +39,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Hei maailma!",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -61,7 +61,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Mitä kuuluu?",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -83,7 +83,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Ystävällisin terveisin",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -105,7 +105,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Tervehdysaika (s)",
     "",// TODO
     "",// TODO
     "",// TODO
@@ -127,7 +127,7 @@
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
+    "Käytä vaihtoehtoista tervehdystä",
     "",// TODO
     "",// TODO
     "",// TODO
diff -ruN vdr-1.3.47/PLUGINS/src/osddemo/COPYING vdr-1.3.48/PLUGINS/src/osddemo/COPYING
--- vdr-1.3.47/PLUGINS/src/osddemo/COPYING	2002-11-23 15:56:44.000000000 +0100
+++ vdr-1.3.48/PLUGINS/src/osddemo/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/osddemo/Makefile vdr-1.3.48/PLUGINS/src/osddemo/Makefile
--- vdr-1.3.47/PLUGINS/src/osddemo/Makefile	2006-04-16 11:03:55.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/osddemo/Makefile	2006-04-22 11:59:49.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.6 2006/04/16 09:03:55 kls Exp $
+# $Id: Makefile 1.7 2006/04/22 09:59:49 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/servicedemo/COPYING vdr-1.3.48/PLUGINS/src/servicedemo/COPYING
--- vdr-1.3.47/PLUGINS/src/servicedemo/COPYING	2002-10-26 16:25:44.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/servicedemo/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/servicedemo/Makefile vdr-1.3.48/PLUGINS/src/servicedemo/Makefile
--- vdr-1.3.47/PLUGINS/src/servicedemo/Makefile	2006-04-16 11:03:59.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/servicedemo/Makefile	2006-04-22 11:59:55.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.4 2006/04/16 09:03:59 kls Exp $
+# $Id: Makefile 1.5 2006/04/22 09:59:55 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -31,7 +31,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/skincurses/COPYING vdr-1.3.48/PLUGINS/src/skincurses/COPYING
--- vdr-1.3.47/PLUGINS/src/skincurses/COPYING	2004-05-29 15:35:05.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/skincurses/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/skincurses/Makefile vdr-1.3.48/PLUGINS/src/skincurses/Makefile
--- vdr-1.3.47/PLUGINS/src/skincurses/Makefile	2006-04-16 11:04:04.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/skincurses/Makefile	2006-04-22 12:00:03.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.4 2006/04/16 09:04:04 kls Exp $
+# $Id: Makefile 1.5 2006/04/22 10:00:03 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/sky/COPYING vdr-1.3.48/PLUGINS/src/sky/COPYING
--- vdr-1.3.47/PLUGINS/src/sky/COPYING	2002-10-26 16:25:44.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/sky/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/sky/Makefile vdr-1.3.48/PLUGINS/src/sky/Makefile
--- vdr-1.3.47/PLUGINS/src/sky/Makefile	2006-04-16 11:04:06.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/sky/Makefile	2006-04-22 12:00:17.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.6 2006/04/16 09:04:06 kls Exp $
+# $Id: Makefile 1.7 2006/04/22 10:00:17 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/status/COPYING vdr-1.3.48/PLUGINS/src/status/COPYING
--- vdr-1.3.47/PLUGINS/src/status/COPYING	2002-05-18 16:56:24.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/status/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/status/Makefile vdr-1.3.48/PLUGINS/src/status/Makefile
--- vdr-1.3.47/PLUGINS/src/status/Makefile	2006-04-16 11:04:10.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/status/Makefile	2006-04-22 12:00:24.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.10 2006/04/16 09:04:10 kls Exp $
+# $Id: Makefile 1.11 2006/04/22 10:00:24 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS/src/svdrpdemo/COPYING vdr-1.3.48/PLUGINS/src/svdrpdemo/COPYING
--- vdr-1.3.47/PLUGINS/src/svdrpdemo/COPYING	2005-08-27 13:26:49.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/svdrpdemo/COPYING	2006-04-21 16:51:21.000000000 +0200
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
+
 		    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@
 POSSIBILITY OF SUCH DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
-
+
 	    How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -305,7 +305,7 @@
 
     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
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +336,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
diff -ruN vdr-1.3.47/PLUGINS/src/svdrpdemo/Makefile vdr-1.3.48/PLUGINS/src/svdrpdemo/Makefile
--- vdr-1.3.47/PLUGINS/src/svdrpdemo/Makefile	2006-04-16 11:04:13.000000000 +0200
+++ vdr-1.3.48/PLUGINS/src/svdrpdemo/Makefile	2006-04-22 12:00:32.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # Makefile for a Video Disk Recorder plugin
 #
-# $Id: Makefile 1.4 2006/04/16 09:04:13 kls Exp $
+# $Id: Makefile 1.5 2006/04/22 10:00:32 kls Exp $
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -30,7 +30,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/PLUGINS.html vdr-1.3.48/PLUGINS.html
--- vdr-1.3.47/PLUGINS.html	2006-04-17 12:00:44.000000000 +0200
+++ vdr-1.3.48/PLUGINS.html	2006-04-21 16:57:48.000000000 +0200
@@ -219,7 +219,7 @@
 Call the Perl script <tt>newplugin</tt> from the VDR source directory to create
 a new plugin directory with a <tt>Makefile</tt> and a main source file implementing
 the basic derived plugin class.
-You will also find a <tt>README</tt> file there with some inital text, where you
+You will also find a <tt>README</tt> file there with some initial text, where you
 should fill in actual information about your project.
 A <tt>HISTORY</tt> file is set up with an "Initial revision" entry. As your project
 evolves, you should add the changes here with date and version number.
@@ -284,7 +284,7 @@
 The GNU library header files do this pretty much the same way, except that they
 usually precede the name with only one underline (there are exceptions, though).
 <p>
-As long as you make shure that none of your plugin's header files will be named
+As long as you make sure that none of your plugin's header files will be named
 like one of VDR's header files, you can use the same method as VDR. However,
 if you want to name a header file like one that is already existing in VDR's
 source (<tt>i18n.h</tt> would be a possible candidate for this), you may want
@@ -794,7 +794,7 @@
 that the <i>Setup</i> menu can work with temporary copies (in order to discard any changes
 if the user doesn't confirm them by pressing the "Ok" button).
 After this the constructor adds the appropriate menu items, using internationalized texts
-and the addresses of the temporary variables. That's all there is to inizialize a <i>Setup</i>
+and the addresses of the temporary variables. That's all there is to initialize a <i>Setup</i>
 menu - the rest will be done by the core VDR code.
 <p>
 Once the user has pressed the "Ok" button to confirm the changes, the <tt>Store()</tt> function will
@@ -957,7 +957,7 @@
 of the id string.
 <p>
 The function shall return <i>true</i> for any service id string it handles, and <i>false</i>
-otherwise. The plugins have to agreee in which situations the service
+otherwise. The plugins have to agree in which situations the service
 may be called, for example whether the service may be called from every thread, or
 just from the main thread. A possible implementation could look like this:
 
@@ -1040,7 +1040,7 @@
 (to avoid messy output on 80 character wide terminals). The last entry in the
 list must be NULL.
 <p>
-The command names <tt>HELP</tt> and <tt>MAIN</tt> are reserverd and cannot
+The command names <tt>HELP</tt> and <tt>MAIN</tt> are reserved and cannot
 be used by a plugin.
 <p>
 The actual processing of SVDRP commands for a plugin is done in its
@@ -1283,8 +1283,8 @@
 </pre></td></tr></table><p>
 
 where <tt>Data</tt> points to a block of <tt>Length</tt> bytes of a PES data
-stream containing any combination of video, audio or dolby tracks. Which audio
-or dolby track will actually be played is controlled by the device the player
+stream containing any combination of video, audio or Dolby tracks. Which audio
+or Dolby track will actually be played is controlled by the device the player
 is attached to. There are no prerequisites regarding the length or alignment of an
 individual block of data. The sum of all blocks must simply result in the
 desired data stream, and it must be delivered fast enough so that the
@@ -1473,7 +1473,7 @@
 cDevice::ActualDevice()-&gt;AttachReceiver(Receiver);
 </pre></td></tr></table><p>
 
-Noteh the use of <tt>cDevice::ActualDevice()</tt> here, which makes sure that
+Note the use of <tt>cDevice::ActualDevice()</tt> here, which makes sure that
 the receiver is attached to the device that actually receives the current live
 video stream (this may be different from the primary device in case of <i>Transfer
 Mode</i>).
@@ -1483,7 +1483,7 @@
 
 <a name="Filters"><hr><h2>Filters</h2>
 
-<center><i><b>A Fistful of Datas</b></i></center><p>
+<center><i><b>A Fistful of Data</b></i></center><p>
 
 If you want to receive section data you have to implement a derived <tt>cFilter</tt>
 class which at least implements the <tt>Process()</tt> function and a constructor
@@ -1556,7 +1556,7 @@
 full area or color depth, maybe because of lack of OSD memory or other restrictions.
 A plugin that uses the OSD should therefore test whether the OSD is able to
 provide the requested functionality, and should offer alternate color depths
-to allow a less powerfull OSD implementation to still work reasonably.
+to allow a less powerful OSD implementation to still work reasonably.
 Since it is often not really necessary to have hundreds or thousands of colors
 all over the OSD area, a plugin can divide the total drawing area into several
 sub-areas with different color depths and separate color palettes, as in
@@ -1753,7 +1753,7 @@
 
 These functions will be called with the desired source or channel and shall return whether
 this device can provide the requested source or channel and whether tuning to it was successful,
-repectively.
+respectively.
 <p>
 <b>Audio selection</b>
 <p>
@@ -1786,7 +1786,7 @@
 <p>
 <b>Replaying</b>
 <p>
-The functions to implement replaying capabilites are
+The functions to implement replaying capabilities are
 
 <p><table><tr><td bgcolor=#F0F0F0><pre>
 virtual bool HasDecoder(void) const;
diff -ruN vdr-1.3.47/README vdr-1.3.48/README
--- vdr-1.3.47/README	2004-12-19 10:36:20.000000000 +0100
+++ vdr-1.3.48/README	2006-04-21 16:57:48.000000000 +0200
@@ -29,7 +29,7 @@
 driver software (of course, the hardware still has to be bought).
 
 The on screen menu system is simple, but shall provide all the
-possibilites necessary to perform timer controlled recording,
+possibilities necessary to perform timer controlled recording,
 file management and even "on disk editing". The menus
 of commercial set-top boxes usually are a lot more fancy than
 the ones in this system, but here we have the full source code
diff -ruN vdr-1.3.47/README.developer vdr-1.3.48/README.developer
--- vdr-1.3.47/README.developer	2004-02-08 16:13:59.000000000 +0100
+++ vdr-1.3.48/README.developer	1970-01-01 01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-Version 1.3.0 marks the beginning of a new developer version
-of VDR, in which I am going to integrate functionality from
-patches that have been written by various people for previous
-versions of VDR.
-
-IMPORTANT NOTE: Beginning with version 1.3.0, VDR will automatically
-=============== modify the 'channels.conf' file. Please run this version
-                of VDR in a controlled environment only, and work with
-                copies of all your config files!
-
-This version of VDR focuses on some improvements regarding
-CAM support and, most important, the first step towards automatic
-PID handling. Some things are still in a raw state, but at least
-the program should now dynamically react on any changes in the
-channel settings.
-
-Here's a list of the highlights - and what _not_ to expect yet
-(but don't worry, these things will come soon ;-):
-
-- Automatic switching when PIDs are changed (e.g. for regional
-  programmes).
-- There is no explicit transponder list yet, so you just
-  have to define one channel for a new transponder and VDR
-  will automatically detect all other channels on that transponder.
-- New channels are added to the end of the channel list, so
-  it might be a good idea to add a line like
-
-  :@1000 New channels
-
-  to have them start at some high number.
-- Improved CAM support. Channels with conditional access now automatically
-  use the device that contains the proper CAM.
-- No NVOD support yet.
-
-Note that this is currently work in progress, so there may be some
-areas that don't work as smooth as expected, yet.
-
-Known issues:
-=============
-
-- The Setup/CICAM menu is currently without much meaning.
-  CA detection is done automatically.
-- The channel "EURO1080" on Astra 19.2E currently broadcasts HDTV
-  test signals. Unfortunately, the full featured DVB cards crash
-  pretty ugly when tuned to that channel, so it might be a good idea
-  to have the channel definition
-
-  EURO1080:12168:v:S19.2E:27500:308:256:0:FF:21100:1:1088:0
-
-  in your 'channels.conf' file. Note the Ca parameter 'FF' (255 in hex),
-  which gives this channel a non-existent Ca mode, so that it won't
-  be tuned to at all. If you really want to tune to this channel for
-  tests, do it on your own risk.
-- The 'sky' plugin now temporarily uses Ca value 30 (this will be changed
-  later).
-- Since the CA detection is now done automatically, a timer that starts
-  immediately after VDR has been launched and wants to record a CA channel
-  may not work. This will be changed later to make this work safely.
-
-What to test:
-=============
-
-Apart from the usual general functionality, special attention should
-be given to the following matters:
-
-- Does the automatic PID switching really work in all cases, especially
-  in conjunction with conditional access channels?
-- Does CAM support work for all kinds of CAMs?
-
-Known bugs:
-===========
-
-- Sometimes a new channel is created with the wrong 'source'
-  parameter. This presumably happens when the transponder and source
-  are switched, and there is still an SDT data packet being processed.
-  The call to device->HasLock() in sections.c should fix this (and it
-  apparently does for most cases), but there must still be soemthing
-  wrong in that area. This may be fixed in 1.3.1 - please report if
-  it does still happen there.
-- Sometimes the current channel gets re-tuned even though the channel
-  data of this channel didn't change (but that of an other channel did
-  change).
diff -ruN vdr-1.3.47/README.vps vdr-1.3.48/README.vps
--- vdr-1.3.47/README.vps	2006-01-09 23:06:52.000000000 +0100
+++ vdr-1.3.48/README.vps	1970-01-01 01:00:00.000000000 +0100
@@ -1,137 +0,0 @@
-VPS (Video Programming Service)
-===============================
-
-Beginning with version 1.3.5 VDR supports the VPS method
-of identifying programmes to record, and making sure they
-are recorded in full length, even if they run longer than
-initially specified or are shifted in time.
-
-Of course, the main prerequisite for this to work is that
-the broadcasters actually provide the necessary data. In
-particular these are
-
-- EPG data (well, obviously)
-- the data for each event must contain the "Programme Identification Label"
-  descriptor, which contains the VPS timestamp for this programme
-- the event data must provide and maintain the "Running Status" flag,
-  which indicates whether this programme is currently running or not.
-
-Currently only the German "Öffentlich Rechtliche" tv stations provide
-the necessary VPS data, so this will work only for stations like "Das Erste",
-"ZDF" and the like.
-
-Following is a step by step description of what happens for a VPS controlled
-timer recording. First let's take a look at what the VDR user needs to do.
-
-VPS as seen by the VDR user:
-----------------------------
-
-When the VDR user sets up a timer that shall be under VPS control, there
-are only two things that need to be done:
-
-1. Set the "Start" time to the actual VPS time as published in tv magazines.
-   Typically the VPS time is the same as the printed start time, unless
-   expliciltly specified otherwise. For instance, a tv magazine might print
-
-   20:15 Wetten, dass...?
-         (VPS = 20:14)
-
-   In this case the timer would need to be set to 20:14.
-
-2. Set the "VPS" flag in the timer definition to "yes" in order to tell VDR
-   that this timer is to be handled under VPS control. This is no different
-   to old analog video recorders, where each timer has also had a separate
-   VPS flag.
-
-If the user sets up a timer from the "Schedule" menu, things are even simpler.
-If the setup option "Recording/Use VPS" is set to "yes", any timer that is
-programmed from an event that has VPS information will automatically be set
-up as a VPS timer.
-
-IMPORTANT: In order for a recording to work under VPS control it is of
-========== paramount importance that the start time is set to the actual
-           VPS time of that event, NOT some time a few minutes before the
-           event starts! If a timer is set to use VPS, and the time doesn't
-           match any event's VPS time, nothing will be recorded!
-
-VPS as seen by VDR:
--------------------
-
-The following things happen when VDR processes timers:
-
-- VDR regularly scans the EPG data and assigns events to the timers (see
-  cTimers::SetEvents() in VDR/timers.c).
-  This can be seen in the log file as
-
-  timer 1 (15 1830-1900 'Neues') set to event 28.02.2004 18:30-18:59 (VPS: 28.02 18:30) 'neues'
-
-- When a VPS timer is asked whether it matches (i.e. whether a recording shall
-  be started), it checks whether it has an event assigned to it, and whether
-  that event has a running status of "starts in a few seconds" or "running"
-  (see cTimer::Matches(time_t t, bool Directly) in VDR/timers.c). This allows
-  the recording process to catch the entire programme, even if it runs longer
-  than initially advertised. It also works if it runs shorter or gets shifted.
-
-- When a VPS timer event is coming up (i.e. there are only a few minutes until
-  it starts, according to the related event data's start time - which may be
-  different than the VPS time!), VDR tunes a free DVB device to that transponder
-  (unless there is already a device tuned to that one) in order to make sure
-  that the event data (especially the "Running Status") will be up to date and
-  a change in the "Running status" flag will be seen immediately. This may
-  lead to the primary device being switched to a different channel if there
-  is no other free DVB device available. See the main program loop in VDR/vdr.c,
-  "Make sure VPS timers "see" their channel early enough:".
-
-Problems:
----------
-
-- In order for a VPS controlled timer to function properly, it needs to "see"
-  any changes in the running status of its event. This means that one of the
-  DVB devices needs to be tuned to the proper transponder some time before
-  the actual start time of the event. However, this may result in an other
-  timer (with lower priority) to be stopped, because it occupies the DVB device
-  and has it tuned to a different transponder.
-  See "// Make sure VPS timers "see" their channel early enough:" in VDR/vdr.c.
-TODO:
-  Something needs to be done to prevent two timers from repeatedly switching
-  the device between channels in such a situation.
-
-- If, for some reason, the driver doesn't deliver any more section data, a
-  VPS controlled timer will never see that the programme has started (or ended).
-TODO:
-  Therefore some mechanism needs to be implemented that makes absolutely sure
-  we continuously receive at least the event data for the present event.
-
-Caveats:
---------
-
-Apparently VPS in digital broadcasting is still in an early state. Only few
-tv stations actually support it, and other tv stations don't even handle the
-"Running Status" correctly (which, by itself, would already be helpful, even
-without VPS).
-
-Here's a list of things that are apparently done wrong by the individual
-stations:
-
-- The German "Öffentlich Rechtliche" tv stations, although supporting VPS,
-  don't switch the "Running Status" of an upcoming broadcast to "starts in
-  a few seconds", but rather go directly from "unknown" or "not running" to
-  "running". This may result in a recording that misses the first few seconds
-  of the programme.
-- The RTL group handles EPG events in a rather random way. They change event
-  IDs randomly, and switch the "Running Status" flag at times that are only
-  losely related to the actual events. For instance, if the "RTL aktuell"
-  programme starts at 18:45, they switch that event to "running" at about
-  18:43. Or, even worse, if "Wer wird Millionär?" runs until 21:15, they
-  switch the _next_ programme to running (which implicitly set "Wer wird
-  Millionär?" to "not running) at around 21:11 - so anybody using that
-  information to control recording would not see the end of that programme.
-
-... more following as it comes up...
-
-Contact:
---------
-
-ARD Digital: http://www.ard-digital.de/home/index.php?id=16&languageid=1
-ZDF vision:  http://www.zdf.de/ZDFde/inhalt/1/0,1872,1021601,00.html (select "zdfvision")
-             phone: 06131/706754
diff -ruN vdr-1.3.47/UPDATE-1.4.0 vdr-1.3.48/UPDATE-1.4.0
--- vdr-1.3.47/UPDATE-1.4.0	2006-04-17 16:52:57.000000000 +0200
+++ vdr-1.3.48/UPDATE-1.4.0	2006-04-22 15:56:23.000000000 +0200
@@ -5,10 +5,20 @@
 
 See the file HISTORY for a detailed list of all changes.
 
+Video Programming System (VPS):
+
+- Implemented handling the VPS timestamps (aka "Programme Identification Label")
+  for full VPS support for timers (provided the tv stations actually broadcast
+  this information). The VPS time is displayed in the event info page if it exists
+  and is different than the event's start time.
+- Timers can now be set to use the VPS information to control recording a programme.
+  The new setup options "Recording/Use VPS" and "Recording/VPS margin", as well as
+  the "VPS" option in the individual timers, can be used to control this feature
+
 Plugins:
 
 - The new function cPlugin::Stop() shall be used to stop any background activities
-  of a plugin. Previously this was done in the plugin's desctructor, but it is
+  of a plugin. Previously this was done in the plugin's destructor, but it is
   better to do this in a dedicated function that can be called early when shutting
   down.
 - Added 'Service' functions to the plugin interface.
@@ -121,7 +131,7 @@
   the small font.
 - The new OSD setup parameters "Left" and "Top" can be used to define the top left
   corner of the OSD.
-- The OSD size prameters are now in pixel (as opposed to formerly characters).
+- The OSD size parameters are now in pixel (as opposed to formerly characters).
   When reading a 'setup.conf' file from an older version of VDR, the OSDwidth
   and OSDheight values will be converted to pixel automatically.
 - The OSD is now fully device independent. See the comments in VDR/osd.h and the
@@ -177,7 +187,7 @@
 
 - The '0' key now toggles the "Day" item in the "Timers" menu between "single
   shot" and "repeating". The keys '1'...'7' can be used to toggle the individual
-  days ('1' is monday).
+  days ('1' is Monday).
 - The day of a timer is now stored as a full date in ISO notation ("YYYY-MM-DD") in
   'timers.conf' and for the result of the SVDRP command LSTT
 - The timer status now has a new bit that is set when that timer is currently
@@ -205,13 +215,6 @@
 
 Recording:
 
-- Implemented handling the VPS timestamps (aka "Programme Identification Label")
-  for full VPS support for timers (provided the tv stations actually broadcast
-  this information). The VPS time is displayed in the event info page if it exists
-  and is different than the event's start time.
-- Timers can now be set to use the VPS information to control recording a programme.
-  The new setup options "Recording/Use VPS" and "Recording/VPS margin", as well as
-  the "VPS" option in the individual timers, can be used to control this feature
 - Now preferring budget cards when selecting a DVB device for recording.
 - The file 'summary.vdr' has been replaced with 'info.vdr' and now contains the
   information about a recording, in the same format as the events are stored in
@@ -267,7 +270,7 @@
 - The "Left" and "Right" keys in the "Audio" menu can be used to switch between
   the left and right stereo channels in case there are different audio tracks
   in these channels.
-- The setup option "Recording/Record Dobly Digital" has been renamed and moved to
+- The setup option "Recording/Record Dolby Digital" has been renamed and moved to
   "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
   whether an available DD audio track will appear in the "Audio" menu.
 - Recording and Transfer Mode now handle more than 2 audio PIDs.
diff -ruN vdr-1.3.47/channels.conf vdr-1.3.48/channels.conf
--- vdr-1.3.47/channels.conf	2006-04-17 13:46:31.000000000 +0200
+++ vdr-1.3.48/channels.conf	2006-04-23 16:02:30.000000000 +0200
@@ -15,8 +15,8 @@
 3sat;ZDFvision:11953:hC34:S19.2E:27500:210:220=deu,221=2ch;225=dd:230:0:28007:1:1079:0
 KiKa;ZDFvision:11953:hC34:S19.2E:27500:310:320=deu:330:0:28008:1:1079:0
 arte;ARD:11836:hC34:S19.2E:27500:401:402=deu,403=fra:404:0:28109:1:1101:0
-ORF1;ORF:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1702,1801:13001:1:1117:0
-ORF2;ORF:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1702,1801:13002:1:1117:0
+ORF1;ORF:12692:hC56:S19.2E:22000:160:161=deu;163=deu:165:1762,D05,1801,1702:13001:1:1117:0
+ORF2;ORF:12692:hC56:S19.2E:22000:500:501=deu;503=deu:505:1762,D05,1801,1702:13002:1:1117:0
 ZDFinfokanal;ZDFvision:11953:hC34:S19.2E:27500:610:620=deu:130:0:28011:1:1079:0
 CNN Int.;CNN:11778:vC34:S19.2E:27500:165:100=eng:47:0:28522:1:1068:0
 Super RTL,S RTL;RTL World:12187:hC34:S19.2E:27500:165:120=deu:65:0:12040:1:1089:0
@@ -28,7 +28,7 @@
 HSE24,HSE24;BetaDigital:12480:vC34:S19.2E:27500:1279:1280=deu:37:0:40:133:33:0
 Bloomberg TV Germany;Bloomberg:12551:vC56:S19.2E:22000:162:99=deu:0:0:12160:1:1108:0
 EURONEWS;CSAT:11817:vC34:S19.2E:27500:163:92=fra,91=rus,93=eng,94=ita,95=esl,98=por,99=deu:0:0:8004:1:1070:0
-rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:501:502=deu:504:0:28205:1:1073:0
+rbb Brandenburg;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28205:1:1073:0
 Sky News;BT:11597:vC56:S19.2E:22000:305+131:306=eng:0:0:28707:1:1026:0
 Veronica/JETIX;CANALDIGITAAL:12574:hC56:S19.2E:22000:518+8190:92=dut:38:622,100:5020:53:1109:0
 BVN;CANALDIGITAAL:12574:hC56:S19.2E:22000:515+8190:96=dut:36:0:5025:53:1109:0
@@ -45,14 +45,14 @@
 rbb Berlin;ARD:12109:hC34:S19.2E:27500:601:602=deu:604:0:28206:1:1073:0
 :Premiere World
 PREMIERE START,START;PREMIERE:11797:hC34:S19.2E:27500:255:256=deu:32:1722,1801,1702:8:133:2:0
-PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1:10:133:2:0
-PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1:11:133:2:0
-PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu:32:1:43:133:2:0
-PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1:9:133:2:0
-PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1:29:133:2:0
-PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1:41:133:2:0
+PREMIERE 1,PREM 1;PREMIERE:11797:hC34:S19.2E:27500:511:512=deu,513=deu;515=deu:32:1722,1801,1702:10:133:2:0
+PREMIERE 2,PREM 2;PREMIERE:11797:hC34:S19.2E:27500:1791:1792=deu,1793=deu;1795=deu:32:1722,1801,1702:11:133:2:0
+PREMIERE 3,PREM 3;PREMIERE:11797:hC34:S19.2E:27500:2303:2304=deu,2305=deu:32:1722,1801,1702:43:133:2:0
+PREMIERE 4,PREM 4;PREMIERE:11797:hC34:S19.2E:27500:767:768=deu,769=deu:32:1722,1801,1702:9:133:2:0
+PREMIERE 5,PREM 5;PREMIERE:11797:hC34:S19.2E:27500:1279:1280=deu,1281=deu:32:1722,1801,1702:29:133:2:0
+PREMIERE 6,PREM 6;PREMIERE:11797:hC34:S19.2E:27500:1535:1536=deu:32:1722,1801,1702:41:133:2:0
 PREMIERE 7,PREM 7;PREMIERE:11797:hC34:S19.2E:27500:1023:1024=deu:32:1702,1801,1722:20:133:2:0
-DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1:34:133:17:0
+DISNEY CHANNEL,DISNEY;PREMIERE:11758:hC34:S19.2E:27500:2559:2560=deu:32:1722,1801,1702:34:133:17:0
 :Premiere Direkt
 PREMIERE DIREKT,DIREKT;PREMIERE:12031:hC34:S19.2E:27500:2815:2816=deu,2817=deu;2819=deu:0:0:18:133:4:0
 :PW Erotic
@@ -133,6 +133,6 @@
 BBC PARL'MNT;BSkyB:10847:vC56:S28.2E:22000:2327:2328=eng:2331:0:6902:2:2050:0
 IGLESIA MME;T-Systems/MTI:11200:vC56:S13.0E:27500:4097:4098:0:0:4733:318:13400:0
 eng-WRN-multi;WRN:12597:vC34:S13.0E:27500:0:2132:0:0:8230:318:9400:0
-Challenger Tv;Telespazio:11304:hC34:S13.0E:27500:490:491:0:0:8409:318:500:0
+Challenger Tv;Telespazio:11295:hC34:S13.0E:27500:490:491:0:0:8409:318:500:0
 TVS Teleport Bonn;DMV:11535:vC34:S1.0W:5632:308+8190:256=eng,257=eng:0:3:1:65535:1:0
 :@1000 New channels
diff -ruN vdr-1.3.47/config.h vdr-1.3.48/config.h
--- vdr-1.3.47/config.h	2006-04-16 11:36:10.000000000 +0200
+++ vdr-1.3.48/config.h	2006-04-21 16:53:26.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.h 1.251 2006/04/16 09:36:10 kls Exp $
+ * $Id: config.h 1.252 2006/04/21 14:53:26 kls Exp $
  */
 
 #ifndef __CONFIG_H
@@ -21,8 +21,8 @@
 
 // VDR's own version number:
 
-#define VDRVERSION  "1.3.47"
-#define VDRVERSNUM   10347  // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION  "1.3.48"
+#define VDRVERSNUM   10348  // Version * 10000 + Major * 100 + Minor
 
 // The plugin API's version number:
 
diff -ruN vdr-1.3.47/epg.c vdr-1.3.48/epg.c
--- vdr-1.3.47/epg.c	2006-04-17 14:18:59.000000000 +0200
+++ vdr-1.3.48/epg.c	2006-04-22 14:02:47.000000000 +0200
@@ -7,7 +7,7 @@
  * Original version (as used in VDR before 1.3.0) written by
  * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
  *
- * $Id: epg.c 1.71 2006/04/17 12:18:59 kls Exp $
+ * $Id: epg.c 1.72 2006/04/22 12:02:47 kls Exp $
  */
 
 #include "epg.h"
@@ -445,7 +445,7 @@
   strreplace(description, '\x86', ' ');
   strreplace(description, '\x87', ' ');
 
-  if (!title) {
+  if (isempty(title)) {
      // we don't want any "(null)" titles
      title = strcpyrealloc(title, tr("No title"));
      EpgBugFixStat(12, ChannelID());
diff -ruN vdr-1.3.47/i18n.c vdr-1.3.48/i18n.c
--- vdr-1.3.47/i18n.c	2006-04-15 16:13:45.000000000 +0200
+++ vdr-1.3.48/i18n.c	2006-04-23 10:39:00.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: i18n.c 1.261 2006/04/15 14:13:45 kls Exp $
+ * $Id: i18n.c 1.273 2006/04/23 08:39:00 kls Exp $
  *
  * Translations provided by:
  *
@@ -12,7 +12,7 @@
  * Italian     Alberto Carraro <bertocar@tin.it>, Antonio Ospite <ospite@studenti.unina.it>, Sean Carlos <seanc@libero.it>
  * Dutch       Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, Hans Dingemans <hans.dingemans@tacticalops.nl>, Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>
  * Portuguese  Paulo Lopes <pmml@netvita.pt>
- * French      Jean-Claude Repetto <jc@repetto.org>, Olivier Jacques <jacquesolivier@hotmail.com>, Gregoire Favre <greg@magma.unil.ch>, Nicolas Huillard <nhuillard@e-dition.fr>
+ * French      Jean-Claude Repetto <jc@repetto.org>, Olivier Jacques <jacquesolivier@hotmail.com>, Gregoire Favre <greg@magma.unil.ch>, Nicolas Huillard <nhuillard@e-dition.fr>, Pierre Briec <pbriec@free.fr>
  * Norwegian   Jørgen Tvedt <pjtvedt@online.no>, Truls Slevigen <truls@slevigen.no>
  * Finnish     Hannu Savolainen <hannu@opensound.com>, Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, Niko Tarnanen <niko.tarnanen@hut.fi>, Rolf Ahrenberg <rahrenbe@cc.hut.fi>
  * Polish      Michael Rakowski <mrak@gmx.de>, Jaroslaw Swierczynski <swiergot@gmail.com>
@@ -124,7 +124,7 @@
     "iso8859-5",
     "iso8859-2",
     "iso8859-13",
-    "iso8859-1",
+    "iso8859-15",
     "iso8859-2",
   },
   // The 3-letter names of the language (this MUST be the third phrase!):
@@ -461,18 +461,18 @@
   },
   { "This event - %s",
     "Diese Sendung - %s",
+    "Ta oddaja - %s",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Cet événement",
     "",//TODO
     "Tämä tapahtuma - %s",
-    "",//TODO
+    "Den här sändningen - %s",
     "Este evento - %s",
     "",//TODO
-    "Ta audycja - %s",
     "",//TODO
+    "Aceastã emisiune - %s",
     "",//TODO
     "",//TODO
     "ÍâÐ ßÕàÕÔÐçÐ - %s",
@@ -483,18 +483,18 @@
   },
   { "This event - all channels",
     "Diese Sendung - alle Kanäle",
+    "Ta oddaja - vsi kanali",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Cet événement - toutes les chaînes",
     "",//TODO
     "Tämä tapahtuma - kaikki kanavat",
     "",//TODO
     "Este evento - todos los canales",
     "",//TODO
-    "Ta audycja - wszystkie kana³y",
-    "",//TODO
+    "Den här sändningen - alla kanaler",
+    "Aceastã emisiune - toate canalele",
     "",//TODO
     "",//TODO
     "ÍâÐ ßÕàÕÔÐçÐ - ÒáÕ ÚÐÝÐÛë",
@@ -505,18 +505,18 @@
   },
   { "All events - all channels",
     "Alle Sendungen - alle Kanäle",
+    "Vse oddaje - vsi kanali",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Tous les événements - toutes chaînes",
     "",//TODO
     "Kaikki tapahtumat - kaikki kanavat",
     "",//TODO
     "Todos los eventos - todos los canales",
     "",//TODO
-    "Wszystkie audycje - wszystkie kana³y",
-    "",//TODO
+    "Alla tillfällen - alla kanaler",
+    "Toate emisiunile - toate canalele",
     "",//TODO
     "",//TODO
     "²áÕ ßÕàÕÔÐçØ - ÒáÕ ÚÐÝÐÛë",
@@ -682,18 +682,18 @@
   },
   { "Button$Timer",
     "Timer",
+    "Termini",
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "Programmation",
     "",// TODO
     "Ajastin",
     "Timer",
     "Programa",
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "Timer",
+    "Timer",
     "",// TODO
     "",// TODO
     "ÂÐÙÜÕà",
@@ -847,7 +847,7 @@
     "Continuar",
     "ÅðáíáöïñÜ",
     "Fortsätt",
-    "Revenire",
+    "Continuare",
     "Tovább",
     "Continuar",
     "¿àÞÔÞÛÖØâì",
@@ -1055,7 +1055,7 @@
     "Menu",
   },
   { "Button$Reset",
-    "Reset",
+    "Rücksetzen",
     "Reset",
     "Reset",
     "Herstart",
@@ -1364,8 +1364,8 @@
     "Nahrávání zaène za %ld minut - pøesto vypnout?",
   },
   { "Press any key to cancel shutdown",
-    "Taste drücken, um Shutdown abzubrechen",
-    "Pritisni katerikoli gumb za preklic izklopa",
+    "Taste drücken, um Ausschalten abzubrechen",
+    "Pritisnite katerikoli gumb za preklic izklopa",
     "Un tasto per annullare lo spegnimento",
     "Druk een toets om shutdown af te breken",
     "Pressione qualquer tecla para cancelar",
@@ -1674,18 +1674,18 @@
   },
   { "Free To Air",
     "frei empfangbar",
+    "nekodiran",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Aucun cryptage",
     "",//TODO
     "vapaa",
     "",//TODO
     "en abierto",
     "",//TODO
-    "otwarty przekaz",
-    "",//TODO
+    "Okodad",
+    "FTA (necriptat)",
     "",//TODO
     "",//TODO
     "FTA (ÝÕ×ÐÚÞÔØàÞÒÐÝÞ)",
@@ -1696,18 +1696,18 @@
   },
   { "encrypted",
     "verschlüsselt",
+    "kodiran",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Crypté",
     "",//TODO
     "salattu",
     "",//TODO
     "cifrado",
     "",//TODO
-    "szyfrowany",
-    "",//TODO
+    "krypterad",
+    "criptat",
     "",//TODO
     "",//TODO
     "×ÐÚÞÔØàÞÒÐÝÞ",
@@ -1761,7 +1761,7 @@
     "Inversion",
   },
   { "Bandwidth",
-    "Bandwidth",
+    "Bandbreite",
     "Pasovna ¹irina",
     "Bandwidth",
     "Bandwidth",
@@ -1861,7 +1861,7 @@
     "Transmisión",
     "ÌåôÜäïóç",
     "Transmission",
-    "Transmisiune",
+    "Transmisie",
     "Transmission",
     "Transmissió",
     "¿ÕàÕÔÐçÐ",
@@ -1893,7 +1893,7 @@
     "Guard",
   },
   { "Hierarchy",
-    "Hierarchy",
+    "Hierarchie",
     "Hierarhija",
     "Hierarchy",
     "Hierarchy",
@@ -2270,23 +2270,23 @@
   },
   { "Upcoming VPS recording!",
     "VPS-Aufnahme beginnt in Kürze!",
+    "Sledi VPS snemanje!",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Enregistrement VPS commence prochaînement",
     "",//TODO
     "VPS-tallennus on alkamassa!",
+    "Wkrótce nagranie VPS!",
     "",//TODO
     "",//TODO
+    "strax VPS inspelning...",
+    "Urmeazã o înregistrare VPS!",
     "",//TODO
     "",//TODO
+    "VPS-·ÐßØáì áÚÞàÞ ÝÐçÝÕâáï",
     "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "VPS salvestamine tulekul!",
     "VPS optagelse starter snart!",
     "",//TODO
   },
@@ -2380,7 +2380,7 @@
   },
   { "Can't start Transfer Mode!",
     "Transfer-Mode kann nicht gestartet werden!",
-    "Ne morem zaèeti s prenosnim naèinom",
+    "Ne morem zaèeti s prenosnim naèinom!",
     "Impossibile iniziare la modalita' di trasferimento!",
     "Kan Transfer-Mode niet starten",
     "Impossível iniciar modo de transferência!",
@@ -2412,9 +2412,9 @@
     "Nie zdefiniowano znaczników monta¿u!",
     "¡No se definieron marcas de edición!",
     "ÄÝí Ý÷ïõí ïñéóôåß óçìåßá åðåîåñãáóßáò",
-    "Det finns inga redigeringsmärken",//TODO
+    "Det finns inga redigeringsmärken",
     "Nu s-au pus marcaje de montaj pentru aceastã înregistrare",
-    "A vágópont nincs kijelölve",//TODO
+    "A vágópont nincs kijelölve",
     "No hi ha marques d'edició definides",
     "½Õ ×ÐÔÐÝë ÜÕâÚØ ÔÛï ÜÞÝâÐÖÐ!",
     "Nijedna prekidna toèka nije postavljena!",
@@ -2467,7 +2467,7 @@
     "Editaèní proces je ji¾ aktivní!",
   },
   { "Can't shutdown - option '-s' not given!",
-    "Shutdown unmöglich - Option '-s' fehlt!",
+    "Ausschalten unmöglich - Option '-s' fehlt!",
     "Zaustavitev ni izvedljiva - opcija '-s' ni podana!",
     "Impossibile spegnere - parametro '-s' non passato!",
     "Shutdown onmogelijk - Optie '-s' ontbreekt!",
@@ -2490,18 +2490,18 @@
   },
   { "Not enough disk space to start recording!",
     "Nicht genügend Plattenplatz für Aufnahme!",
+    "Premalo prostora na disku za snemanje!",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Espace disque insuffisant pour démarrer l'enregistrement!",
     "",//TODO
     "Tallennustilan puute estää tallennuksen!",
     "Brak miejsca na dysku do nagrywania!",
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Otillräcklingt diskutrymme för inspelning!",
+    "Insuficient spaþiul pe disc pentru înregistrare!",
     "",//TODO
     "",//TODO
     "½ÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ ÔÛï ÝÐçÐÛÐ ×ÐßØáØ",
@@ -2534,18 +2534,18 @@
   },
   { "Opening CAM menu...",
     "CAM-Menü wird geöffnet...",
-    "",//TODO
+    "Odpiram CAM meni...",
     "",//TODO
     "CAM-menu wordt geopend...",
     "",//TODO
-    "",//TODO
+    "Ouverture du menu CAM",
     "",//TODO
     "Avataan CA-moduulin valikkoa...",
     "Otwieram menu CAM...",
     "Abriendo el menú CAM...",
     "",//TODO
-    "Åßóïäïò CAM Ìåíïý",
-    "",//TODO
+    "Öppnar CAM menyn...",
+    "Deschid meniul CAM...",
     "",//TODO
     "",//TODO
     "¾âÚàëÒÐî ÜÕÝî ÜÞÔãÛï ãáÛÞÒÝÞÓÞ ÔÞáâãßÐ (CAM)",
@@ -2578,18 +2578,18 @@
   },
   { "Resetting CAM...",
     "CAM wird zurückgesetzt...",
-    "",//TODO
+    "Resetiram CAM...",
     "",//TODO
     "CAM wordt herstart...",
     "",//TODO
-    "",//TODO
+    "Réinitialisation du CAM",
     "",//TODO
     "CA-moduuli palautetaan alkutilaan...",
     "Resetujê CAM...",
     "Reiniciando CAM...",
     "",//TODO
-    "ÅðáíáöïñÜ CAM",
-    "",//TODO
+    "Återställer CAM ...",
+    "Se reseteazã CAM...",
     "",//TODO
     "",//TODO
     "¿ÕàÕÓàã×ÚÐ CAM...",
@@ -2599,8 +2599,8 @@
     "Restartuje se CAM...",
   },
   { "Can't reset CAM!",
-    "CAM-Reset fehlgeschlagen!",
-    "Ne morem resetirati CAM-a",
+    "Zurücksetzen des CAM fehlgeschlagen!",
+    "Ne morem resetirati CAM-a!",
     "Impossibile reimpostare il modulo CAM!",
     "Kan CAM niet herstarten!",
     "",//TODO
@@ -2644,18 +2644,18 @@
   },
   { "Please enter %d digits!",
     "Bitte geben Sie %d Ziffern ein!",
-    "",//TODO
+    "Prosim vnesite %d ¹tevilk!",
     "",//TODO
     "Vul %d cijfers in!",
     "",//TODO
-    "",//TODO
+    "Veuillez entrer %d chiffres!",
     "",//TODO
     "Syötä %d numeroa!",
     "Proszê podaæ %d cyfr!",
     "¡Escriba %d dígitos!",
     "",//TODO
-    "Ðáñáêáëü ðëçêôñïëïãÞóåôå %d íïýìåñá",
-    "",//TODO
+    "Mata in %d siffror!",
+    "Vã rog introduceþi %d cifre!",
     "",//TODO
     "",//TODO
     "½ÐÖÜØâÕ %d æØäàë",
@@ -2666,7 +2666,7 @@
   },
   { "No audio available!",
     "Kein Audio verfügbar!",
-    "Zvok ni dosegljiv",
+    "Zvok ni dosegljiv!",
     "",//TODO
     "Geen audio beschikbaar!",
     "",//TODO
@@ -2865,7 +2865,7 @@
   },
   { "Plugins",
     "Plugins",
-    "Plugins",
+    "Vstavki",
     "Plugins",
     "Plugins",
     "Plugins",
@@ -2887,7 +2887,7 @@
   },
   { "Plugin",
     "Plugin",
-    "Plugin",
+    "Vstavek",
     "Plugin",
     "Plugin",
     "Plugin",
@@ -3195,7 +3195,7 @@
     "v¾dy",
   },
   { "Setup.OSD$Channel info position",
-    "Kanal-Info Position",
+    "Kanalinfo-Position",
     "Pozicija informacije o kanalu",
     "Posizione informazioni canale",
     "Kanaal info positie",
@@ -3217,8 +3217,8 @@
     "Pozice informace o kanálu",
   },
   { "Setup.OSD$Channel info time (s)",
-    "Anzeigedauer für Kanal-Info (s)",
-    "Èas prikaza podatka o programu (s)",
+    "Anzeigedauer für Kanalinfo (s)",
+    "Èas prikaza podatka o kanalu (s)",
     "",// TODO
     "Duur tonen kanaal-informatie (s)",
     "",// TODO
@@ -3262,18 +3262,18 @@
   },
   { "Setup.OSD$Timeout requested channel info",
     "Angeforderte Kanalinfo schließen",
+    "Èas prikaza informacije o kanalu",
     "", // TODO
     "", // TODO
     "", // TODO
+    "Demande d'infos de chaîne terminée",
     "", // TODO
-    "", // TODO
-    "", // TODO
-    "Sulje kanavatieto pyydettäessä",
+    "Sulje erikseen avattu kanavatieto",
     "Czas oczekiwania na informacje",
     "Auto-cerrar al solicitar info de canal",
     "", // TODO
-    "", // TODO
-    "", // TODO
+    "Timeout för kanalinformation",
+    "Durata afiºãrii informaþii canal",
     "", // TODO
     "", // TODO
     "¸ÝäÞàÜÐæØî Þ ÚÐÝÐÛÕ ×ÐÚàëâì",
@@ -3328,18 +3328,18 @@
   },
   { "Setup.OSD$Menu button closes",
     "Menu-Taste schließt",
+    "Meni gumb zapre meni",
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "Menu bouton fermé",
     "",// TODO
     "Sulje valikkonäppäimellä",
     "",// TODO
     "Cerrar al pulsar botón de menú",
     "",// TODO
-    "Klawisz Menu zamyka",
-    "",// TODO
+    "Menyknappen stänger",
+    "Tasta 'Meniu' închide",
     "",// TODO
     "",// TODO
     "ºÝÞßÚã ¼ÕÝî ×ÐÚàëâì",
@@ -3371,7 +3371,7 @@
     "Seznam nahrávek",
   },
   { "Setup.EPG$EPG scan timeout (h)",
-    "Zeit bis EPG Scan (h)",
+    "Zeit bis zur EPG-Aktualisierung (h)",
     "Èas do EPG pregleda (h)",
     "Timeout scansione aggiornamento EPG (ore)",
     "EPG-scan Timeout (h)",
@@ -3393,7 +3393,7 @@
     "Èasový limit pro snímání EPG (h)",
   },
   { "Setup.EPG$EPG bugfix level",
-    "EPG Fehlerbereinigung",
+    "EPG-Fehlerbereinigung",
     "Nivo za popravilo EPG napak",
     "Livello correzione EPG",
     "EPG foutcorrectieniveau",
@@ -3525,7 +3525,7 @@
     "Preferovaný jazyk",
   },
   { "Setup.DVB$Primary DVB interface",
-    "Primäres DVB Interface",
+    "Primäres DVB-Interface",
     "Primarna naprava",
     "Scheda DVB primaria",
     "Eerste DVB kaart",
@@ -3547,7 +3547,7 @@
     "Primární DVB interface",
   },
   { "Setup.DVB$Video display format",
-    "Video Anzeige-Format",
+    "Video-Anzeigeformat",
     "Format video prikaza",
     "",//TODO
     "Video display formaat",
@@ -3591,7 +3591,7 @@
     "pan&scan",
   },
   { "letterbox",
-    "letterbox",
+    "Letterbox",
     "letterbox",
     "letterbox",
     "letterbox",
@@ -3613,7 +3613,7 @@
     "letterbox",
   },
   { "center cut out",
-    "center cut out",
+    "Center-cut-out",
     "center cut out",
     "center cut out",
     "center cut out",
@@ -3635,7 +3635,7 @@
     "dostøedu oøíznout",
   },
   { "Setup.DVB$Video format",
-    "Video Format",
+    "Videoformat",
     "Video format",
     "Formato video",
     "Videoformaat",
@@ -3657,7 +3657,7 @@
     "Formát videa",
   },
   { "Setup.DVB$Use Dolby Digital",
-    "Dolby Digital Ton benutzen",
+    "Dolby-Digital-Ton benutzen",
     "Uporabljaj Dolby Digital",
     "",//TODO
     "Dolby Digital gebruiken",
@@ -3724,24 +3724,24 @@
   },
   { "PIDs only",
     "nur PIDs",
+    "samo PIDe",
     "",// TODO
     "",// TODO
     "",// TODO
+    "PIDs uniquement",
     "",// TODO
+    "vain PID:it",
+    "Tylko PID-y",
     "",// TODO
     "",// TODO
+    "bara PIDs",
+    "Numai PID-uri",
     "",// TODO
     "",// TODO
+    "ÂÞÛìÚÞ PIDë",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "ainult PID-id",
+    "kun PIDs",
     "",// TODO
   },
   { "names and PIDs",
@@ -3811,7 +3811,7 @@
     "pøidat nové transpondéry",
   },
   { "Setup.DVB$Audio languages",  // note the plural
-    "Audio Sprachen",
+    "Audio-Sprachen",
     "Jeziki za zvok",
     "",//TODO
     "Audio talen",
@@ -3833,7 +3833,7 @@
     "Jazyky zvuku",
   },
   { "Setup.DVB$Audio language",  // note the singular
-    "Audio Sprache",
+    "Audio-Sprache",
     "Jezik za zvok",
     "",//TODO
     "Audio taal",
@@ -3943,7 +3943,7 @@
     "Pou¾ívat DiSEqC",
   },
   { "Setup.CICAM$CICAM DVB",
-    "CICAM DVB",
+    "CICAM-DVB",
     "CICAM DVB",
     "CICAM DVB",
     "CICAM DVB",
@@ -3965,7 +3965,7 @@
     "CICAM DVB",
   },
   { "Setup.Recording$Margin at start (min)",
-    "Zeitpuffer bei Anfang (min)",
+    "Vorlauf zum Timer-Beginn (min)",
     "Premik zaèetka snemanja (min)",
     "Margine iniziale (min)",
     "Tijd marge begin (min)",
@@ -3987,7 +3987,7 @@
     "Nahrávat pøed zaèátkem (min)",
   },
   { "Setup.Recording$Margin at stop (min)",
-    "Zeitpuffer bei Ende (min)",
+    "Nachlauf am Timer-Ende (min)",
     "Zamik konca snemanja (min)",
     "Margine finale (min)",
     "Tijd marge eind (min)",
@@ -4031,7 +4031,7 @@
     "Primární limit",
   },
   { "Setup.Recording$Default priority",
-    "Default Priorität",
+    "Default-Priorität",
     "Privzeta prioriteta",
     "Priorita' predefinita",
     "Standaard prioriteit",
@@ -4053,7 +4053,7 @@
     "Výchozí priorita",
   },
   { "Setup.Recording$Default lifetime (d)",
-    "Default Lebensdauer (d)",
+    "Default-Lebensdauer (d)",
     "Privzeti ¾ivljenski èas (d)",
     "Durata predefinita (gg)",
     "Standaard levensduur (d)",
@@ -4075,7 +4075,7 @@
     "Výchozí ¾ivotnost",
   },
   { "Setup.Recording$Pause priority",
-    "Pause Priorität",
+    "Pause-Priorität",
     "Prioriteta pavze",
     "Priorita' di pausa",
     "Pauze prioriteit",
@@ -4097,7 +4097,7 @@
     "Priorita pøeru¹ení",
   },
   { "Setup.Recording$Pause lifetime (d)",
-    "Pause Lebensdauer (d)",
+    "Pause-Lebensdauer (d)",
     "Èas pavze (d)",
     "Durata pausa (gg)",
     "Pauze levensduur (d)",
@@ -4163,7 +4163,7 @@
     "Pou¾ívat VPS",
   },
   { "Setup.Recording$VPS margin (s)",
-    "Zeitpuffer bei VPS (s)",
+    "Zeitvorlauf bei VPS (s)",
     "Èasovna rezerva pri VPS (s)",
     "Margine VPS",
     "Marge VPS (s)",
@@ -4251,7 +4251,7 @@
     "Délka okam¾itého nahrávání (min)",
   },
   { "Setup.Recording$Max. video file size (MB)",
-    "Max. Video Dateigröße (MB)",
+    "Max. Videodateigröße (MB)",
     "Najveèja velikost datoteke (MB)",
     "Dimensione massima file video (MB)",
     "Maximale omvang video file (MB)",
@@ -4295,7 +4295,7 @@
     "Dìlit editované soubory",
   },
   { "Setup.Replay$Multi speed mode",
-    "MultiSpeed Modus",
+    "Mehrstufiger Vor-/Rücklauf",
     "Re¾im z veè hitrostmi",
     "Modalita' multispeed",
     "Multi-speed mode",
@@ -4339,7 +4339,7 @@
     "Zobrazit re¾im pøehrávání",
   },
   { "Setup.Replay$Resume ID",
-    "Wiedergabe ID",
+    "Wiedergabe-ID",
     "ID za predvajanje",
     "ID Ripresa",
     "Hervattings ID",
@@ -4361,7 +4361,7 @@
     "ID obnovení",
   },
   { "Setup.Miscellaneous$Min. event timeout (min)",
-    "Mindest Event Pause (min)",
+    "Brückenzeit zwischen Timern (min)",
     "Najmanj¹i èas dogodka (min)",
     "Spegnimento: controllo prossimo evento (m)",
     "Minimale event time-out (min)",
@@ -4383,7 +4383,7 @@
     "Min. pauza mezi událostmi (min)",
   },
   { "Setup.Miscellaneous$Min. user inactivity (min)",
-    "Mindest Benutzer-Inaktivität (min)",
+    "VDR ausschalten bei Inaktivität (min)",
     "Najmanj¹i èas neaktivnosti (min)",
     "Spegnimento: tempo minimo di inattività (m)",
     "Minimum gebruikers inactiviteit (min)",
@@ -4405,7 +4405,7 @@
     "Èasový limit neaktivnosti (min)",
   },
   { "Setup.Miscellaneous$SVDRP timeout (s)",
-    "SVDRP Timeout (s)",
+    "SVDRP trennen bei Inaktivität (s)",
     "SVDRP èas neaktivnosti (s)",
     "Timeout SVDRP (s)",
     "SVDRP Timeout (s)",
@@ -4427,7 +4427,7 @@
     "Èasový limit SVDRP (s)",
   },
   { "Setup.Miscellaneous$Zap timeout (s)",
-    "Zap Timeout (s)",
+    "Mindestzeit für Kanalhistorie (s)",
     "Èas ugla¹evanja (s)",
     "Timeout Zapping",
     "Zap timeout (s)",
@@ -4450,68 +4450,68 @@
   },
   { "Setup.Miscellaneous$Initial channel",
     "Kanal beim Einschalten",
+    "Privzeti kanal",
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "Chaîne initiale",
     "",// TODO
     "Kanava käynnistettäessä",
+    "Pocz±tkowy kana³",
     "",// TODO
     "",// TODO
+    "Kanal vid uppstart",
+    "Canalul de pornire",
     "",// TODO
     "",// TODO
+    "ºÐÝÐÛ ßàØ ÒÚÛîçÕÝØØ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "Kanal käivitamisel",
     "Kanal ved opstart",
     "",// TODO
   },
   { "Setup.Miscellaneous$Initial volume",
     "Lautstärke beim Einschalten",
+    "Privzeta glasnost",
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "Volume initial",
     "",// TODO
     "Äänenvoimakkuus käynnistettäessä",
+    "Pocz±tkowa g³o¶no¶æ",
     "",// TODO
     "",// TODO
+    "Ljudstyrka vid uppstart",
+    "Volumul la pornire",
     "",// TODO
     "",// TODO
+    "³àÞÜÚÞáâì ßàØ ÒÚÛîçÕÝØØ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "Helitugevus käivitamisel",
     "Lydstyrke ved opstart",
     "",// TODO
   },
   { "Setup.Miscellaneous$as before",
     "wie vorher",
+    "kot prej",
     "",// TODO
     "",// TODO
     "",// TODO
-    "",// TODO
-    "",// TODO
+    "comme avant",
     "",// TODO
     "edellinen",
+    "jak ostatnio",
     "",// TODO
     "",// TODO
+    "som förut",
+    "ca mai înainte",
     "",// TODO
     "",// TODO
+    "ÚÐÚ àÐÝìèÕ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "som fÃ¸r",
+    "nagu enne",
+    "som før",
     "",// TODO
   },
   // The days of the week:
@@ -4585,18 +4585,18 @@
   // The character maps for entering letters via the numeric keys:
   { " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9",
     " 0\t-.#~,/_@1\tabcä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuvü8\twxyz9",
+    " 0\t-.#~,/_@1\tabcè2\tdef3\tghi4\tjkl5\tmno6\tpqrs¹7\ttuv8\twxyz¾9",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    " 0\t-.#~,/_@1\tabcàâç2\tdeféèê3\tghiîï4\tjkl5\tmnoô6\tpqrs7\ttuvù8\twxyz9",
     "",//TODO
     " 0\t-.#~,/_@1\tabcäå2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz9",
     " 0\t-.#~,/_@1\tabc2±æ\tdef3ê\tghi4\tjkl5³\tmno6ñó\tpqrs7¶\ttuv8\twxyz9¼¿",
     " 0\t-.#~,/_@1\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9",
     "",//TODO
-    "",//TODO
-    "",//TODO
+    " 0\t-.#~,/_@1\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz",
+    " 0\t-.#~,/_@1\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -4607,7 +4607,7 @@
   },
   // Learning keys:
   { "Learning Remote Control Keys",
-    "Fernbedienungs-Codes lernen",
+    "Fernbedienung anlernen",
     "Uèenje kod upravljalca",
     "Apprendimento tasti unita` remota",
     "Leren toetsen afstandsbediening",
@@ -4629,7 +4629,7 @@
     "Uèení kódù dálkového ovládání",
   },
   { "Phase 1: Detecting RC code type",
-    "Phase 1: FB Code feststellen",
+    "Phase 1: System der Fernbedienung ermitteln",
     "Faza 1: Sprejemanje IR kode",
     "Fase 1: tipo ricevitore RC",
     "Fase 1: detecteren type afstandsbediening",
@@ -4651,7 +4651,7 @@
     "Fáze 1: Detekce typu kódu",
   },
   { "Press any key on the RC unit",
-    "Eine Taste auf der FB drücken",
+    "Eine Taste auf der Fernbedienung drücken",
     "Pritisnite tipko na upravljalcu",
     "Premere un tasto dell'unita` RC",
     "Druk op een willekeurige knop",
@@ -4673,7 +4673,7 @@
     "Stisknìte libovolnou klávesu ovládání",
   },
   { "RC code detected!",
-    "FB Code erkannt!",
+    "System der Fernbedienung erkannt!",
     "IR koda sprejeta!",
     "Codice RC rilevato!",
     "Afstandsbediening code herkend!",
@@ -4717,7 +4717,7 @@
     "Nemaèkejte ¾ádné klávesy...",
   },
   { "Phase 2: Learning specific key codes",
-    "Phase 2: Einzelne Tastencodes lernen",
+    "Phase 2: Tastenbelegung anlernen",
     "Faza 2: Uèenje posebnih kod",
     "Fase 2: Codici specifici dei tasti",
     "Fase 2: Leren specifieke toets-codes",
@@ -4805,7 +4805,7 @@
     "Stisknìte 'Dolù' pro pokraèování",
   },
   { "(press 'Up' to go back)",
-    "('Auf' drücken um zurückzugehen)",
+    "('Auf' drücken, um zurückzugehen)",
     "(pritisnite 'Gor' za nazaj)",
     "(premere 'Su' per tornare indietro)",
     "(druk 'Omhoog' om terug te gaan)",
@@ -4871,7 +4871,7 @@
     "(stisknìte 'Menu' pro pøeskoèení definice klávesy)",
   },
   { "Phase 3: Saving key codes",
-    "Phase 3: Codes abspeichern",
+    "Phase 3: Tastenbelegung abspeichern",
     "Faza 3: Shranjevanje kod tipk",
     "Fase 3: Salvataggio codici tasti",
     "Fase 3: Opslaan toets codes",
@@ -5224,7 +5224,7 @@
     "Pøeru¹it",
   },
   { "Key$Stop",
-    "Stop",
+    "Stopp",
     "Ustavi",
     "Stop",
     "Stop",
@@ -5313,46 +5313,46 @@
   },
   { "Key$Next",
     "Vorwärts",
+    "Naprej",
     "",// TODO
     "",// TODO
     "",// TODO
+    "Suivant",
     "",// TODO
+    "Seuraava",
+    "Dalej",
     "",// TODO
     "",// TODO
+    "Nästa",
+    "Urmãtor",
     "",// TODO
     "",// TODO
+    "²ßÕàÕÔ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "Järgmine",
+    "Fremad",
     "",// TODO
   },
   { "Key$Prev",
     "Zurück",
+    "Nazaj",
     "",// TODO
     "",// TODO
     "",// TODO
+    "Précédent",
     "",// TODO
+    "Edellinen",
+    "Wstecz",
     "",// TODO
     "",// TODO
+    "Bakåt",
+    "Anterior",
     "",// TODO
     "",// TODO
+    "½Ð×ÐÔ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "Eelmine",
+    "Tilbage",
     "",// TODO
   },
   { "Key$Power",
@@ -5361,7 +5361,7 @@
     "Power",
     "Uitschakelen",
     "Ligar",
-    "Veille", // This one caused some bug reports ;)
+    "Arrêt",
     "Power",
     "Virtakytkin",
     "Wy³±cz",
@@ -5423,24 +5423,24 @@
   },
   { "Key$PrevChannel",
     "Vorheriger Kanal",
+    "Prej¹nji kanal",
     "",// TODO
     "",// TODO
     "",// TODO
+    "Chaîne précédente",
     "",// TODO
+    "Edellinen kanava",
+    "Poprzedni kana³",
     "",// TODO
     "",// TODO
+    "Förra kanalen",
+    "Canal anterior",
     "",// TODO
     "",// TODO
+    "¿àÕÔëÔãéØÙ ÚÐÝÐÛ",
     "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
-    "",// TODO
+    "Eelmine kanal",
+    "Foregående kanal",
     "",// TODO
   },
   { "Key$Volume+",
@@ -5952,18 +5952,18 @@
   },
   { "Recording started",
     "Aufzeichnung gestartet",
+    "Snemanje se je prièelo",
     "",//TODO
     "",//TODO
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Enregistrement a commencé",
     "",//TODO
     "Tallennus aloitettu",
     "Rozpoczêto nagrywanie",
     "Iniciando grabación",
     "",//TODO
-    "",//TODO
-    "",//TODO
+    "Inspelningen har startat",
+    "A început înregistrarea",
     "",//TODO
     "",//TODO
     "·ÐßØáì ÝÐçÐâÐ",
@@ -5995,7 +5995,7 @@
     "Pøeru¹uje se bì¾ící program ...",
   },
   { "Starting EPG scan",
-    "Beginne mit EPG-Scan",
+    "Aktualisiere EPG-Daten",
     "Prièenjam EPG-scan",
     "",// TODO
     "Bezig met starten EPG scan",
@@ -6017,8 +6017,8 @@
     "Zaèíná prohledávání EPG",
   },
   { "This plugin has no setup parameters!",
-    "Dieses Plugin hat keine Setup-Parameter!",
-    "Ta plugin nima nastavitvenih parametrov!",
+    "Dieses Plugin hat keine Parameter!",
+    "Ta vstavek nima nastavitvenih parametrov!",
     "Questo plugin non ha parametri di setup!",
     "Deze plugin heeft geen instelparameters",
     "",// TODO
@@ -6061,7 +6061,7 @@
     "Klasické VDR",
   },
   { "ST:TNG Panels",
-    "ST:TNG Konsolen",
+    "ST:TNG-Konsolen",
     "ST:TNG Konsola",
     "Consolles ST:TNG",
     "ST:TNG Consoles",
@@ -6072,7 +6072,7 @@
     "Panel ST:TNG",
     "Paneles ST:TNG",
     "ÌïñöÝò ST:TNG",
-    "ST:TNG konsoll",
+    "ST:TNG konsol",
     "Cons. ST:TNG",
     "",// TODO
     "",// TODO
diff -ruN vdr-1.3.47/menuitems.c vdr-1.3.48/menuitems.c
--- vdr-1.3.47/menuitems.c	2006-04-14 12:41:28.000000000 +0200
+++ vdr-1.3.48/menuitems.c	2006-04-23 13:39:48.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menuitems.c 1.42 2006/04/14 10:41:28 kls Exp $
+ * $Id: menuitems.c 1.43 2006/04/23 11:39:48 kls Exp $
  */
 
 #include "menuitems.h"
@@ -351,10 +351,10 @@
 
 eOSState cMenuEditStrItem::ProcessKey(eKeys Key)
 {
-  bool SameKey = Key == lastKey;
+  bool SameKey = NORMALKEY(Key) == lastKey;
   if (Key != kNone)
-     lastKey = Key;
-  else if (!newchar && k0 <= NORMALKEY(lastKey) && NORMALKEY(lastKey) <= k9 && autoAdvanceTimeout.TimedOut()) {
+     lastKey = NORMALKEY(Key);
+  else if (!newchar && k0 <= lastKey && lastKey <= k9 && autoAdvanceTimeout.TimedOut()) {
      AdvancePos();
      newchar = true;
      currentChar = NULL;
@@ -460,7 +460,7 @@
                        }
                     if (!currentChar || !*currentChar || *currentChar == '\t') {
                        // find the beginning of the character map entry for Key
-                       int n = Key - k0;
+                       int n = NORMALKEY(Key) - k0;
                        currentChar = charMap;
                        while (n > 0 && *currentChar) {
                              if (*currentChar++ == '\t')
diff -ruN vdr-1.3.47/newplugin vdr-1.3.48/newplugin
--- vdr-1.3.47/newplugin	2006-04-17 11:49:13.000000000 +0200
+++ vdr-1.3.48/newplugin	2006-04-22 12:04:10.000000000 +0200
@@ -12,7 +12,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: newplugin 1.26 2006/04/17 09:49:13 kls Exp $
+# $Id: newplugin 1.27 2006/04/22 10:04:10 kls Exp $
 
 $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
 
@@ -85,7 +85,7 @@
 
 ### The version number of VDR's plugin API (taken from VDR's "config.h"):
 
-APIVERSION = \$(shell grep 'define APIVERSION ' \$(VDRDIR)/config.h | awk '{ print \$\$3 }' | sed -e 's/"//g')
+APIVERSION = \$(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*\$\$/\\1/; p }' \$(VDRDIR)/config.h)
 
 ### The name of the distribution archive:
 
diff -ruN vdr-1.3.47/recording.c vdr-1.3.48/recording.c
--- vdr-1.3.47/recording.c	2006-04-17 14:47:59.000000000 +0200
+++ vdr-1.3.48/recording.c	2006-04-23 12:43:06.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: recording.c 1.146 2006/04/17 12:47:59 kls Exp $
+ * $Id: recording.c 1.147 2006/04/23 10:43:06 kls Exp $
  */
 
 #include "recording.h"
@@ -1197,7 +1197,7 @@
                        LOG_ERROR_STR(fileName);
                     }
                  else
-                    esyslog("ERROR: can't allocate %d bytes for index '%s'", size * sizeof(tIndex), fileName);
+                    esyslog("ERROR: can't allocate %zd bytes for index '%s'", size * sizeof(tIndex), fileName);
                  }
               }
            else
diff -ruN vdr-1.3.47/timers.c vdr-1.3.48/timers.c
--- vdr-1.3.47/timers.c	2006-04-09 11:10:08.000000000 +0200
+++ vdr-1.3.48/timers.c	2006-04-21 17:12:49.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: timers.c 1.57 2006/04/09 09:10:08 kls Exp $
+ * $Id: timers.c 1.58 2006/04/21 15:12:49 kls Exp $
  */
 
 #include "timers.h"
@@ -292,7 +292,7 @@
 {
   struct tm tm_r;
   int weekday = localtime_r(&t, &tm_r)->tm_wday;
-  return weekday == 0 ? 6 : weekday - 1; // we start with monday==0!
+  return weekday == 0 ? 6 : weekday - 1; // we start with Monday==0!
 }
 
 bool cTimer::DayMatches(time_t t) const
diff -ruN vdr-1.3.47/tools.c vdr-1.3.48/tools.c
--- vdr-1.3.47/tools.c	2006-04-17 14:19:31.000000000 +0200
+++ vdr-1.3.48/tools.c	2006-04-21 17:12:47.000000000 +0200
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: tools.c 1.116 2006/04/17 12:19:31 kls Exp $
+ * $Id: tools.c 1.117 2006/04/21 15:12:47 kls Exp $
  */
 
 #include "tools.h"
@@ -615,7 +615,7 @@
 cString WeekDayName(int WeekDay)
 {
   char buffer[4];
-  WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with monday==0!
+  WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
   if (0 <= WeekDay && WeekDay <= 6) {
      const char *day = tr("MonTueWedThuFriSatSun");
      day += WeekDay * 3;
diff -ruN vdr-1.3.47/vdr.5 vdr-1.3.48/vdr.5
--- vdr-1.3.47/vdr.5	2006-03-26 15:42:29.000000000 +0200
+++ vdr-1.3.48/vdr.5	2006-04-21 17:13:10.000000000 +0200
@@ -8,7 +8,7 @@
 .\" License as specified in the file COPYING that comes with the
 .\" vdr distribution.
 .\"
-.\" $Id: vdr.5 1.55 2006/03/26 13:42:29 kls Exp $
+.\" $Id: vdr.5 1.56 2006/04/21 15:13:10 kls Exp $
 .\"
 .TH vdr 5 "26 Mar 2006" "1.3.45" "Video Disk Recorder Files"
 .SH NAME
@@ -259,11 +259,11 @@
 
 \fBMTWTF\-\-@2002\-02\-18\fR
 
-which would implement a timer that records Moday thru Friday, and will hit
+which would implement a timer that records Monday thru Friday, and will hit
 for the first time on or after February 18, 2002.
 This \fBfirst day\fR feature can be used to disable a repeating timer for a couple
-of days, or for instance to define a new Mon...Fri timer on wednesday, which
-actually starts "monday next week". The \fBfirst day\fR date given need not be
+of days, or for instance to define a new Mon...Fri timer on Wednesday, which
+actually starts "Monday next week". The \fBfirst day\fR date given need not be
 that of a day when the timer would actually hit.
 .TP
 .B Start
diff -ruN vdr-1.3.47/vdr.c vdr-1.3.48/vdr.c
--- vdr-1.3.47/vdr.c	2006-04-17 16:43:46.000000000 +0200
+++ vdr-1.3.48/vdr.c	2006-04-22 13:26:04.000000000 +0200
@@ -15,14 +15,14 @@
  *
  * 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.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
  *
  * The author can be reached at kls@cadsoft.de
  *
  * The project's page is at http://www.cadsoft.de/vdr
  *
- * $Id: vdr.c 1.262 2006/04/17 14:43:46 kls Exp $
+ * $Id: vdr.c 1.264 2006/04/22 11:26:04 kls Exp $
  */
 
 #include <getopt.h>
@@ -422,7 +422,7 @@
                );
         }
      if (DisplayVersion)
-        printf("vdr (%s) - The Video Disk Recorder\n", VDRVERSION);
+        printf("vdr (%s/%s) - The Video Disk Recorder\n", VDRVERSION, APIVERSION);
      if (PluginManager.HasPlugins()) {
         if (DisplayHelp)
            printf("Plugins: vdr -P\"name [OPTIONS]\"\n\n");
