diff -ruN vdr-2.1.9/CONTRIBUTORS vdr-2.1.10/CONTRIBUTORS
--- vdr-2.1.9/CONTRIBUTORS	2015-02-08 11:08:47.000000000 +0100
+++ vdr-2.1.10/CONTRIBUTORS	2015-02-11 11:55:07.000000000 +0100
@@ -787,9 +787,10 @@
 Stefan Schluenss <dxr3_osd@schluenss.de>
  for reporting a bug where PID handles were not closed correctly
 
-R�gis Bossut <rbossut@auchan.com>
+R�gis Bossut <famille.bossut@wanadoo.fr>
  for pointing out that with some providers the channels can only be distinguished
  through the RID
+ for translating OSD texts to the French language
 
 Andreas Kool <akool@akool.de>
  for his help in keeping 'channels.conf.cable' up to date
@@ -1703,6 +1704,7 @@
  cDevice::TrickSpeed()
  for renaming 'runvdr' to 'runvdr.template' and no longer copying it to the BINDIR
  in 'make install'
+ for suggesting to add "#REMOTE=LIRC" to Make.config.template
 
 Maynard Cedric <maynard.cedric@wanadoo.fr>
  for reporting a problem in handling the color button texts in cMenuEditStrItem
@@ -2961,6 +2963,7 @@
  for reverting the change from version 1.5.7 that made all logging go to LOG_ERR
  for reporting a possible crash in the OSD demo
  for adding support for systemd
+ for suggesting to replace VDR_CHARSET_OVERRIDE with a command line option
 
 Stefan Huskamp <coca_cola1@gmx.de>
  for suggesting to make entering characters via the number keys
@@ -3181,6 +3184,8 @@
  ci.c to no longer compile with older versions of gcc
  for suggesting to make the "Select folder" menu add the folder names of all existing
  recordings to any names that have been predefined in "folders.conf"
+ for adding an empty target to the Makefile to make sure the sub-make for libsi is
+ always called
 
 Peter M�nster <pmlists@free.fr>
  for fixing 'make install' to not overwrite existing configuration files
@@ -3230,6 +3235,7 @@
  for fixing the German translation of "Binary skip timeout (s)"
  for reporting a bug in switching channels in the Schedule menu after going through
  various Now and Schedule menus for different channels
+ for the "jumpingseconds" patch
 
 Marek Nazarko <mnazarko@gmail.com>
  for translating OSD texts to the Polish language
@@ -3303,6 +3309,8 @@
  for adding cOsdProvider::OsdSizeChanged()
  for suggesting to change the German translations if the texts related to "binary
  skipping"
+ for suggesting to change the return value of cOsd::RenderPixmaps() from cPixmapMemory
+ to cPixmap
 
 Eike Sauer <EikeSauer@t-online.de>
  for reporting a problem with channels that need more than 5 TS packets for detecting
@@ -3363,5 +3371,14 @@
 Mario Fenneis <admin@mediastreambox.at>
  for translating OSD texts to the Hungarian language
 
+Clemens Brauers <vdr@admin-cb.de>
+ for modifying runvdr.template to improve compatibility with the "bash" and "dash" shells
+
 Stefan Herdler <herdler@gmx.de>
  for fixing cMarks::GetNextBegin() and cMarks::GetNextEnd()
+
+Tobias Faust <tobias.faust@gmx.de>
+ for the original "jumpingseconds" patch
+
+Erik Oomen <oomen.e@gmail.com>
+ for translating OSD texts to the Dutch language
diff -ruN vdr-2.1.9/HISTORY vdr-2.1.10/HISTORY
--- vdr-2.1.9/HISTORY	2015-02-08 12:39:17.000000000 +0100
+++ vdr-2.1.10/HISTORY	2015-02-11 11:19:21.000000000 +0100
@@ -8497,7 +8497,8 @@
 - Updated the Italian OSD texts (thanks to Diego Pierotto).
 - Fixed the German translations of "latitude" and "longitude" (they were swapped).
 - Updated the Hungarian OSD texts (thanks to Mario Fenneis).
-- Modified runvdr.template to improve compatibility with the "bash" and "dash" shells.
+- Modified runvdr.template to improve compatibility with the "bash" and "dash" shells
+  (thanks to Clemens Brauers).
 - Changed the German translations if the texts related to "binary skipping" (based
   on a suggestion by Thomas Reufer).
 - Updated sources.conf to reflect the fact that Astra 4A and SES5 are actually in
@@ -8521,3 +8522,49 @@
   that it is initialized to 'true' and will only be set to 'false' if the entire
   copy process has been successful (problem reported by Christoph Haubrich).
 - Added the UPDATE-2.2.0 file.
+
+2015-02-11: Version 2.1.10
+
+- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
+- Updated the Macedonian OSD texts (thanks to Dimitar Petrovski).
+- Updated the Romanian OSD texts (thanks to Lucian Muresan).
+- Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).
+- Added "#REMOTE=LIRC" to Make.config.template (suggested by Martin Dauskardt).
+- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
+- Increased the width of the left text column in the Setup menus to avoid cutting
+  off German texts.
+- Added an empty target to the Makefile to make sure the sub-make for libsi is always
+  called (thanks to S�ren Moch).
+- Updated the Italian OSD texts (thanks to Diego Pierotto and Nino Gerbino).
+- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
+- The new options "Setup/Replay/Skip distance with Green/Yellow keys" and
+  "Setup/Replay/Skip distance with Green/Yellow keys in repeat" can be used to
+  configure the number of seconds to skip when pressing these keys once or pressing
+  and holding them (based on a patch from Matthias Senzel, originally from Tobias
+  Faust).
+- The new option "Setup/Replay/Use Prev/Next keys for adaptive skipping" can be used
+  to change the behavior of these keys during replay. They normally jump between
+  editing marks, but with this option set to 'yes' they will do adaptive skipping.
+- The new command line option --chartab can be used to set the default character
+  table to use for strings in the DVB data stream that don't begin with a proper
+  character table indicator (suggested by Christopher Reimer). The old mechanism
+  of using the environment variable VDR_CHARSET_OVERRIDE still works, but is now
+  deprecated and may be removed in a future version. The value given in the --chartab
+  option takes precedence over that in VDR_CHARSET_OVERRIDE.
+- cOsd::RenderPixmaps() now returns a pointer to cPixmap instead of cPixmapMemory
+  (suggested by Thomas Reufer). This is necessary to allow plugins with derived
+  cPixmap implementations to use this function. Plugins that use this function
+  with cPixmapMemory now need to add a dynamic cast to the call, as in
+
+    cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps()));
+
+  They also need to call DestroyPixmap(pm) instead of "delete pm" to properly release
+  the resulting pixmap after use.
+  The dvbhddevice plugin has been modified accordingly.
+- A cPixmap with a negative layer no longer marks any portion of the OSD's view port
+  as "dirty" when drawing on it. This may improve performance when drawing on a
+  hidden pixmap, because it avoids unnecessary refreshes of the OSD.
+- Added a missing initialization of "panning" to the constructor of cPixmapMemory.
+- Updated the Dutch OSD texts (thanks to Erik Oomen).
+- Updated the French OSD texts (thanks to R�gis Bossut).
+- Fixed the German translation of "Zap timeout".
diff -ruN vdr-2.1.9/INSTALL vdr-2.1.10/INSTALL
--- vdr-2.1.9/INSTALL	2015-01-26 13:01:05.000000000 +0100
+++ vdr-2.1.10/INSTALL	2015-02-10 15:15:34.000000000 +0100
@@ -141,7 +141,7 @@
 ISO6937. But unfortunately some broadcasters actually use ISO-8859-9 or
 other encodings, but fail to correctly announce that.
 Users who want to set the default character set to something different can
-do this by setting the environment variable VDR_CHARSET_OVERRIDE to something
+do this by using the command line option --chartab with something
 like ISO-8859-9.
 
 Start script with automatic restart in case of hangups:
diff -ruN vdr-2.1.9/MANUAL vdr-2.1.10/MANUAL
--- vdr-2.1.9/MANUAL	2015-02-06 16:23:03.000000000 +0100
+++ vdr-2.1.10/MANUAL	2015-02-10 13:48:10.000000000 +0100
@@ -1026,6 +1026,23 @@
                          halved if the direction actually changes. That way, even if
                          you missed the target point, you can still back up to it.
 
+  Use Prev/Next keys for adaptive skipping = no
+                         Normally the Prev/Next keys jump between editing marks (or
+                         the beginning/end of the recording). You can set this option
+                         to 'yes' if you want to use these keys for adaptive skipping
+                         instead.
+
+  Skip distance with Green/Yellow keys (s) = 60
+                         Defines the number of seconds to skip in either direction
+                         when pressing the "Green" or "Yellow" key, respectively.
+                         The valid range is 5...600.
+
+  Skip distance with Green/Yellow keys in repeat (s) = 60
+                         Defines the number of seconds to skip in either direction
+                         when pressing and holding the "Green" or "Yellow" key,
+                         respectively.
+                         The valid range is 5...600.
+
   Resume ID = 0          Defines an additional ID that can be used in a multi user
                          environment, so that every user has his/her own resume
                          files for each recording. The valid range is 0...99, with
diff -ruN vdr-2.1.9/Make.config.template vdr-2.1.10/Make.config.template
--- vdr-2.1.9/Make.config.template	2015-02-02 10:07:07.000000000 +0100
+++ vdr-2.1.10/Make.config.template	2015-02-09 10:58:45.000000000 +0100
@@ -6,7 +6,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: Make.config.template 3.3 2015/02/02 09:07:07 kls Exp $
+# $Id: Make.config.template 3.4 2015/02/09 09:58:45 kls Exp $
 
 ### The C compiler and options:
 
@@ -69,6 +69,9 @@
 ### The remote control:
 LIRC_DEVICE = /var/run/lirc/lircd
 
+### Define if you always want to use LIRC, independent of the --lirc option:
+#REMOTE=LIRC
+
 ### Define if you don't want keyboard remote control:
 #NO_KBD = 1
 
diff -ruN vdr-2.1.9/Makefile vdr-2.1.10/Makefile
--- vdr-2.1.9/Makefile	2015-02-02 15:47:24.000000000 +0100
+++ vdr-2.1.10/Makefile	2015-02-09 13:28:24.000000000 +0100
@@ -4,7 +4,7 @@
 # See the main source file 'vdr.c' for copyright information and
 # how to reach the author.
 #
-# $Id: Makefile 3.5 2015/02/02 14:47:24 kls Exp $
+# $Id: Makefile 3.6 2015/02/09 12:28:24 kls Exp $
 
 .DELETE_ON_ERROR:
 
@@ -139,8 +139,9 @@
 
 # The libsi library:
 
-$(SILIB):
-	$(MAKE) --no-print-directory -C $(LSIDIR) CXXFLAGS="$(CXXFLAGS)" DEFINES="$(CDEFINES)" all
+$(SILIB): make-libsi
+	@$(MAKE) --no-print-directory -C $(LSIDIR) CXXFLAGS="$(CXXFLAGS)" DEFINES="$(CDEFINES)" all
+make-libsi: # empty rule makes sure the sub-make for libsi is always called
 
 # pkg-config file:
 
diff -ruN vdr-2.1.9/PLUGINS/src/dvbhddevice/HISTORY vdr-2.1.10/PLUGINS/src/dvbhddevice/HISTORY
--- vdr-2.1.9/PLUGINS/src/dvbhddevice/HISTORY	2014-03-15 14:38:50.000000000 +0100
+++ vdr-2.1.10/PLUGINS/src/dvbhddevice/HISTORY	2015-02-11 10:48:02.000000000 +0100
@@ -98,3 +98,7 @@
 
 - The function cDevice::GetVideoSystem() has been deprecated.
 - Removed old-style video format setting functions.
+
+2015-02-11: Version 2.1.7
+
+- Adapted to the new return value of cOsd::RenderPixmaps().
diff -ruN vdr-2.1.9/PLUGINS/src/dvbhddevice/dvbhddevice.c vdr-2.1.10/PLUGINS/src/dvbhddevice/dvbhddevice.c
--- vdr-2.1.9/PLUGINS/src/dvbhddevice/dvbhddevice.c	2014-03-11 12:25:40.000000000 +0100
+++ vdr-2.1.10/PLUGINS/src/dvbhddevice/dvbhddevice.c	2015-02-11 10:48:02.000000000 +0100
@@ -10,7 +10,7 @@
 #include "menu.h"
 #include "setup.h"
 
-static const char *VERSION        = "2.1.6";
+static const char *VERSION        = "2.1.7";
 static const char *DESCRIPTION    = trNOOP("HD Full Featured DVB device");
 static const char *MAINMENUENTRY  = "dvbhddevice";
 
diff -ruN vdr-2.1.9/PLUGINS/src/dvbhddevice/hdffosd.c vdr-2.1.10/PLUGINS/src/dvbhddevice/hdffosd.c
--- vdr-2.1.9/PLUGINS/src/dvbhddevice/hdffosd.c	2014-09-21 14:13:02.000000000 +0200
+++ vdr-2.1.10/PLUGINS/src/dvbhddevice/hdffosd.c	2015-02-11 10:48:02.000000000 +0100
@@ -681,7 +681,7 @@
                 return;
         }
         LOCK_PIXMAPS;
-        while (cPixmapMemory *pm = RenderPixmaps())
+        while (cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps()))
         {
             int w = pm->ViewPort().Width();
             int h = pm->ViewPort().Height();
@@ -736,7 +736,7 @@
                         HDFF_COLOR_TYPE_ARGB4444, HDFF_INVALID_HANDLE);
                 }
             }
-            delete pm;
+            DestroyPixmap(pm);
             render = true;
         }
         if (buffer)
diff -ruN vdr-2.1.9/PLUGINS/src/dvbhddevice/po/it_IT.po vdr-2.1.10/PLUGINS/src/dvbhddevice/po/it_IT.po
--- vdr-2.1.9/PLUGINS/src/dvbhddevice/po/it_IT.po	2015-02-08 13:07:28.253768265 +0100
+++ vdr-2.1.10/PLUGINS/src/dvbhddevice/po/it_IT.po	2015-02-11 11:36:42.123894498 +0100
@@ -9,16 +9,15 @@
 "Project-Id-Version: vdr-dvbhddevice 0.0.4\n"
 "Report-Msgid-Bugs-To: <see README>\n"
 "POT-Creation-Date: 2014-09-21 14:01+0200\n"
-"PO-Revision-Date: 2013-09-19 00:00+0100\n"
+"PO-Revision-Date: 2015-02-08 19:48+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team:  <see README>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Italian\n"
-"X-Poedit-Country: ITALY\n"
 "X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: Poedit 1.5.4\n"
 
 msgid "HD Full Featured DVB device"
 msgstr "Scheda DVB HD Full Featured"
@@ -126,7 +125,7 @@
 msgstr "Permetti OSD True Color"
 
 msgid "True Color format"
-msgstr ""
+msgstr "Formato True Color"
 
 msgid "Hide mainmenu entry"
 msgstr "Nascondi voce menu principale"
diff -ruN vdr-2.1.9/UPDATE-2.2.0 vdr-2.1.10/UPDATE-2.2.0
--- vdr-2.1.9/UPDATE-2.2.0	2015-02-08 12:36:28.000000000 +0100
+++ vdr-2.1.10/UPDATE-2.2.0	2015-02-11 10:48:02.000000000 +0100
@@ -127,6 +127,15 @@
 - Added cOsdProvider::OsdSizeChanged(), which plugins that implement an output device
   can call to signal a change in the OSD that requires a redraw of the currently
   displayed object.
+- cOsd::RenderPixmaps() now returns a pointer to cPixmap instead of cPixmapMemory
+  This is necessary to allow plugins with derived cPixmap implementations to use this
+  function. Plugins that use this function with cPixmapMemory now need to add
+  a dynamic cast to the call, as in
+
+    cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps()));
+
+  They also need to call DestroyPixmap(pm) instead of "delete pm" to properly release
+  the resulting pixmap after use.
 
 Skins:
 
@@ -220,6 +229,15 @@
   is unexpected at this point. You can still navigate to
   the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
   menu.
+- cOsd::RenderPixmaps() now returns a pointer to cPixmap instead of cPixmapMemory
+  This is necessary to allow plugins with derived cPixmap implementations to use this
+  function. Plugins that use this function with cPixmapMemory now need to add
+  a dynamic cast to the call, as in
+
+    cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps()));
+
+  They also need to call DestroyPixmap(pm) instead of "delete pm" to properly release
+  the resulting pixmap after use.
 
 Channels:
 
@@ -329,6 +347,13 @@
   to make adaptive skipping only halve the skip distance when the direction changes.
   That way you can reach the desired point in a recording even if you make one too
   many skips in a certain direction (see MANUAL for details).
+- The new options "Setup/Replay/Skip distance with Green/Yellow keys" and
+  "Setup/Replay/Skip distance with Green/Yellow keys in repeat" can be used to
+  configure the number of seconds to skip when pressing these keys once or pressing
+  and holding them.
+- The new option "Setup/Replay/Use Prev/Next keys for adaptive skipping" can be used
+  to change the behavior of these keys during replay. They normally jump between
+  editing marks, but with this option set to 'yes' they will do adaptive skipping.
 
 SVDRP:
 
@@ -378,7 +403,7 @@
   "Mo.Di.Mi.Do.Fr.Sa.So.".
 - Added the channel name to log messages that reference a channel.
 - Added ARGSDIR to the ONEDIR section of Make.config.template.
-- Added SDNOTIFY, NO_KBD and BIDI to Make.config.template.
+- Added SDNOTIFY, NO_KBD, BIDI and REMOTE to Make.config.template.
 - Modified runvdr.template to improve compatibility with the "bash" and "dash" shells.
 - Updated sources.conf to reflect the fact that Astra 4A and SES5 are actually in
   two separate positions.
@@ -386,3 +411,9 @@
   functions is now exacly as described in the header file. Editing marks that are
   placed at exactly the same offset in a recording are now preserved in the cutting
   process.
+- The new command line option --chartab can be used to set the default character
+  table to use for strings in the DVB data stream that don't begin with a proper
+  character table indicator. The old mechanism of using the environment variable
+  VDR_CHARSET_OVERRIDE still works, but is now deprecated and may be removed in a
+  future version. The value given in the --chartab option takes precedence over
+  that in VDR_CHARSET_OVERRIDE.
diff -ruN vdr-2.1.9/config.c vdr-2.1.10/config.c
--- vdr-2.1.9/config.c	2015-02-06 11:10:22.000000000 +0100
+++ vdr-2.1.10/config.c	2015-02-10 13:24:13.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.c 3.8 2015/02/06 10:10:22 kls Exp $
+ * $Id: config.c 3.10 2015/02/10 12:24:13 kls Exp $
  */
 
 #include "config.h"
@@ -476,6 +476,9 @@
   AdaptiveSkipInitial = 120;
   AdaptiveSkipTimeout = 3;
   AdaptiveSkipAlternate = 0;
+  AdaptiveSkipPrevNext = 0;
+  SkipSeconds = 60;
+  SkipSecondsRepeat = 60;
   ResumeID = 0;
   CurrentChannel = -1;
   CurrentVolume = MAXVOLUME;
@@ -695,6 +698,9 @@
   else if (!strcasecmp(Name, "AdaptiveSkipInitial")) AdaptiveSkipInitial= atoi(Value);
   else if (!strcasecmp(Name, "AdaptiveSkipTimeout")) AdaptiveSkipTimeout= atoi(Value);
   else if (!strcasecmp(Name, "AdaptiveSkipAlternate")) AdaptiveSkipAlternate = atoi(Value);
+  else if (!strcasecmp(Name, "AdaptiveSkipPrevNext")) AdaptiveSkipPrevNext = atoi(Value);
+  else if (!strcasecmp(Name, "SkipSeconds"))         SkipSeconds        = atoi(Value);
+  else if (!strcasecmp(Name, "SkipSecondsRepeat"))   SkipSecondsRepeat  = atoi(Value);
   else if (!strcasecmp(Name, "ResumeID"))            ResumeID           = atoi(Value);
   else if (!strcasecmp(Name, "CurrentChannel"))      CurrentChannel     = atoi(Value);
   else if (!strcasecmp(Name, "CurrentVolume"))       CurrentVolume      = atoi(Value);
@@ -818,6 +824,9 @@
   Store("AdaptiveSkipInitial",AdaptiveSkipInitial);
   Store("AdaptiveSkipTimeout",AdaptiveSkipTimeout);
   Store("AdaptiveSkipAlternate", AdaptiveSkipAlternate);
+  Store("AdaptiveSkipPrevNext", AdaptiveSkipPrevNext);
+  Store("SkipSeconds",        SkipSeconds);
+  Store("SkipSecondsRepeat",  SkipSecondsRepeat);
   Store("ResumeID",           ResumeID);
   Store("CurrentChannel",     CurrentChannel);
   Store("CurrentVolume",      CurrentVolume);
diff -ruN vdr-2.1.9/config.h vdr-2.1.10/config.h
--- vdr-2.1.9/config.h	2015-02-06 10:53:50.000000000 +0100
+++ vdr-2.1.10/config.h	2015-02-10 15:29:27.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: config.h 3.17 2015/02/06 09:53:50 kls Exp $
+ * $Id: config.h 3.20 2015/02/10 14:29:27 kls Exp $
  */
 
 #ifndef __CONFIG_H
@@ -22,13 +22,13 @@
 
 // VDR's own version number:
 
-#define VDRVERSION  "2.1.9"
-#define VDRVERSNUM   20109  // Version * 10000 + Major * 100 + Minor
+#define VDRVERSION  "2.1.10"
+#define VDRVERSNUM   20110  // Version * 10000 + Major * 100 + Minor
 
 // The plugin API's version number:
 
-#define APIVERSION  "2.1.9"
-#define APIVERSNUM   20109  // Version * 10000 + Major * 100 + Minor
+#define APIVERSION  "2.1.10"
+#define APIVERSNUM   20110  // Version * 10000 + Major * 100 + Minor
 
 // When loading plugins, VDR searches them by their APIVERSION, which
 // may be smaller than VDRVERSION in case there have been no changes to
@@ -340,6 +340,9 @@
   int AdaptiveSkipInitial;
   int AdaptiveSkipTimeout;
   int AdaptiveSkipAlternate;
+  int AdaptiveSkipPrevNext;
+  int SkipSeconds;
+  int SkipSecondsRepeat;
   int ResumeID;
   int CurrentChannel;
   int CurrentVolume;
diff -ruN vdr-2.1.9/libsi/Makefile vdr-2.1.10/libsi/Makefile
--- vdr-2.1.9/libsi/Makefile	2012-12-18 14:35:54.000000000 +0100
+++ vdr-2.1.10/libsi/Makefile	2015-02-11 11:24:54.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # Makefile for a libsi
 #
-# $Id: Makefile 3.0 2012/12/18 13:35:54 kls Exp $
+# $Id: Makefile 3.1 2015/02/11 10:24:54 kls Exp $
 
 ### The archiver options:
 
@@ -32,6 +32,7 @@
 ### Targets:
 
 all: libsi.a
+	@:
 
 libsi.a : $(OBJS)
 	$(AR) $(ARFLAGS) $@ $(OBJS)
diff -ruN vdr-2.1.9/libsi/si.c vdr-2.1.10/libsi/si.c
--- vdr-2.1.9/libsi/si.c	2015-02-01 15:55:27.000000000 +0100
+++ vdr-2.1.10/libsi/si.c	2015-02-10 14:42:41.000000000 +0100
@@ -6,7 +6,7 @@
  *   the Free Software Foundation; either version 2 of the License, or     *
  *   (at your option) any later version.                                   *
  *                                                                         *
- *   $Id: si.c 3.2 2015/02/01 14:55:27 kls Exp $
+ *   $Id: si.c 3.3 2015/02/10 13:42:41 kls Exp $
  *                                                                         *
  ***************************************************************************/
 
@@ -319,6 +319,14 @@
   return SystemCharacterTableIsSingleByte;
 }
 
+static char *OverrideCharacterTable = NULL;
+
+void SetOverrideCharacterTable(const char *CharacterTable)
+{
+  free(OverrideCharacterTable);
+  OverrideCharacterTable = CharacterTable ? strdup(CharacterTable) : NULL;
+}
+
 bool SetSystemCharacterTable(const char *CharacterTable) {
    if (CharacterTable) {
       for (unsigned int i = 0; i < NumEntries(CharacterTables1); i++) {
@@ -348,9 +356,8 @@
    // Workaround for broadcaster stupidity: according to
    // "ETSI EN 300 468" the default character set is ISO6937. But unfortunately some
    // broadcasters actually use ISO-8859-9, but fail to correctly announce that.
-   static const char *CharsetOverride = getenv("VDR_CHARSET_OVERRIDE");
-   if (CharsetOverride)
-      cs = CharsetOverride;
+   if (OverrideCharacterTable)
+      cs = OverrideCharacterTable;
    if (isSingleByte)
       *isSingleByte = false;
    if (length <= 0)
diff -ruN vdr-2.1.9/libsi/si.h vdr-2.1.10/libsi/si.h
--- vdr-2.1.9/libsi/si.h	2015-02-01 15:55:27.000000000 +0100
+++ vdr-2.1.10/libsi/si.h	2015-02-10 14:54:28.000000000 +0100
@@ -6,7 +6,7 @@
  *   the Free Software Foundation; either version 2 of the License, or     *
  *   (at your option) any later version.                                   *
  *                                                                         *
- *   $Id: si.h 3.3 2015/02/01 14:55:27 kls Exp $
+ *   $Id: si.h 3.4 2015/02/10 13:54:28 kls Exp $
  *                                                                         *
  ***************************************************************************/
 
@@ -522,6 +522,9 @@
    void decodeText(char *buffer, char *shortVersion, int sizeBuffer, int sizeShortVersion);
 };
 
+// Set the character table to use for strings that do not begin with a character
+// table indicator. Call with NULL to turn this off.
+void SetOverrideCharacterTable(const char *CharacterTable);
 // Call this function to set the system character table. CharacterTable is a string
 // like "iso8859-15" or "utf-8" (case insensitive).
 // Returns true if the character table was recognized.
diff -ruN vdr-2.1.9/menu.c vdr-2.1.10/menu.c
--- vdr-2.1.9/menu.c	2015-02-07 16:56:26.000000000 +0100
+++ vdr-2.1.10/menu.c	2015-02-10 13:37:06.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menu.c 3.46 2015/02/07 15:56:26 kls Exp $
+ * $Id: menu.c 3.48 2015/02/10 12:37:06 kls Exp $
  */
 
 #include "menu.h"
@@ -3730,6 +3730,9 @@
   Add(new cMenuEditIntItem( tr("Setup.Replay$Initial duration for adaptive skipping (s)"), &data.AdaptiveSkipInitial, 10, 600));
   Add(new cMenuEditIntItem( tr("Setup.Replay$Reset timeout for adaptive skipping (s)"), &data.AdaptiveSkipTimeout, 0, 10));
   Add(new cMenuEditBoolItem(tr("Setup.Replay$Alternate behavior for adaptive skipping"), &data.AdaptiveSkipAlternate));
+  Add(new cMenuEditBoolItem(tr("Setup.Replay$Use Prev/Next keys for adaptive skipping"), &data.AdaptiveSkipPrevNext));
+  Add(new cMenuEditIntItem( tr("Setup.Replay$Skip distance with Green/Yellow keys (s)"), &data.SkipSeconds, 5, 600));
+  Add(new cMenuEditIntItem( tr("Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"), &data.SkipSecondsRepeat, 5, 600));
   Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99));
 }
 
@@ -5583,9 +5586,11 @@
     case kRight:   Forward(); break;
     case kRed:     TimeSearch(); break;
     case kGreen|k_Repeat:
-    case kGreen:   SkipSeconds(-60); break;
+                   SkipSeconds(-Setup.SkipSecondsRepeat); break;
+    case kGreen:   SkipSeconds(-Setup.SkipSeconds); break;
     case kYellow|k_Repeat:
-    case kYellow:  SkipSeconds( 60); break;
+                   SkipSeconds(Setup.SkipSecondsRepeat); break;
+    case kYellow:  SkipSeconds(Setup.SkipSeconds); break;
     case kStop:
     case kBlue:    Hide();
                    Stop();
@@ -5596,11 +5601,19 @@
         // Editing:
         case kMarkToggle:      MarkToggle(); break;
         case kPrev|k_Repeat:
-        case kPrev:
+        case kPrev:            if (Setup.AdaptiveSkipPrevNext) {
+                                  MarkMove(-adaptiveSkipper.GetValue(RAWKEY(Key)), false);
+                                  break;
+                                  }
+                               // fall through...
         case kMarkJumpBack|k_Repeat:
         case kMarkJumpBack:    MarkJump(false); break;
         case kNext|k_Repeat:
-        case kNext:
+        case kNext:            if (Setup.AdaptiveSkipPrevNext) {
+                                  MarkMove(+adaptiveSkipper.GetValue(RAWKEY(Key)), false);
+                                  break;
+                                  }
+                               // fall through...
         case kMarkJumpForward|k_Repeat:
         case kMarkJumpForward: MarkJump(true); break;
         case kMarkMoveBack|k_Repeat:
diff -ruN vdr-2.1.9/menuitems.c vdr-2.1.10/menuitems.c
--- vdr-2.1.9/menuitems.c	2013-11-03 15:48:21.000000000 +0100
+++ vdr-2.1.10/menuitems.c	2015-02-09 12:53:10.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menuitems.c 3.2 2013/11/03 14:48:21 kls Exp $
+ * $Id: menuitems.c 3.3 2015/02/09 11:53:10 kls Exp $
  */
 
 #include "menuitems.h"
@@ -1168,7 +1168,7 @@
 // --- cMenuSetupPage --------------------------------------------------------
 
 cMenuSetupPage::cMenuSetupPage(void)
-:cOsdMenu("", 33)
+:cOsdMenu("", 36)
 {
   SetMenuCategory(mcSetup);
   plugin = NULL;
diff -ruN vdr-2.1.9/osd.c vdr-2.1.10/osd.c
--- vdr-2.1.9/osd.c	2015-01-15 12:20:56.000000000 +0100
+++ vdr-2.1.10/osd.c	2015-02-11 10:48:02.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: osd.c 3.4 2015/01/15 11:20:56 kls Exp $
+ * $Id: osd.c 3.5 2015/02/11 09:48:02 kls Exp $
  */
 
 #include "osd.h"
@@ -984,12 +984,13 @@
 
 void cPixmap::MarkViewPortDirty(const cRect &Rect)
 {
-  dirtyViewPort.Combine(Rect.Intersected(viewPort));
+  if (layer >= 0)
+     dirtyViewPort.Combine(Rect.Intersected(viewPort));
 }
 
 void cPixmap::MarkViewPortDirty(const cPoint &Point)
 {
-  if (viewPort.Contains(Point))
+  if (layer >= 0 && viewPort.Contains(Point))
      dirtyViewPort.Combine(Point);
 }
 
@@ -1025,11 +1026,18 @@
      esyslog("ERROR: pixmap layer %d limited to %d", Layer, MAXPIXMAPLAYERS - 1);
      Layer = MAXPIXMAPLAYERS - 1;
      }
-  if (Layer != layer) {
-     if (Layer > 0 || layer > 0)
-        MarkViewPortDirty(viewPort);
+  // The sequence here is important, because the view port is only marked as dirty
+  // if the layer is >= 0:
+  if (layer >= 0) {
+     MarkViewPortDirty(viewPort); // the pixmap is visible and may or may not become invisible
+     layer = Layer;
+     }
+  else if (Layer >= 0) {
      layer = Layer;
+     MarkViewPortDirty(viewPort); // the pixmap was invisible and has become visible
      }
+  else
+     layer = Layer; // the pixmap was invisible and remains so
   Unlock();
 }
 
@@ -1141,6 +1149,7 @@
 :cPixmap(Layer, ViewPort, DrawPort)
 {
   data = MALLOC(tColor, this->DrawPort().Width() * this->DrawPort().Height());
+  panning = false;
 }
 
 cPixmapMemory::~cPixmapMemory()
@@ -1714,7 +1723,8 @@
      LOCK_PIXMAPS;
      for (int i = 1; i < pixmaps.Size(); i++) { // begin at 1 - don't let the background pixmap be destroyed!
          if (pixmaps[i] == Pixmap) {
-            pixmaps[0]->MarkViewPortDirty(Pixmap->ViewPort());
+            if (Pixmap->Layer() >= 0)
+               pixmaps[0]->MarkViewPortDirty(Pixmap->ViewPort());
             delete Pixmap;
             pixmaps[i] = NULL;
             return;
@@ -1737,9 +1747,9 @@
   return Pixmap;
 }
 
-cPixmapMemory *cOsd::RenderPixmaps(void)
+cPixmap *cOsd::RenderPixmaps(void)
 {
-  cPixmapMemory *Pixmap = NULL;
+  cPixmap *Pixmap = NULL;
   if (isTrueColor) {
      LOCK_PIXMAPS;
      // Collect overlapping dirty rectangles:
@@ -1762,25 +1772,27 @@
         d.Combine(OldDirty);
         OldDirty = NewDirty;
 #endif
-        Pixmap = new cPixmapMemory(0, d);
-        Pixmap->Clear();
-        // Render the individual pixmaps into the resulting pixmap:
-        for (int Layer = 0; Layer < MAXPIXMAPLAYERS; Layer++) {
-            for (int i = 0; i < pixmaps.Size(); i++) {
-                if (cPixmap *pm = pixmaps[i]) {
-                   if (pm->Layer() == Layer)
-                   Pixmap->DrawPixmap(pm, d);
+        Pixmap = CreatePixmap(-1, d);
+        if (Pixmap) {
+           Pixmap->Clear();
+           // Render the individual pixmaps into the resulting pixmap:
+           for (int Layer = 0; Layer < MAXPIXMAPLAYERS; Layer++) {
+               for (int i = 0; i < pixmaps.Size(); i++) {
+                   if (cPixmap *pm = pixmaps[i]) {
+                      if (pm->Layer() == Layer)
+                         Pixmap->DrawPixmap(pm, d);
+                      }
                    }
-                }
-            }
+               }
 #ifdef DebugDirty
-        cPixmapMemory DirtyIndicator(7, NewDirty);
-        static tColor DirtyIndicatorColors[] = { 0x7FFFFF00, 0x7F00FFFF };
-        static int DirtyIndicatorIndex = 0;
-        DirtyIndicator.Fill(DirtyIndicatorColors[DirtyIndicatorIndex]);
-        DirtyIndicatorIndex = 1 - DirtyIndicatorIndex;
-        Pixmap->Render(&DirtyIndicator, DirtyIndicator.DrawPort(), DirtyIndicator.ViewPort().Point().Shifted(-Pixmap->ViewPort().Point()));
+           cPixmapMemory DirtyIndicator(7, NewDirty);
+           static tColor DirtyIndicatorColors[] = { 0x7FFFFF00, 0x7F00FFFF };
+           static int DirtyIndicatorIndex = 0;
+           DirtyIndicator.Fill(DirtyIndicatorColors[DirtyIndicatorIndex]);
+           DirtyIndicatorIndex = 1 - DirtyIndicatorIndex;
+           Pixmap->Render(&DirtyIndicator, DirtyIndicator.DrawPort(), DirtyIndicator.ViewPort().Point().Shifted(-Pixmap->ViewPort().Point()));
 #endif
+           }
         }
      }
   return Pixmap;
diff -ruN vdr-2.1.9/osd.h vdr-2.1.10/osd.h
--- vdr-2.1.9/osd.h	2015-01-15 12:23:52.000000000 +0100
+++ vdr-2.1.10/osd.h	2015-02-11 10:48:02.000000000 +0100
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: osd.h 3.5 2015/01/15 11:23:52 kls Exp $
+ * $Id: osd.h 3.6 2015/02/11 09:48:02 kls Exp $
  */
 
 #ifndef __OSD_H
@@ -763,12 +763,13 @@
        ///< the pixmap could not be added to the list.
        ///< A derived class that implements its own cPixmap class must call AddPixmap()
        ///< in order to add a newly created pixmap to the OSD's list of pixmaps.
-  cPixmapMemory *RenderPixmaps(void);
+  cPixmap *RenderPixmaps(void);
        ///< Renders the dirty part of all pixmaps into a resulting pixmap that
        ///< shall be displayed on the OSD. The returned pixmap's view port is
        ///< set to the location of the rectangle on the OSD that needs to be
        ///< refreshed; its draw port's origin is at (0, 0), and it has the same
        ///< size as the view port.
+       ///< Only pixmaps with a non-negative layer value are rendered.
        ///< If there are several non-overlapping dirty rectangles from different pixmaps,
        ///< they are returned separately in order to avoid re-rendering large parts
        ///< of the OSD that haven't changed at all. The caller must therefore call
@@ -778,7 +779,7 @@
        ///< by putting a LOCK_PIXMAPS into the scope of the operation).
        ///< If there are no dirty pixmaps, or if this is not a true color OSD,
        ///< this function returns NULL.
-       ///< The caller must delete the returned pixmap after use.
+       ///< The caller must call DestroyPixmap() for the returned pixmap after use.
 public:
   virtual ~cOsd();
        ///< Shuts down the OSD.
@@ -930,13 +931,16 @@
        ///< pixmaps, the Flush() function should basically do something like this:
        ///<
        ///<  LOCK_PIXMAPS;
-       ///<  while (cPixmapMemory *pm = RenderPixmaps()) {
+       ///<  while (cPixmapMemory *pm = dynamic_cast<cPixmapMemory *>(RenderPixmaps())) {
        ///<        int w = pm->ViewPort().Width();
        ///<        int h = pm->ViewPort().Height();
        ///<        int d = w * sizeof(tColor);
        ///<        MyOsdDrawPixmap(Left() + pm->ViewPort().X(), Top() + pm->ViewPort().Y(), pm->Data(), w, h, h * d);
-       ///<        delete pm;
+       ///<        DestroyPixmap(pm);
        ///<        }
+       ///<
+       ///< If a plugin uses a derived cPixmap implementation, it needs to use that
+       ///< type instead of cPixmapMemory.
   };
 
 #define MAXOSDIMAGES 64
diff -ruN vdr-2.1.9/po/ar.po vdr-2.1.10/po/ar.po
--- vdr-2.1.9/po/ar.po	2015-02-08 13:07:17.503283521 +0100
+++ vdr-2.1.10/po/ar.po	2015-02-11 11:36:31.710461753 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-10-16 11:16-0400\n"
 "Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
 "Language-Team: Arabic <ar@li.org>\n"
@@ -1257,6 +1257,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "رقم المواصلة"
 
diff -ruN vdr-2.1.9/po/ca_ES.po vdr-2.1.10/po/ca_ES.po
--- vdr-2.1.9/po/ca_ES.po	2015-02-08 13:07:16.975259712 +0100
+++ vdr-2.1.10/po/ca_ES.po	2015-02-11 11:36:31.110436819 +0100
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-03-02 19:02+0100\n"
 "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
 "Language-Team: Catalan <vdr@linuxtv.org>\n"
@@ -1256,6 +1256,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID de Continuar"
 
diff -ruN vdr-2.1.9/po/cs_CZ.po vdr-2.1.10/po/cs_CZ.po
--- vdr-2.1.9/po/cs_CZ.po	2015-02-08 13:07:17.430280230 +0100
+++ vdr-2.1.10/po/cs_CZ.po	2015-02-11 11:36:31.623458138 +0100
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2010-05-06 11:00+0200\n"
 "Last-Translator: Aleš Juřík <ajurik@quick.cz>\n"
 "Language-Team: Czech <vdr@linuxtv.org>\n"
@@ -1256,6 +1256,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID obnovení"
 
diff -ruN vdr-2.1.9/po/da_DK.po vdr-2.1.10/po/da_DK.po
--- vdr-2.1.9/po/da_DK.po	2015-02-08 13:07:17.087264763 +0100
+++ vdr-2.1.10/po/da_DK.po	2015-02-11 11:36:31.222441473 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2007-08-12 14:17+0200\n"
 "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
 "Language-Team: Danish <vdr@linuxtv.org>\n"
@@ -1253,6 +1253,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Genoptagelses ID"
 
diff -ruN vdr-2.1.9/po/de_DE.po vdr-2.1.10/po/de_DE.po
--- vdr-2.1.9/po/de_DE.po	2015-02-08 13:07:17.802297004 +0100
+++ vdr-2.1.10/po/de_DE.po	2015-02-11 11:36:31.959472101 +0100
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2010-01-16 16:46+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-10 13:45+0100\n"
 "Last-Translator: Klaus Schmidinger <vdr@tvdr.de>\n"
 "Language-Team: German <vdr@linuxtv.org>\n"
 "Language: de\n"
@@ -1253,6 +1253,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr "Sprungweite nur bei Richtungswechsel halbieren"
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr "Zur�ck/Vorw�rts-Tasten halbieren Sprungweite"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr "Sprungweite mit Taste Gr�n/Gelb (s)"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr "Sprungweite mit Taste Gr�n/Gelb bei Wiederh. (s)"
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Wiedergabe-ID"
 
@@ -1269,7 +1278,7 @@
 msgstr "SVDRP trennen bei Inaktivit�t (s)"
 
 msgid "Setup.Miscellaneous$Zap timeout (s)"
-msgstr "Mindestzeit f�r Kanalhistorie (s)"
+msgstr "Mindestzeit f�r vorherigen Kanal (s)"
 
 msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
 msgstr "Zeitlimit f�r Kanaleingabe (ms)"
diff -ruN vdr-2.1.9/po/el_GR.po vdr-2.1.10/po/el_GR.po
--- vdr-2.1.9/po/el_GR.po	2015-02-08 13:07:17.256272383 +0100
+++ vdr-2.1.10/po/el_GR.po	2015-02-11 11:36:31.420449701 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2007-08-12 14:17+0200\n"
 "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
 "Language-Team: Greek <vdr@linuxtv.org>\n"
@@ -1253,6 +1253,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID ������������"
 
diff -ruN vdr-2.1.9/po/es_ES.po vdr-2.1.10/po/es_ES.po
--- vdr-2.1.9/po/es_ES.po	2015-02-08 13:07:16.879255383 +0100
+++ vdr-2.1.10/po/es_ES.po	2015-02-11 11:36:30.989431790 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-03-02 19:02+0100\n"
 "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
 "Language-Team: Spanish <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID de continuaci�n"
 
diff -ruN vdr-2.1.9/po/et_EE.po vdr-2.1.10/po/et_EE.po
--- vdr-2.1.9/po/et_EE.po	2015-02-08 13:07:16.943258268 +0100
+++ vdr-2.1.10/po/et_EE.po	2015-02-11 11:36:31.071435197 +0100
@@ -1,13 +1,13 @@
 # VDR language source file.
 # Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de>
 # This file is distributed under the same license as the VDR package.
-# Arthur Konovalov <artlov@gmail.com>, 2004-2013
+# Arthur Konovalov <artlov@gmail.com>, 2004-2013, 2015
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2007-08-12 14:17+0200\n"
 "Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
 "Language-Team: Estonian <vdr@linuxtv.org>\n"
@@ -483,7 +483,7 @@
 msgstr "Kanalid"
 
 msgid "Key$Timers"
-msgstr "Taimer"
+msgstr "Taimerid"
 
 msgid "Key$Recordings"
 msgstr "Salvestused"
@@ -676,7 +676,7 @@
 msgstr "Kausta valik"
 
 msgid "Timers"
-msgstr "Taimer"
+msgstr "Taimerid"
 
 msgid "Button$On/Off"
 msgstr "On/Off"
@@ -700,7 +700,7 @@
 msgstr "Salvestada"
 
 msgid "Button$Switch"
-msgstr "Valida"
+msgstr "Vali"
 
 msgid "What's on now?"
 msgstr "Hetkel eetris"
@@ -794,10 +794,10 @@
 msgstr "Redigeeritud versioon juba olemas - kirjutada üle?"
 
 msgid "Error while queueing recording for cutting!"
-msgstr "Salvestuse lõikamiseks lisamine ebaõnnestus!"
+msgstr "Salvestuse lisamine lõikamiseks ebaõnnestus!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Nimetada salvestuse nimi kaustaks?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Kustutada selle salvestuse markerid?"
@@ -839,7 +839,7 @@
 msgstr "Salvestuse käsud"
 
 msgid "never"
-msgstr "ei"
+msgstr "ealeski"
 
 msgid "skin dependent"
 msgstr "kestast sõltuv"
@@ -878,7 +878,7 @@
 msgstr "Väikese fondi kasutus"
 
 msgid "Setup.OSD$Anti-alias"
-msgstr "Fondi silumine"
+msgstr "Fondi sakitõrje"
 
 msgid "Setup.OSD$Default font"
 msgstr "Vaikefont"
@@ -1018,7 +1018,7 @@
 msgstr "Esmane DVB seade"
 
 msgid "Setup.DVB$Standard compliance"
-msgstr "Standardivastavavus"
+msgstr "Standardivastavus"
 
 msgid "Setup.DVB$Video format"
 msgstr "TV külgsuhe"
@@ -1100,7 +1100,7 @@
 msgstr "itta (E)"
 
 msgid "Setup.LNB$Max. positioner swing (degrees)"
-msgstr "Positsioneerija max pöördeulatus (°)"
+msgstr "Positsioneerija pöördeulatus (°)"
 
 msgid "Setup.LNB$Positioner speed (degrees/s)"
 msgstr "Positsioneerija kiirus (°/s)"
@@ -1179,7 +1179,7 @@
 msgstr "Salvestuse eluiga (päevi)"
 
 msgid "Setup.Recording$Pause key handling"
-msgstr "Pausi klahvi käsitsemine"
+msgstr "Pausi klahvi käsitlemine"
 
 msgid "Setup.Recording$Pause priority"
 msgstr "Pausi prioriteet"
@@ -1221,7 +1221,7 @@
 msgstr "Taasesitus"
 
 msgid "Setup.Replay$Multi speed mode"
-msgstr "Mitme kiiruse režiim"
+msgstr "Mitmikkiiruse režiim"
 
 msgid "Setup.Replay$Show replay mode"
 msgstr "Korduse režiimi kuvamine"
@@ -1245,12 +1245,21 @@
 msgstr "Paus viimasel markeril"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Adaptiivse hüppe kestuse algväärtus (s)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Adaptiivse hüppe lähtestamise viide (s)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
+msgstr "Adaptiivse hüppe vaheldumine käitumine"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
 msgstr ""
 
 msgid "Setup.Replay$Resume ID"
@@ -1365,10 +1374,10 @@
 msgstr "Puudub vaba DVB seade salvestamiseks!"
 
 msgid "Pausing live video..."
-msgstr "Otseülekande peatamine..."
+msgstr "Otseedastuse peatamine..."
 
 msgid "Delete timeshift recording?"
-msgstr "Kustutada ajanihke salvestus?"
+msgstr "Kustutada ajanihke salvestust?"
 
 #. TRANSLATORS: note the trailing blank!
 msgid "Jump: "
@@ -1378,7 +1387,7 @@
 msgstr "Redigeerimise markerid puuduvad!"
 
 msgid "No editing sequences defined!"
-msgstr "Redigeerimise järjestus puudub!"
+msgstr "Redigeerimise järjestus määramata!"
 
 msgid "Can't start editing process!"
 msgstr "Redigeerimise start ebaõnnestus!"
diff -ruN vdr-2.1.9/po/fi_FI.po vdr-2.1.10/po/fi_FI.po
--- vdr-2.1.9/po/fi_FI.po	2015-02-08 13:07:17.118266161 +0100
+++ vdr-2.1.10/po/fi_FI.po	2015-02-11 11:36:31.259443011 +0100
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2007-08-15 15:52+0200\n"
 "Last-Translator: Matti Lehtimäki <matti.lehtimaki@gmail.com>\n"
 "Language-Team: Finnish <vdr@linuxtv.org>\n"
@@ -801,7 +801,7 @@
 msgstr "Tallenteen lisääminen leikkausjonoon epäonnistui!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Nimeä tallenne kansion mukaan?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Poistetaanko muokkausmerkinnät tallenteelta?"
@@ -1257,6 +1257,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr "Käytä vaihtoehtoista mukautuvaa hyppyä"
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Tallenteen paluutunniste"
 
diff -ruN vdr-2.1.9/po/fr_FR.po vdr-2.1.10/po/fr_FR.po
--- vdr-2.1.9/po/fr_FR.po	2015-02-08 13:07:17.357276938 +0100
+++ vdr-2.1.10/po/fr_FR.po	2015-02-11 11:44:52.000000000 +0100
@@ -12,14 +12,15 @@
 # Bernard Jaulin <bernard.jaulin@gmail.com>, 2013
 # Peter Münster <pmlists@free.fr>, 2013
 # Dominique Plu <dplu@free.fr>, 2013
+# Régis Bossut <famille.bossut@wanadoo.fr>, 2015
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2013-02-24 12:56+0100\n"
-"Last-Translator: Dominique Plu <dplu@free.fr>\n"
+"POT-Creation-Date: 2015-02-11 11:02+0100\n"
+"PO-Revision-Date: 2015-02-10 17:16+0100\n"
+"Last-Translator: Régis Bossut <famille.bossut@wanadoo.fr>\n"
 "Language-Team: French <vdr@linuxtv.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -30,7 +31,7 @@
 msgstr "*** Chaîne invalide ! ***"
 
 msgid "CAM activated!"
-msgstr ""
+msgstr "CAM activée !"
 
 msgid "Channel not available!"
 msgstr "Chaîne non disponible !"
@@ -90,13 +91,13 @@
 msgstr "StreamId"
 
 msgid "Pilot"
-msgstr ""
+msgstr "Pilote"
 
 msgid "T2SystemId"
-msgstr ""
+msgstr "ID système T2"
 
 msgid "SISO/MISO"
-msgstr ""
+msgstr "SISO/MISO"
 
 msgid "Starting EPG scan"
 msgstr "Mise à jour du guide des programmes"
@@ -340,7 +341,7 @@
 
 #, c-format
 msgid "ParentalRating$from %d"
-msgstr "À partir de %d"
+msgstr "à partir de %d ans"
 
 msgid "No title"
 msgstr "Sans titre"
@@ -354,7 +355,7 @@
 msgstr "fra"
 
 msgid "Phase 1: Detecting RC code type"
-msgstr "Phase 1: Détection du type de télécommande"
+msgstr "Phase 1 : Détection du type de télécommande"
 
 msgid "Press any key on the RC unit"
 msgstr "Appuyer sur une touche de la télécommande"
@@ -366,7 +367,7 @@
 msgstr "N'appuyer sur aucune touche..."
 
 msgid "Phase 2: Learning specific key codes"
-msgstr "Phase 2: Apprentissage des touches"
+msgstr "Phase 2 : Apprentissage des touches"
 
 #, c-format
 msgid "Press key for '%s'"
@@ -391,7 +392,7 @@
 msgstr "Apprentissage des touches de la télécommande"
 
 msgid "Phase 3: Saving key codes"
-msgstr "Phase 3: Sauvegarde des touches"
+msgstr "Phase 3 : Sauvegarde des touches"
 
 msgid "Press 'Up' to save, 'Down' to cancel"
 msgstr "Appuyer sur 'Haut' pour sauvegarder, 'Bas' pour annuler"
@@ -538,7 +539,7 @@
 msgstr "En clair"
 
 msgid "encrypted"
-msgstr "Crypté"
+msgstr "crypté"
 
 msgid "Edit channel"
 msgstr "Modifier la chaîne"
@@ -586,13 +587,13 @@
 msgstr "Sid"
 
 msgid "Nid"
-msgstr ""
+msgstr "Nid"
 
 msgid "Tid"
-msgstr ""
+msgstr "Tid"
 
 msgid "Channel settings are not unique!"
-msgstr "Cette chaîne n'est pas unique !"
+msgstr "Les paramètres de cette chaîne ne sont pas uniques !"
 
 msgid "Channels"
 msgstr "Chaînes"
@@ -622,7 +623,7 @@
 msgstr "Nouveau dossier"
 
 msgid "Sub folder"
-msgstr "Sous dossier"
+msgstr "Sous-dossier"
 
 msgid "Folder name already exists!"
 msgstr "Ce nom de dossier existe déjà !"
@@ -635,7 +636,7 @@
 msgstr "Ouvrir"
 
 msgid "Delete folder and all sub folders?"
-msgstr "Supprimer le dossier et tous les sous dossiers ?"
+msgstr "Supprimer le dossier et tous les sous-dossiers ?"
 
 msgid "Delete folder?"
 msgstr "Supprimer le dossier ?"
@@ -689,7 +690,7 @@
 msgstr "Programmations"
 
 msgid "Button$On/Off"
-msgstr "Marche/Arr"
+msgstr "Marche/Arrêt"
 
 msgid "Button$Info"
 msgstr "Info"
@@ -736,13 +737,13 @@
 
 #, c-format
 msgid "This event - %s"
-msgstr "Cet événement - %s"
+msgstr "Cet évènement - %s"
 
 msgid "This event - all channels"
-msgstr "Cet événement - toutes les chaînes"
+msgstr "Cet évènement - toutes les chaînes"
 
 msgid "All events - all channels"
-msgstr "Tous les événements - toutes les chaînes"
+msgstr "Tous les évènements - toutes les chaînes"
 
 #, c-format
 msgid "Please enter %d digits!"
@@ -752,74 +753,74 @@
 msgstr "Pas de réponse du CAM"
 
 msgid "Edit path"
-msgstr ""
+msgstr "Éditer le chemin"
 
 msgid "Folder"
-msgstr ""
+msgstr "Dossier"
 
 msgid "This folder is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Ce dossier est en cours d'utilisation - pas de modification possible !"
 
 #, c-format
 msgid "Move entire folder containing %d recordings?"
-msgstr ""
+msgstr "Déplacer tout le dossier contenant %d enregistrements ?"
 
 msgid "Error while moving folder!"
-msgstr ""
+msgstr "Erreur lors du déplacement du dossier !"
 
 msgid "Edit recording"
-msgstr ""
+msgstr "Éditer l'enregistrement"
 
 msgid "This recording is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Cet enregistrement est en cours d'utilisation - pas de modification possible !"
 
 msgid "Button$Cancel cutting"
-msgstr ""
+msgstr "Annuler la coupe"
 
 msgid "Button$Stop cutting"
-msgstr ""
+msgstr "Arrêter la coupe"
 
 msgid "Button$Cancel moving"
-msgstr ""
+msgstr "Annuler le déplacement"
 
 msgid "Button$Stop moving"
-msgstr ""
+msgstr "Arrêter le déplacement"
 
 msgid "Button$Cancel copying"
-msgstr ""
+msgstr "Annuler la copie"
 
 msgid "Button$Stop copying"
-msgstr ""
+msgstr "Arrêter la copie"
 
 msgid "Button$Cut"
-msgstr ""
+msgstr "Couper"
 
 msgid "Button$Delete marks"
-msgstr ""
+msgstr "Supprimer les marqueurs"
 
 msgid "Recording vanished!"
-msgstr ""
+msgstr "Enregistrement disparu !"
 
 msgid "Edited version already exists - overwrite?"
-msgstr ""
+msgstr "La version éditée existe déjà - écraser ?"
 
 msgid "Error while queueing recording for cutting!"
-msgstr ""
+msgstr "Erreur lors de la mise en file d'attente pour la coupe !"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Modifier le nom du dossier des enregistrements ?"
 
 msgid "Delete editing marks for this recording?"
-msgstr ""
+msgstr "Supprimer les marqueurs d'édition de cet enregistrement ?"
 
 msgid "Error while deleting editing marks!"
-msgstr ""
+msgstr "Erreur pendant la suppression des marqueurs d'édition !"
 
 msgid "Error while changing priority/lifetime!"
-msgstr ""
+msgstr "Erreur pendant le changement de priorité et/ou durée de vie !"
 
 msgid "Error while changing folder/name!"
-msgstr ""
+msgstr "Erreur pendant le changement de dossier et/ou nom !"
 
 msgid "Recording info"
 msgstr "Infos sur l'enregistrement"
@@ -1089,31 +1090,31 @@
 msgstr "Propriétaire"
 
 msgid "Setup.LNB$Use dish positioner"
-msgstr ""
+msgstr "Utiliser le positionneur de parabole"
 
 msgid "Setup.LNB$Site latitude (degrees)"
-msgstr ""
+msgstr "Latitude du site (°)"
 
 msgid "South"
-msgstr ""
+msgstr "Sud"
 
 msgid "North"
-msgstr ""
+msgstr "Nord"
 
 msgid "Setup.LNB$Site longitude (degrees)"
-msgstr ""
+msgstr "Longitude du site (°)"
 
 msgid "West"
-msgstr ""
+msgstr "Ouest"
 
 msgid "East"
-msgstr ""
+msgstr "Est"
 
 msgid "Setup.LNB$Max. positioner swing (degrees)"
-msgstr ""
+msgstr "Course max. du positionneur (°)"
 
 msgid "Setup.LNB$Positioner speed (degrees/s)"
-msgstr ""
+msgstr "Vitesse du positionneur (°/s)"
 
 msgid "CAM reset"
 msgstr "CAM réinitialisé"
@@ -1126,16 +1127,16 @@
 
 #. TRANSLATORS: note the leading blank!
 msgid " (activating)"
-msgstr ""
+msgstr " (activation en cours)"
 
 msgid "CAM"
 msgstr "CAM"
 
 msgid "Button$Cancel activation"
-msgstr ""
+msgstr "Annuler l'activation"
 
 msgid "Button$Activate"
-msgstr ""
+msgstr "Activer"
 
 msgid "Button$Menu"
 msgstr "Menu"
@@ -1150,7 +1151,7 @@
 msgstr "Impossible d'ouvrir le menu CAM !"
 
 msgid "Can't activate CAM!"
-msgstr ""
+msgstr "Impossible d'activer le CAM !"
 
 msgid "CAM is in use - really reset?"
 msgstr "CAM en cours d'utilisation - confirmer réinitialisation ?"
@@ -1243,25 +1244,34 @@
 msgstr "Afficher la barre de progression (s)"
 
 msgid "Setup.Replay$Pause replay when setting mark"
-msgstr "Arrêt lecture si ajout marqueur"
+msgstr "Arrêt lecture pendant ajout marqueur"
 
 msgid "Setup.Replay$Pause replay when jumping to a mark"
-msgstr ""
+msgstr "Arrêt lecture après saut vers un marqueur"
 
 msgid "Setup.Replay$Skip edited parts"
-msgstr ""
+msgstr "Sauter les parties éditées"
 
 msgid "Setup.Replay$Pause replay at last mark"
-msgstr ""
+msgstr "Arrêt lecture au dernier marqueur"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Durée initiale pour le saut adaptatif (s)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Timeout du reset pour le saut adaptatif (s)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
-msgstr ""
+msgstr "Réduire le saut adaptatif uniquement si changement de sens"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr "Utiliser les touches Préc./Suiv. pour le saut adaptatif"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr "Distance de saut pour les touches Verte/Jaune (s)"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr "Distance de saut pour les touches Verte/Jaune en répétition (s)"
 
 msgid "Setup.Replay$Resume ID"
 msgstr "ID de reprise"
@@ -1270,7 +1280,7 @@
 msgstr "Divers"
 
 msgid "Setup.Miscellaneous$Min. event timeout (min)"
-msgstr "Temps mini entre événements (min)"
+msgstr "Temps mini entre évènements (min)"
 
 msgid "Setup.Miscellaneous$Min. user inactivity (min)"
 msgstr "Inactivité de l'utilisateur (min)"
@@ -1300,10 +1310,10 @@
 msgstr "Volume initial"
 
 msgid "Setup.Miscellaneous$Volume steps"
-msgstr ""
+msgstr "Pas du changement de volume"
 
 msgid "Setup.Miscellaneous$Volume linearize"
-msgstr ""
+msgstr "Correction de la courbe"
 
 msgid "Setup.Miscellaneous$Channels wrap"
 msgstr "Affichage circulaire des chaînes"
@@ -1385,7 +1395,7 @@
 msgstr "Accès direct : "
 
 msgid "No editing marks defined!"
-msgstr "Pas de marques d'édition définies !"
+msgstr "Pas de marqueurs d'édition définis !"
 
 msgid "No editing sequences defined!"
 msgstr "Aucune séquence d'édition définie !"
@@ -1491,7 +1501,7 @@
 
 #, c-format
 msgid "Moving dish to %.1f..."
-msgstr ""
+msgstr "Orientation de la parabole vers %.1f..."
 
 msgid "ST:TNG Panels"
 msgstr "Consoles ST:TNG"
diff -ruN vdr-2.1.9/po/hr_HR.po vdr-2.1.10/po/hr_HR.po
--- vdr-2.1.9/po/hr_HR.po	2015-02-08 13:07:17.705292630 +0100
+++ vdr-2.1.10/po/hr_HR.po	2015-02-11 11:36:31.842467240 +0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-03-17 19:00+0100\n"
 "Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
 "Language-Team: Croatian <vdr@linuxtv.org>\n"
@@ -1255,6 +1255,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID nastavka"
 
diff -ruN vdr-2.1.9/po/hu_HU.po vdr-2.1.10/po/hu_HU.po
--- vdr-2.1.9/po/hu_HU.po	2015-02-08 15:07:17.000000000 +0100
+++ vdr-2.1.10/po/hu_HU.po	2015-02-11 11:36:31.187440019 +0100
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-01-30 13:14+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2015-02-03 11:35+0200\n"
 "Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
 "Language-Team: Hungarian <vdr@linuxtv.org>\n"
@@ -801,6 +801,9 @@
 msgid "Error while queueing recording for cutting!"
 msgstr "Hiba a felvétel vágásra előkészítése közben!"
 
+msgid "Rename recording to folder name?"
+msgstr ""
+
 msgid "Delete editing marks for this recording?"
 msgstr "Töröljem a felvétel vágópontjait?"
 
@@ -1255,6 +1258,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr "Felezett ugrás csak irányváltoztatásnál"
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Lejátszás azonosító"
 
diff -ruN vdr-2.1.9/po/it_IT.po vdr-2.1.10/po/it_IT.po
--- vdr-2.1.9/po/it_IT.po	2015-02-08 13:07:17.188269318 +0100
+++ vdr-2.1.10/po/it_IT.po	2015-02-11 11:36:31.337446252 +0100
@@ -11,8 +11,8 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2015-02-05 00:09+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-09 20:26+0100\n"
 "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
 "Language-Team: Italian <vdr@linuxtv.org>\n"
 "Language: it\n"
@@ -32,7 +32,7 @@
 msgstr "Canale non disponibile!"
 
 msgid "Can't start Transfer Mode!"
-msgstr "Impossibile avviare mod. trasferimento!"
+msgstr "Impossibile avviare modalità trasferimento!"
 
 msgid "off"
 msgstr "off"
@@ -803,7 +803,7 @@
 msgstr "Errore durante l'accodamento della registrazione per il taglio!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Rinominare registrazione come nome cartella?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Eliminare i marcatori di modifica della registrazione?"
@@ -1155,7 +1155,7 @@
 msgstr "Impossibile reimpostare il modulo CAM!"
 
 msgid "do not pause live video"
-msgstr "non pausare video dal vivo"
+msgstr "non mettere in pausa il video dal vivo"
 
 msgid "confirm pause live video"
 msgstr "conferma pausa video dal vivo"
@@ -1203,13 +1203,13 @@
 msgstr "Margine VPS (s)"
 
 msgid "Setup.Recording$Mark instant recording"
-msgstr "Segna reg. immediata"
+msgstr "Segna registrazione immediata"
 
 msgid "Setup.Recording$Name instant recording"
-msgstr "Nome reg. immediata"
+msgstr "Nome registrazione immediata"
 
 msgid "Setup.Recording$Instant rec. time (min)"
-msgstr "Durata reg. immediata (min)"
+msgstr "Durata registrazione immediata (min)"
 
 msgid "Setup.Recording$present event"
 msgstr "evento attuale"
@@ -1251,12 +1251,21 @@
 msgstr "Pausa riproduzione all'ultimo marcatore"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Durata iniziale per spostamenti adattivi (s)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Reimposta scadenza per spostamenti adattivi (s)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
+msgstr "Comportamento alternativo per spostamenti adattivi"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
 msgstr ""
 
 msgid "Setup.Replay$Resume ID"
@@ -1471,10 +1480,10 @@
 msgstr "DISCO"
 
 msgid "LOAD"
-msgstr "CARICA"
+msgstr "USO"
 
 msgid "TIMERS"
-msgstr "TIMER"
+msgstr "TIMERS"
 
 msgid "DEVICES"
 msgstr "SCHEDE"
@@ -1487,7 +1496,7 @@
 
 #, c-format
 msgid "Moving dish to %.1f..."
-msgstr "Muovi antenna verso %.1f..."
+msgstr "Spostamento antenna verso %.1f..."
 
 msgid "ST:TNG Panels"
 msgstr "Consolle ST:TNG"
diff -ruN vdr-2.1.9/po/lt_LT.po vdr-2.1.10/po/lt_LT.po
--- vdr-2.1.9/po/lt_LT.po	2015-02-08 13:07:17.291273962 +0100
+++ vdr-2.1.10/po/lt_LT.po	2015-02-11 11:36:31.459451323 +0100
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2010-10-30 11:55+0200\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-09 17:08+0100\n"
 "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
 "Language-Team: Lithuanian <vdr@linuxtv.org>\n"
 "Language: lt\n"
@@ -797,7 +797,7 @@
 msgstr "Klaida sustatant įrašus į karpymo eilę!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Priskirti įrašui katalogo pavadinimą?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Ar tikrai ištrinti šio įrašo koregavimo žymes?"
@@ -1245,12 +1245,21 @@
 msgstr "Setup.Replay$Pristabdyti pakartojimą pasiekus paskutinę žymę"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Setup.Replay$Adaptyvaus peršokimo trukmė (s)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Setup.Replay$Adaptyvaus peršokimo perkrovimo užlaikymas(s)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
+msgstr "Setup.Replay$Adaptyvaus peršokimo galima elgsena"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
 msgstr ""
 
 msgid "Setup.Replay$Resume ID"
diff -ruN vdr-2.1.9/po/mk_MK.po vdr-2.1.10/po/mk_MK.po
--- vdr-2.1.9/po/mk_MK.po	2015-02-08 13:07:17.467281897 +0100
+++ vdr-2.1.10/po/mk_MK.po	2015-02-11 11:36:31.669460049 +0100
@@ -1,14 +1,14 @@
 # VDR language source file.
 # Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de>
 # This file is distributed under the same license as the VDR package.
-# Dimitar Petrovski <dimeptr@gmail.com>, 2009, 2012, 2013
+# Dimitar Petrovski <dimeptr@gmail.com>, 2009, 2012, 2013, 2015
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2012-11-19 15:18+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-08 15:18+0100\n"
 "Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
 "Language-Team: Macedonian <en@li.org>\n"
 "Language: mk\n"
@@ -21,7 +21,7 @@
 msgstr "*** Невалиден Канал ***"
 
 msgid "CAM activated!"
-msgstr ""
+msgstr "CAM активиран!"
 
 msgid "Channel not available!"
 msgstr "Каналот е недостапен!"
@@ -81,13 +81,13 @@
 msgstr "StreamId"
 
 msgid "Pilot"
-msgstr ""
+msgstr "Пилот"
 
 msgid "T2SystemId"
-msgstr ""
+msgstr "Т2СистемИд"
 
 msgid "SISO/MISO"
-msgstr ""
+msgstr "СИСО/МИСО"
 
 msgid "Starting EPG scan"
 msgstr "Започнувам скенирање на EPG"
@@ -577,10 +577,10 @@
 msgstr "Sid"
 
 msgid "Nid"
-msgstr ""
+msgstr "Nid"
 
 msgid "Tid"
-msgstr ""
+msgstr "Tid"
 
 msgid "Channel settings are not unique!"
 msgstr "Уредбите на каналот не се уникатни!"
@@ -743,74 +743,74 @@
 msgstr "CAM не одговара!"
 
 msgid "Edit path"
-msgstr ""
+msgstr "Уреди патека"
 
 msgid "Folder"
-msgstr ""
+msgstr "Папка"
 
 msgid "This folder is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Оваа папка е моментално во употреба - промени не се возможни!"
 
 #, c-format
 msgid "Move entire folder containing %d recordings?"
-msgstr ""
+msgstr "Помести цела папка со %d снимки?"
 
 msgid "Error while moving folder!"
-msgstr ""
+msgstr "Грешка при поместување папка!"
 
 msgid "Edit recording"
-msgstr ""
+msgstr "Уреди снимка"
 
 msgid "This recording is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Оваа снимка е моментално во употреба - промени не се возможни!"
 
 msgid "Button$Cancel cutting"
-msgstr ""
+msgstr "Откажи сечење"
 
 msgid "Button$Stop cutting"
-msgstr ""
+msgstr "Запри сечење"
 
 msgid "Button$Cancel moving"
-msgstr ""
+msgstr "Откажи преместување"
 
 msgid "Button$Stop moving"
-msgstr ""
+msgstr "Запри преместување"
 
 msgid "Button$Cancel copying"
-msgstr ""
+msgstr "Откажи копирање"
 
 msgid "Button$Stop copying"
-msgstr ""
+msgstr "Запри копирање"
 
 msgid "Button$Cut"
-msgstr ""
+msgstr "Сечи"
 
 msgid "Button$Delete marks"
-msgstr ""
+msgstr "Избриши ознаки"
 
 msgid "Recording vanished!"
-msgstr ""
+msgstr "Снимката исчезна!"
 
 msgid "Edited version already exists - overwrite?"
-msgstr ""
+msgstr "Уредена верзија веќе постои - пребриши?"
 
 msgid "Error while queueing recording for cutting!"
-msgstr ""
+msgstr "Грешка при редење на снимка за сечење!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Преименувај ја снимката како името на папката?"
 
 msgid "Delete editing marks for this recording?"
-msgstr ""
+msgstr "Бриши ознаки за уредување за оваа снимка?"
 
 msgid "Error while deleting editing marks!"
-msgstr ""
+msgstr "Грешка при бришење на ознака за уредување!"
 
 msgid "Error while changing priority/lifetime!"
-msgstr ""
+msgstr "Грешка при промена на приоритет/траење!"
 
 msgid "Error while changing folder/name!"
-msgstr ""
+msgstr "Грешка при промена на папка/име!"
 
 msgid "Recording info"
 msgstr "Детали на снимката"
@@ -1080,31 +1080,31 @@
 msgstr "свој"
 
 msgid "Setup.LNB$Use dish positioner"
-msgstr ""
+msgstr "Користи позиционер за чинија"
 
 msgid "Setup.LNB$Site latitude (degrees)"
-msgstr ""
+msgstr "Латидута на локацијата (степени)"
 
 msgid "South"
-msgstr ""
+msgstr "Југ"
 
 msgid "North"
-msgstr ""
+msgstr "Север"
 
 msgid "Setup.LNB$Site longitude (degrees)"
-msgstr ""
+msgstr "Лонгитуда на локацијата (степени)"
 
 msgid "West"
-msgstr ""
+msgstr "Запад"
 
 msgid "East"
-msgstr ""
+msgstr "Исток"
 
 msgid "Setup.LNB$Max. positioner swing (degrees)"
-msgstr ""
+msgstr "Максимален од на позиционерот (степени)"
 
 msgid "Setup.LNB$Positioner speed (degrees/s)"
-msgstr ""
+msgstr "Брзина на позиционерот (степени/сек)"
 
 msgid "CAM reset"
 msgstr "Рестартирај CAM"
@@ -1117,16 +1117,16 @@
 
 #. TRANSLATORS: note the leading blank!
 msgid " (activating)"
-msgstr ""
+msgstr " (активирање)"
 
 msgid "CAM"
 msgstr "CAM"
 
 msgid "Button$Cancel activation"
-msgstr ""
+msgstr "Откажи активација"
 
 msgid "Button$Activate"
-msgstr ""
+msgstr "Активирај"
 
 msgid "Button$Menu"
 msgstr "Мени"
@@ -1141,7 +1141,7 @@
 msgstr "Неуспешно отварање на CAM менито!"
 
 msgid "Can't activate CAM!"
-msgstr ""
+msgstr "Неуспешно активирање на CAM!"
 
 msgid "CAM is in use - really reset?"
 msgstr "CAM е во употреба - рестартирај?"
@@ -1237,21 +1237,30 @@
 msgstr "Паузирај репродукција кога се внесува ознака"
 
 msgid "Setup.Replay$Pause replay when jumping to a mark"
-msgstr ""
+msgstr "Паузирај репродукција кога се скока до ознака"
 
 msgid "Setup.Replay$Skip edited parts"
-msgstr ""
+msgstr "Прескокни ги уредуваните делови"
 
 msgid "Setup.Replay$Pause replay at last mark"
-msgstr ""
+msgstr "Паузирај репродукција на последанта ознака"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Почетно траење на адаптабилно скокање (сек)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Време на ресетирање за адаптабилно скокање (сек)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
+msgstr "Алтернативно однесување за адаптабилно скокање"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
 msgstr ""
 
 msgid "Setup.Replay$Resume ID"
@@ -1291,10 +1300,10 @@
 msgstr "Почетна јачина на звук"
 
 msgid "Setup.Miscellaneous$Volume steps"
-msgstr ""
+msgstr "Чекори на јачина на звук"
 
 msgid "Setup.Miscellaneous$Volume linearize"
-msgstr ""
+msgstr "Линеаризациај на јачина на звук"
 
 msgid "Setup.Miscellaneous$Channels wrap"
 msgstr "Премотување канали"
@@ -1482,7 +1491,7 @@
 
 #, c-format
 msgid "Moving dish to %.1f..."
-msgstr ""
+msgstr "Движење на чинијата кон %.1f..."
 
 msgid "ST:TNG Panels"
 msgstr "ST:TNG Панели"
diff -ruN vdr-2.1.9/po/nl_NL.po vdr-2.1.10/po/nl_NL.po
--- vdr-2.1.9/po/nl_NL.po	2015-02-08 13:07:17.222270850 +0100
+++ vdr-2.1.10/po/nl_NL.po	2015-02-11 11:36:31.380448038 +0100
@@ -7,14 +7,15 @@
 # Carel Willemse <carel@nekanali.nl>, 2008, 2013
 # Johan Schuring <johan.schuring@vetteblei.nl>, 2008
 # Cedric Dewijs <cedric.dewijs@telfort.nl>, 2013
+# Erik Oomen <oomen.e@gmail.com>, 2015
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2008-02-26 17:20+0100\n"
-"Last-Translator: Cedric Dewijs <cedric.dewijs@telfort.nl>\n"
+"POT-Creation-Date: 2015-02-11 10:51+0100\n"
+"PO-Revision-Date: 2015-02-10 19:43+0100\n"
+"Last-Translator: Erik Oomen <oomen.e@gmail.com>\n"
 "Language-Team: Dutch <vdr@linuxtv.org>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
@@ -25,7 +26,7 @@
 msgstr "*** Ongeldig kanaal ***"
 
 msgid "CAM activated!"
-msgstr ""
+msgstr "CAM geactiveerd!"
 
 msgid "Channel not available!"
 msgstr "Kanaal niet beschikbaar"
@@ -85,13 +86,13 @@
 msgstr "StreamId"
 
 msgid "Pilot"
-msgstr ""
+msgstr "Piloot"
 
 msgid "T2SystemId"
-msgstr ""
+msgstr "T2SystemId"
 
 msgid "SISO/MISO"
-msgstr ""
+msgstr "SISO/MISO"
 
 msgid "Starting EPG scan"
 msgstr "Bezig met starten EPG scan"
@@ -581,10 +582,10 @@
 msgstr "Sid"
 
 msgid "Nid"
-msgstr ""
+msgstr "Nid"
 
 msgid "Tid"
-msgstr ""
+msgstr "Tid"
 
 msgid "Channel settings are not unique!"
 msgstr "Kanaalinstellingen zijn niet uniek!"
@@ -747,74 +748,74 @@
 msgstr "CAM reageert niet!"
 
 msgid "Edit path"
-msgstr ""
+msgstr "Pad bewerken"
 
 msgid "Folder"
-msgstr ""
+msgstr "Map"
 
 msgid "This folder is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Deze map is momenteel in gebruik - geen wijzigingen zijn mogelijk!"
 
 #, c-format
 msgid "Move entire folder containing %d recordings?"
-msgstr ""
+msgstr "Verplaats hele map met %d -opnames?"
 
 msgid "Error while moving folder!"
-msgstr ""
+msgstr "Fout tijdens het verplaatsen van de map!"
 
 msgid "Edit recording"
-msgstr ""
+msgstr "Opname bewerken"
 
 msgid "This recording is currently in use - no changes are possible!"
-msgstr ""
+msgstr "Deze opname is momenteel in gebruik - geen wijzigingen zijn mogelijk!"
 
 msgid "Button$Cancel cutting"
-msgstr ""
+msgstr "Knippen afbreken"
 
 msgid "Button$Stop cutting"
-msgstr ""
+msgstr "Knippen stoppen"
 
 msgid "Button$Cancel moving"
-msgstr ""
+msgstr "Verplaatsen afbreken"
 
 msgid "Button$Stop moving"
-msgstr ""
+msgstr "Stoppen met verplaatsen"
 
 msgid "Button$Cancel copying"
-msgstr ""
+msgstr "Kopi�ren afbreken"
 
 msgid "Button$Stop copying"
-msgstr ""
+msgstr "Stop kopi�ren"
 
 msgid "Button$Cut"
-msgstr ""
+msgstr "Knip"
 
 msgid "Button$Delete marks"
-msgstr ""
+msgstr "Verwijder markeringen"
 
 msgid "Recording vanished!"
-msgstr ""
+msgstr "Opname verdwenen!"
 
 msgid "Edited version already exists - overwrite?"
-msgstr ""
+msgstr "Bewerkte versie bestaat al - overschrijven?"
 
 msgid "Error while queueing recording for cutting!"
-msgstr ""
+msgstr "Kan opname voor knippen niet in wachtrij plaatsen!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Opname hernoemen naar mapnaam?"
 
 msgid "Delete editing marks for this recording?"
-msgstr ""
+msgstr "Verwijder bewerkings markeringen voor deze opnamen?"
 
 msgid "Error while deleting editing marks!"
-msgstr ""
+msgstr "Fout bij het verwijderen van alle bewerkings markeringen!"
 
 msgid "Error while changing priority/lifetime!"
-msgstr ""
+msgstr "Fout tijdens het wijzigen prioriteit / duur!"
 
 msgid "Error while changing folder/name!"
-msgstr ""
+msgstr "Fout tijdens het wijzigen map / naam!"
 
 msgid "Recording info"
 msgstr "Opname info"
@@ -919,7 +920,7 @@
 msgstr "Kanaal info tonen"
 
 msgid "Setup.OSD$Timeout requested channel info"
-msgstr "Tijdsduur opgevraagde kanaalinfo."
+msgstr "Timout opgevraagde kanaalinfo"
 
 msgid "Setup.OSD$Scroll pages"
 msgstr "Scrollen per pagina"
@@ -1084,31 +1085,31 @@
 msgstr "eigen"
 
 msgid "Setup.LNB$Use dish positioner"
-msgstr ""
+msgstr "Gebruik schotel positioner"
 
 msgid "Setup.LNB$Site latitude (degrees)"
-msgstr ""
+msgstr "Plaats breedtegraad (graden)"
 
 msgid "South"
-msgstr ""
+msgstr "Zuiden"
 
 msgid "North"
-msgstr ""
+msgstr "Noorden"
 
 msgid "Setup.LNB$Site longitude (degrees)"
-msgstr ""
+msgstr "Plaats lengtegraad (graden)"
 
 msgid "West"
-msgstr ""
+msgstr "Westen"
 
 msgid "East"
-msgstr ""
+msgstr "Oosten"
 
 msgid "Setup.LNB$Max. positioner swing (degrees)"
-msgstr ""
+msgstr "Max. positioner swing (graden)"
 
 msgid "Setup.LNB$Positioner speed (degrees/s)"
-msgstr ""
+msgstr "Positioner snelheid (graden / s)"
 
 msgid "CAM reset"
 msgstr "CAM herstarten"
@@ -1121,16 +1122,16 @@
 
 #. TRANSLATORS: note the leading blank!
 msgid " (activating)"
-msgstr ""
+msgstr " (Activeren)"
 
 msgid "CAM"
 msgstr "CAM"
 
 msgid "Button$Cancel activation"
-msgstr ""
+msgstr "Anuleer activering"
 
 msgid "Button$Activate"
-msgstr ""
+msgstr "Activeer"
 
 msgid "Button$Menu"
 msgstr "Menu"
@@ -1145,7 +1146,7 @@
 msgstr "Kan CAM-menu niet openen!"
 
 msgid "Can't activate CAM!"
-msgstr ""
+msgstr "Kan CAM niet te activeren!"
 
 msgid "CAM is in use - really reset?"
 msgstr "CAM wordt gebruikt - werkelijk herstarten?"
@@ -1241,22 +1242,31 @@
 msgstr "Pauzeer wanneer markering wordt geplaatst"
 
 msgid "Setup.Replay$Pause replay when jumping to a mark"
-msgstr ""
+msgstr "Pauzeer bij het springen naar een markering"
 
 msgid "Setup.Replay$Skip edited parts"
-msgstr ""
+msgstr "Sla bewerkte onderdelen over"
 
 msgid "Setup.Replay$Pause replay at last mark"
-msgstr ""
+msgstr "Pauzeer bij laatste markering"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Initi�le duur bij adaptief overslaan"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Reset Time-out voor adaptief overslaan"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
-msgstr ""
+msgstr "Alternatief gedrag voor adaptief overslaan"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr "Gebruik Vorige/Volgende toetsen voor adaptief overslaan"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr "Spoel sprong met groene en gele toetsen (s)"
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr "Spoel sprong met groene en gele toesten in repeteerstand (s)"
 
 msgid "Setup.Replay$Resume ID"
 msgstr "Hervattings ID"
@@ -1295,10 +1305,10 @@
 msgstr "Opstartvolume"
 
 msgid "Setup.Miscellaneous$Volume steps"
-msgstr ""
+msgstr "Volume stappen"
 
 msgid "Setup.Miscellaneous$Volume linearize"
-msgstr ""
+msgstr "Volume lineariseren"
 
 msgid "Setup.Miscellaneous$Channels wrap"
 msgstr "Doorscrollen kanalenlijst"
@@ -1486,7 +1496,7 @@
 
 #, c-format
 msgid "Moving dish to %.1f..."
-msgstr ""
+msgstr "Schotel verplaatsen naar% .1f ..."
 
 msgid "ST:TNG Panels"
 msgstr "ST:TNG Consoles"
diff -ruN vdr-2.1.9/po/nn_NO.po vdr-2.1.10/po/nn_NO.po
--- vdr-2.1.9/po/nn_NO.po	2015-02-08 13:07:17.667290917 +0100
+++ vdr-2.1.10/po/nn_NO.po	2015-02-11 11:36:31.802465577 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2007-08-12 14:17+0200\n"
 "Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
 "Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Resume ID"
 
diff -ruN vdr-2.1.9/po/pl_PL.po vdr-2.1.10/po/pl_PL.po
--- vdr-2.1.9/po/pl_PL.po	2015-02-08 13:07:16.805252046 +0100
+++ vdr-2.1.10/po/pl_PL.po	2015-02-11 11:36:30.916428756 +0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-03-09 12:59+0100\n"
 "Last-Translator: Marek Nazarko <mnazarko@gmail.com>\n"
 "Language-Team: Polish <vdr@linuxtv.org>\n"
@@ -1255,6 +1255,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID wznowienia"
 
diff -ruN vdr-2.1.9/po/pt_PT.po vdr-2.1.10/po/pt_PT.po
--- vdr-2.1.9/po/pt_PT.po	2015-02-08 13:07:16.770250469 +0100
+++ vdr-2.1.10/po/pt_PT.po	2015-02-11 11:36:30.870426845 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2010-03-28 22:49+0100\n"
 "Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
 "Language-Team: Portuguese <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID de resumo"
 
diff -ruN vdr-2.1.9/po/ro_RO.po vdr-2.1.10/po/ro_RO.po
--- vdr-2.1.9/po/ro_RO.po	2015-02-08 13:07:16.911256826 +0100
+++ vdr-2.1.10/po/ro_RO.po	2015-02-11 11:36:31.030433495 +0100
@@ -8,8 +8,8 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2015-02-06 23:15+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-09 00:23+0100\n"
 "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
 "Language-Team: Romanian <vdr@linuxtv.org>\n"
 "Language: ro\n"
@@ -799,7 +799,7 @@
 msgstr "Eroare la punerea în coada pentru tăiere!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Redenumesc înregistrarea ca pe director?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Șterg marcajele de editare pentru această înregistrare?"
@@ -1255,6 +1255,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr "Strategie alternativă pentru săritul adaptiv al marcajelor"
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "Identificator continuare"
 
diff -ruN vdr-2.1.9/po/ru_RU.po vdr-2.1.10/po/ru_RU.po
--- vdr-2.1.9/po/ru_RU.po	2015-02-08 13:07:17.736294028 +0100
+++ vdr-2.1.10/po/ru_RU.po	2015-02-11 11:36:31.887469109 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-03-10 17:13+0100\n"
 "Last-Translator: Oleg Roitburd <oroitburd@gmail.com>\n"
 "Language-Team: Russian <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID ���������������"
 
diff -ruN vdr-2.1.9/po/sk_SK.po vdr-2.1.10/po/sk_SK.po
--- vdr-2.1.9/po/sk_SK.po	2015-02-08 13:07:17.543285324 +0100
+++ vdr-2.1.10/po/sk_SK.po	2015-02-11 11:36:31.753463540 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-03-04 21:24+0100\n"
 "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
 "Language-Team: Slovak <vdr@linuxtv.org>\n"
@@ -1253,6 +1253,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ident. ��slo obnovenia prehr�vania"
 
diff -ruN vdr-2.1.9/po/sl_SI.po vdr-2.1.10/po/sl_SI.po
--- vdr-2.1.9/po/sl_SI.po	2015-02-08 13:07:17.769295515 +0100
+++ vdr-2.1.10/po/sl_SI.po	2015-02-11 11:36:31.922470564 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-03-04 12:46+0100\n"
 "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
 "Language-Team: Slovenian <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID za predvajanje"
 
diff -ruN vdr-2.1.9/po/sr_RS.po vdr-2.1.10/po/sr_RS.po
--- vdr-2.1.9/po/sr_RS.po	2015-02-08 13:07:16.846253895 +0100
+++ vdr-2.1.10/po/sr_RS.po	2015-02-11 11:36:30.952430252 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-03-16 15:05+0100\n"
 "Last-Translator: Zoran Turalija <zoran.turalija@gmail.com>\n"
 "Language-Team: Serbian <vdr@linuxtv.org>\n"
@@ -1254,6 +1254,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "ID reprodukcije"
 
diff -ruN vdr-2.1.9/po/sv_SE.po vdr-2.1.10/po/sv_SE.po
--- vdr-2.1.9/po/sv_SE.po	2015-02-08 13:07:17.325275494 +0100
+++ vdr-2.1.10/po/sv_SE.po	2015-02-11 11:36:31.497452902 +0100
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-02-18 17:04+0100\n"
 "Last-Translator: Richard Lithvall <r-vdr@boomer.se>\n"
 "Language-Team: Swedish <vdr@linuxtv.org>\n"
@@ -1257,6 +1257,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "�terupptagnings-ID"
 
diff -ruN vdr-2.1.9/po/tr_TR.po vdr-2.1.10/po/tr_TR.po
--- vdr-2.1.9/po/tr_TR.po	2015-02-08 13:07:17.011261336 +0100
+++ vdr-2.1.10/po/tr_TR.po	2015-02-11 11:36:31.149438440 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2008-02-28 00:33+0100\n"
 "Last-Translator: Oktay Yolge�en <oktay_73@yahoo.de>\n"
 "Language-Team: Turkish <vdr@linuxtv.org>\n"
@@ -1253,6 +1253,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "G�steri� ID'si"
 
diff -ruN vdr-2.1.9/po/uk_UA.po vdr-2.1.10/po/uk_UA.po
--- vdr-2.1.9/po/uk_UA.po	2015-02-08 13:07:17.153267738 +0100
+++ vdr-2.1.10/po/uk_UA.po	2015-02-11 11:36:31.297444589 +0100
@@ -1,14 +1,14 @@
 # VDR language source file.
 # Copyright (C) 2013 Klaus Schmidinger <vdr@tvdr.de>
 # This file is distributed under the same license as the VDR package.
-# Yarema Aka Knedlyk <yupadmin@gmail.com>, 2007-2010, 2013
+# Yarema Aka Knedlyk <yupadmin@gmail.com>, 2007-2010, 2013, 2015
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
-"PO-Revision-Date: 2015-02-01 23:31+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
+"PO-Revision-Date: 2015-02-08 16:03+0100\n"
 "Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
 "Language-Team: Ukrainian <vdr@linuxtv.org>\n"
 "Language: uk\n"
@@ -798,7 +798,7 @@
 msgstr "Помилка перешуковування запису для обрізання!"
 
 msgid "Rename recording to folder name?"
-msgstr ""
+msgstr "Назвати запис назвою теки?"
 
 msgid "Delete editing marks for this recording?"
 msgstr "Вилучити мітки редагування для цього запису?"
@@ -1246,12 +1246,21 @@
 msgstr "Призупинити програвання на останній мітці"
 
 msgid "Setup.Replay$Initial duration for adaptive skipping (s)"
-msgstr ""
+msgstr "Початкова тривалість для адаптивного пропуску (ів)"
 
 msgid "Setup.Replay$Reset timeout for adaptive skipping (s)"
-msgstr ""
+msgstr "Скинути тайм-аут для адаптивного пропуску (ів)"
 
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
+msgstr "Альтернативна поведінка для адаптивного пропуску (ів)"
+
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
 msgstr ""
 
 msgid "Setup.Replay$Resume ID"
diff -ruN vdr-2.1.9/po/zh_CN.po vdr-2.1.10/po/zh_CN.po
--- vdr-2.1.9/po/zh_CN.po	2015-02-08 13:07:17.392278515 +0100
+++ vdr-2.1.10/po/zh_CN.po	2015-02-11 11:36:31.584456516 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: VDR 2.0.0\n"
 "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
-"POT-Creation-Date: 2015-02-07 17:08+0100\n"
+"POT-Creation-Date: 2015-02-10 13:40+0100\n"
 "PO-Revision-Date: 2013-03-04 14:52+0800\n"
 "Last-Translator: NFVDR <nfvdr@live.com>\n"
 "Language-Team: Chinese (simplified) <nfvdr@live.com>\n"
@@ -1255,6 +1255,15 @@
 msgid "Setup.Replay$Alternate behavior for adaptive skipping"
 msgstr ""
 
+msgid "Setup.Replay$Use Prev/Next keys for adaptive skipping"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys (s)"
+msgstr ""
+
+msgid "Setup.Replay$Skip distance with Green/Yellow keys in repeat (s)"
+msgstr ""
+
 msgid "Setup.Replay$Resume ID"
 msgstr "恢复 ID"
 
diff -ruN vdr-2.1.9/vdr.1 vdr-2.1.10/vdr.1
--- vdr-2.1.9/vdr.1	2015-01-20 16:34:29.000000000 +0100
+++ vdr-2.1.10/vdr.1	2015-02-10 14:59:11.000000000 +0100
@@ -8,7 +8,7 @@
 .\" License as specified in the file COPYING that comes with the
 .\" vdr distribution.
 .\"
-.\" $Id: vdr.1 3.4 2015/01/20 15:34:29 kls Exp $
+.\" $Id: vdr.1 3.5 2015/02/10 13:59:11 kls Exp $
 .\"
 .TH vdr 1 "31 Mar 2013" "2.0" "Video Disk Recorder"
 .SH NAME
@@ -49,6 +49,11 @@
 Save cache files in \fIdir\fR
 (default is to save them in the video directory).
 .TP
+.BI \-\-chartab= character_table
+Set the character table to use for strings in the DVB data stream that don't begin
+with a character table indicator, but don't use the standard default character table
+(for instance ISO-8859-9).
+.TP
 .BI \-c\  dir ,\ \-\-config= dir
 Read config files from directory \fIdir\fR
 (default is to read them from the video directory).
diff -ruN vdr-2.1.9/vdr.c vdr-2.1.10/vdr.c
--- vdr-2.1.9/vdr.c	2015-01-17 15:48:09.000000000 +0100
+++ vdr-2.1.10/vdr.c	2015-02-10 15:13:12.000000000 +0100
@@ -22,7 +22,7 @@
  *
  * The project's page is at http://www.tvdr.de
  *
- * $Id: vdr.c 3.15 2015/01/17 14:48:09 kls Exp $
+ * $Id: vdr.c 3.16 2015/02/10 14:13:12 kls Exp $
  */
 
 #include <getopt.h>
@@ -216,6 +216,12 @@
   bool MuteAudio = false;
   int WatchdogTimeout = DEFAULTWATCHDOG;
   const char *Terminal = NULL;
+  const char *OverrideCharacterTable = NULL;
+#define DEPRECATED_VDR_CHARSET_OVERRIDE
+#ifdef DEPRECATED_VDR_CHARSET_OVERRIDE
+  OverrideCharacterTable = getenv("VDR_CHARSET_OVERRIDE");
+  const char *DeprecatedVdrCharsetOverride = OverrideCharacterTable;
+#endif
 
   bool UseKbd = true;
   const char *LircDevice = NULL;
@@ -244,6 +250,7 @@
   static struct option long_options[] = {
       { "audio",    required_argument, NULL, 'a' },
       { "cachedir", required_argument, NULL, 'c' | 0x100 },
+      { "chartab",  required_argument, NULL, 'c' | 0x200 },
       { "config",   required_argument, NULL, 'c' },
       { "daemon",   no_argument,       NULL, 'd' },
       { "device",   required_argument, NULL, 'D' },
@@ -287,6 +294,9 @@
           case 'c' | 0x100:
                     CacheDirectory = optarg;
                     break;
+          case 'c' | 0x200:
+                    OverrideCharacterTable = optarg;
+                    break;
           case 'c': ConfigDirectory = optarg;
                     break;
           case 'd': DaemonMode = true;
@@ -517,6 +527,11 @@
         printf("Usage: vdr [OPTIONS]\n\n"          // for easier orientation, this is column 80|
                "  -a CMD,   --audio=CMD    send Dolby Digital audio to stdin of command CMD\n"
                "            --cachedir=DIR save cache files in DIR (default: %s)\n"
+               "            --chartab=CHARACTER_TABLE\n"
+               "                           set the character table to use for strings in the\n"
+               "                           DVB data stream that don't begin with a character\n"
+               "                           table indicator, but don't use the standard default\n"
+               "                           character table (for instance ISO-8859-9)\n"
                "  -c DIR,   --config=DIR   read config files from DIR (default: %s)\n"
                "  -d,       --daemon       run in daemon mode\n"
                "  -D NUM,   --device=NUM   use only the given DVB device (NUM = 0, 1, 2...)\n"
@@ -674,6 +689,14 @@
      isyslog("codeset is '%s' - %s", CodeSet, known ? "known" : "unknown");
      cCharSetConv::SetSystemCharacterTable(CodeSet);
      }
+#ifdef DEPRECATED_VDR_CHARSET_OVERRIDE
+  if (DeprecatedVdrCharsetOverride)
+     isyslog("use of environment variable VDR_CHARSET_OVERRIDE (%s) is deprecated!", DeprecatedVdrCharsetOverride);
+#endif
+  if (OverrideCharacterTable) {
+     isyslog("override character table is '%s'", OverrideCharacterTable);
+     SI::SetOverrideCharacterTable(OverrideCharacterTable);
+     }
 
   // Initialize internationalization:
 
