Version 1.5.11

- Fixed checking compatibility mode for old subtitles plugin (thanks to Marco
  Schlüßler).
- Updated the French OSD texts (thanks to Michael Nival).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The "Play" key now starts replay of the selected recording in the Recordings
  menu (thanks to Ville Skyttä);
- Improved shutdown handling (thanks to Udo Richter).
- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter).
- Added more special characters to the list of allowed characters when entering
  strings (thanks to Thomas Günther).
- Added Ukrainian language texts (thanks to Yarema Aka Knedlyk).
- Added a workaround for recovering from wrongfully interpreted "pre 1.3.19 PS1 packets".
- Fixed a possible blocking in replay when subtitles are active.
- Fixed displaying subtitles in live mode.
- Fixed handling CONFDIR (thanks to Rolf Ahrenberg).
- Added some missing 'const' keywords (thanks to Sascha Volkenandt).
- The 'Allowed' parameter in cMenuEditStrItem() is now NULL by default, which results
  in using tr(FileNameChars) (suggested by Thomas Günther).
- Added a missing '.' to the date returned by DayDateTime() (thanks to Lauri Nurmi).
- Improved the 'i18n' target in the Makefile to avoid unnecessary work (thanks to
  Stefan Huelswitt). The 'newplugin' and 'i18n-to-gettext.pl' scripts have been
  changed accordingly. Plugin authors may want to adjust the 'i18n' target
  of their Makefiles.
- Fixed a crash if no fonts are found (thanks to Mario Ivankovits and Clemens
  Kirchgatterer).
- Fixed decoding filename characters in case there are not two hex digits after
  the '#' (reported by Helmut Auer).
This commit is contained in:
Klaus Schmidinger
2007-11-04 18:00:00 +01:00
parent dbf38b7c68
commit 182cd78af0
45 changed files with 1355 additions and 268 deletions

View File

@@ -222,6 +222,7 @@ Stefan Huelswitt <huels@iname.com>
for reporting a double fdopen() in cPipe::Open() for reporting a double fdopen() in cPipe::Open()
for suggesting to increase the APIVERSION to allow plugins that relied on the for suggesting to increase the APIVERSION to allow plugins that relied on the
cStatus::MsgSetVolume() bug to react properly cStatus::MsgSetVolume() bug to react properly
for improving the 'i18n' target in the Makefile to avoid unnecessary work
Ulrich R<>der <roeder@efr-net.de> Ulrich R<>der <roeder@efr-net.de>
for pointing out that there are channels that have a symbol rate higher than 27500 for pointing out that there are channels that have a symbol rate higher than 27500
@@ -587,6 +588,8 @@ Helmut Auer <vdr@helmutauer.de>
is a recording going on or about to start, and the user insists in shutting down now is a recording going on or about to start, and the user insists in shutting down now
for suggesting to make the channel entry timeout configurable for suggesting to make the channel entry timeout configurable
for a patch that was used to implement the SVDRP command REMO for a patch that was used to implement the SVDRP command REMO
for reporting a possible crash in decoding filename characters in case there are
not two hex digits after the '#'
Jeremy Hall <jhall@UU.NET> Jeremy Hall <jhall@UU.NET>
for fixing an incomplete initialization of the filter parameters in eit.c for fixing an incomplete initialization of the filter parameters in eit.c
@@ -743,6 +746,7 @@ Georg Hitsch <georg@hitsch.at>
Clemens Kirchgatterer <clemens@thf.ath.cx> Clemens Kirchgatterer <clemens@thf.ath.cx>
for suggesting to change source directory name for plugins from 'SRC' to 'src' for suggesting to change source directory name for plugins from 'SRC' to 'src'
for reporting a problem with user defined CFLAGS in libdtv/libvdr/Makefile for reporting a problem with user defined CFLAGS in libdtv/libvdr/Makefile
for suggesting an error log message if no fonts are found
Emil Naepflein <Emil.Naepflein@philosys.de> Emil Naepflein <Emil.Naepflein@philosys.de>
for suggesting to take an active SVDRP connection into account when doing shutdown or for suggesting to take an active SVDRP connection into account when doing shutdown or
@@ -889,6 +893,7 @@ Ludwig Nussel <ludwig.nussel@web.de>
for a patch that was used for implementing setting the user id for a patch that was used for implementing setting the user id
for pointing out that the canonical spelling of codesets is with '-' for pointing out that the canonical spelling of codesets is with '-'
for a hint on using _nl_msg_cat_cntr for a hint on using _nl_msg_cat_cntr
for adding some missing 'const' keywords
Thomas Koch <tom@harhar.net> Thomas Koch <tom@harhar.net>
for his support in keeping the Premiere World channels up to date in 'channels.conf' for his support in keeping the Premiere World channels up to date in 'channels.conf'
@@ -1028,6 +1033,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
the subtitles plugin the subtitles plugin
for implementing cDevice::CloseFilter() for implementing cDevice::CloseFilter()
for some fixes to PLUGINS.html for some fixes to PLUGINS.html
for fixing handling CONFDIR
Ralf Klueber <ralf.klueber@vodafone.com> Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark for reporting a bug in cutting a recording if there is only a single editing mark
@@ -1430,6 +1436,7 @@ Marco Schl
for implementing handling DVB subtitles for implementing handling DVB subtitles
for fixing the description of DeviceSetAvailableTrack() and cReceiver(), and adding for fixing the description of DeviceSetAvailableTrack() and cReceiver(), and adding
an example ~cMyReceiver() in PLUGINS.html (thanks to Marco Schl<68><6C>ler). an example ~cMyReceiver() in PLUGINS.html (thanks to Marco Schl<68><6C>ler).
for fixing checking compatibility mode for old subtitles plugin
J<EFBFBD>rgen Schmitz <j.schmitz@web.de> J<EFBFBD>rgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP
@@ -1535,6 +1542,8 @@ Udo Richter <udo_richter@gmx.de>
for adding a missing error report to cCuttingThread::Action() for adding a missing error report to cCuttingThread::Action()
for reporting a problem in handling reallocated memory in cCharSetConv::Convert() for reporting a problem in handling reallocated memory in cCharSetConv::Convert()
for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode() for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode()
for improving shutdown handling
for making housekeeping wait for a while after a replay has ended
Sven Kreiensen <svenk@kammer.uni-hannover.de> Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date for his help in keeping 'channels.conf.terr' up to date
@@ -1709,6 +1718,8 @@ Ville Skytt
for suggesting to add the "...or (at your option) any later version" phrase to the for suggesting to add the "...or (at your option) any later version" phrase to the
license information of all plugins, and also the 'newplugin' script license information of all plugins, and also the 'newplugin' script
for fixing the link to the GPL2 at http://www.gnu.org in vdr.c for fixing the link to the GPL2 at http://www.gnu.org in vdr.c
for making the "Play" key start replay of the selected recording in the Recordings
menu
Steffen Beyer <cpunk@reactor.de> Steffen Beyer <cpunk@reactor.de>
for fixing setting the colored button help after deleting a recording in case the next for fixing setting the colored button help after deleting a recording in case the next
@@ -1788,6 +1799,10 @@ Thomas G
for removing a duplicate ',' from the ca_ES.po file for removing a duplicate ',' from the ca_ES.po file
for suggesting to add the '<27>' character to the "allowed characters" in the for suggesting to add the '<27>' character to the "allowed characters" in the
de_DE.po file de_DE.po file
for adding more special characters to the list of allowed characters when entering
strings
for suggesting to make the 'Allowed' parameter in cMenuEditStrItem() NULL by default,
which results in using tr(FileNameChars)
David Woodhouse <dwmw2@infradead.org> David Woodhouse <dwmw2@infradead.org>
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
@@ -2210,3 +2225,15 @@ Elias Luttinen <el@iki.fi>
Torsten Kunkel <vdrml@tkunkel.de> Torsten Kunkel <vdrml@tkunkel.de>
for pointing out that it was not obvious how to initiate internationalization for pointing out that it was not obvious how to initiate internationalization
support for a plugin support for a plugin
Michael Nival <mnival@club-internet.fr>
for translating OSD texts to the French language
Yarema Aka Knedlyk <yupadmin@gmail.com>
for translating OSD texts to the Ukrainian language
Lauri Nurmi <lanurmi@iki.fi>
for adding a missing '.' to the date returned by DayDateTime()
Mario Ivankovits <mario@ops.co.at>
for fixing a crash if no fonts are found

31
HISTORY
View File

@@ -5487,3 +5487,34 @@ Video Disk Recorder Revision History
- Added cDevice::CloseFilter() to allow a device to have complete control over - Added cDevice::CloseFilter() to allow a device to have complete control over
both opening and closing section filters (thanks to Rolf Ahrenberg). both opening and closing section filters (thanks to Rolf Ahrenberg).
- Some fixes to PLUGINS.html (thanks to Rolf Ahrenberg). - Some fixes to PLUGINS.html (thanks to Rolf Ahrenberg).
2007-11-04: Version 1.5.11
- Fixed checking compatibility mode for old subtitles plugin (thanks to Marco
Schl<68><6C>ler).
- Updated the French OSD texts (thanks to Michael Nival).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The "Play" key now starts replay of the selected recording in the Recordings
menu (thanks to Ville Skytt<74>);
- Improved shutdown handling (thanks to Udo Richter).
- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter).
- Added more special characters to the list of allowed characters when entering
strings (thanks to Thomas G<>nther).
- Added Ukrainian language texts (thanks to Yarema Aka Knedlyk).
- Added a workaround for recovering from wrongfully interpreted "pre 1.3.19 PS1 packets".
- Fixed a possible blocking in replay when subtitles are active.
- Fixed displaying subtitles in live mode.
- Fixed handling CONFDIR (thanks to Rolf Ahrenberg).
- Added some missing 'const' keywords (thanks to Sascha Volkenandt).
- The 'Allowed' parameter in cMenuEditStrItem() is now NULL by default, which results
in using tr(FileNameChars) (suggested by Thomas G<>nther).
- Added a missing '.' to the date returned by DayDateTime() (thanks to Lauri Nurmi).
- Improved the 'i18n' target in the Makefile to avoid unnecessary work (thanks to
Stefan Huelswitt). The 'newplugin' and 'i18n-to-gettext.pl' scripts have been
changed accordingly. Plugin authors may want to adjust the 'i18n' target
of their Makefiles.
- Fixed a crash if no fonts are found (thanks to Mario Ivankovits and Clemens
Kirchgatterer).
- Fixed decoding filename characters in case there are not two hex digits after
the '#' (reported by Helmut Auer).

View File

@@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: Makefile 1.108 2007/10/13 09:26:40 kls Exp $ # $Id: Makefile 1.110 2007/11/04 10:15:59 kls Exp $
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
@@ -27,7 +27,7 @@ PLUGINDIR= ./PLUGINS
PLUGINLIBDIR= $(PLUGINDIR)/lib PLUGINLIBDIR= $(PLUGINDIR)/lib
VIDEODIR = /video VIDEODIR = /video
CONFDIR ?= $(VIDEODIR) CONFDIR = $(VIDEODIR)
DOXYGEN = /usr/bin/doxygen DOXYGEN = /usr/bin/doxygen
DOXYFILE = Doxyfile DOXYFILE = Doxyfile
@@ -106,25 +106,25 @@ $(SILIB):
PODIR = po PODIR = po
LOCALEDIR = locale LOCALEDIR = locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/vdr.pot I18Npot = $(PODIR)/vdr.pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr.mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
install-i18n: install-i18n:
@mkdir -p $(DESTDIR)$(LOCDIR) @mkdir -p $(DESTDIR)$(LOCDIR)

View File

@@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.20 2007/10/14 09:23:04 kls Exp $ # $Id: Makefile 1.21 2007/11/04 10:52:15 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -72,25 +72,25 @@ $(DEPFILE): Makefile
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
### Targets: ### Targets:

View File

@@ -1,7 +1,7 @@
# #
# Makefile for a Video Disk Recorder plugin # Makefile for a Video Disk Recorder plugin
# #
# $Id: Makefile 1.13 2007/10/14 09:23:25 kls Exp $ # $Id: Makefile 1.14 2007/11/04 10:52:13 kls Exp $
# The official name of this plugin. # The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin. # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -70,25 +70,25 @@ $(DEPFILE): Makefile
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
### Targets: ### Targets:

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.h 1.299 2007/10/06 14:27:18 kls Exp $ * $Id: config.h 1.300 2007/10/17 18:34:17 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@@ -22,13 +22,13 @@
// VDR's own version number: // VDR's own version number:
#define VDRVERSION "1.5.10" #define VDRVERSION "1.5.11"
#define VDRVERSNUM 10510 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10511 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number: // The plugin API's version number:
#define APIVERSION "1.5.10" #define APIVERSION "1.5.11"
#define APIVERSNUM 10510 // Version * 10000 + Major * 100 + Minor #define APIVERSNUM 10511 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which // When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to // may be smaller than VDRVERSION in case there have been no changes to

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.c 1.145 2007/10/14 13:09:19 kls Exp $ * $Id: device.c 1.147 2007/11/03 13:30:09 kls Exp $
*/ */
#include "device.h" #include "device.h"
@@ -209,6 +209,9 @@ int cPesAssembler::PacketSize(const uchar *data)
// The default priority for non-primary devices: // The default priority for non-primary devices:
#define DEFAULTPRIORITY -1 #define DEFAULTPRIORITY -1
// The minimum number of unknown PS1 packets to consider this a "pre 1.3.19 private stream":
#define MIN_PRE_1_3_19_PRIVATESTREAM 10
int cDevice::numDevices = 0; int cDevice::numDevices = 0;
int cDevice::useDevice = 0; int cDevice::useDevice = 0;
int cDevice::nextCardIndex = 0; int cDevice::nextCardIndex = 0;
@@ -931,7 +934,7 @@ void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
} }
else else
memset(availableTracks, 0, sizeof(availableTracks)); memset(availableTracks, 0, sizeof(availableTracks));
pre_1_3_19_PrivateStream = false; pre_1_3_19_PrivateStream = 0;
SetAudioChannel(0); // fall back to stereo SetAudioChannel(0); // fall back to stereo
currentAudioTrackMissingCount = 0; currentAudioTrackMissingCount = 0;
currentAudioTrack = ttNone; currentAudioTrack = ttNone;
@@ -1236,7 +1239,7 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
int PayloadOffset = Data[8] + 9; int PayloadOffset = Data[8] + 9;
// Compatibility mode for old subtitles plugin: // Compatibility mode for old subtitles plugin:
if ((Data[PayloadOffset - 3] & 0x81) == 1 && Data[PayloadOffset - 2] == 0x81) if ((Data[7] & 0x01) && (Data[PayloadOffset - 3] & 0x81) == 0x01 && Data[PayloadOffset - 2] == 0x81)
PayloadOffset--; PayloadOffset--;
uchar SubStreamId = Data[PayloadOffset]; uchar SubStreamId = Data[PayloadOffset];
@@ -1245,11 +1248,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
// Compatibility mode for old VDR recordings, where 0xBD was only AC3: // Compatibility mode for old VDR recordings, where 0xBD was only AC3:
pre_1_3_19_PrivateStreamDeteced: pre_1_3_19_PrivateStreamDeteced:
if (pre_1_3_19_PrivateStream) { if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
SubStreamId = c; SubStreamId = c;
SubStreamType = 0x80; SubStreamType = 0x80;
SubStreamIndex = 0; SubStreamIndex = 0;
} }
else if (pre_1_3_19_PrivateStream)
pre_1_3_19_PrivateStream--; // every known PS1 packet counts down towards 0 to recover from glitches...
switch (SubStreamType) { switch (SubStreamType) {
case 0x20: // SPU case 0x20: // SPU
case 0x30: // SPU case 0x30: // SPU
@@ -1277,11 +1282,14 @@ pre_1_3_19_PrivateStreamDeteced:
break; break;
default: default:
// Compatibility mode for old VDR recordings, where 0xBD was only AC3: // Compatibility mode for old VDR recordings, where 0xBD was only AC3:
if (!pre_1_3_19_PrivateStream) { if (pre_1_3_19_PrivateStream <= MIN_PRE_1_3_19_PRIVATESTREAM) {
dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode"); dsyslog("unknown PS1 packet, substream id = %02X (counter is at %d)", SubStreamId, pre_1_3_19_PrivateStream);
ClrAvailableTracks(); pre_1_3_19_PrivateStream += 2; // ...and every unknown PS1 packet counts up (the very first one counts twice, but that's ok)
pre_1_3_19_PrivateStream = true; if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
goto pre_1_3_19_PrivateStreamDeteced; dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode - substream id = %02X", SubStreamId);
ClrAvailableTracks();
goto pre_1_3_19_PrivateStreamDeteced;
}
} }
} }
} }

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.h 1.85 2007/10/14 13:09:12 kls Exp $ * $Id: device.h 1.86 2007/10/21 09:21:52 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@@ -377,7 +377,7 @@ private:
cMutex mutexCurrentSubtitleTrack; cMutex mutexCurrentSubtitleTrack;
int currentAudioTrackMissingCount; int currentAudioTrackMissingCount;
bool autoSelectPreferredSubtitleLanguage; bool autoSelectPreferredSubtitleLanguage;
bool pre_1_3_19_PrivateStream; int pre_1_3_19_PrivateStream;
protected: protected:
virtual void SetAudioTrackDevice(eTrackType Type); virtual void SetAudioTrackDevice(eTrackType Type);
///< Sets the current audio track to the given value. ///< Sets the current audio track to the given value.

View File

@@ -7,7 +7,7 @@
* Original author: Marco Schl<68><6C>ler <marco@lordzodiac.de> * Original author: Marco Schl<68><6C>ler <marco@lordzodiac.de>
* With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi> * With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
* *
* $Id: dvbsubtitle.c 1.1 2007/10/14 14:02:35 kls Exp $ * $Id: dvbsubtitle.c 1.2 2007/11/03 14:36:07 kls Exp $
*/ */
#include "dvbsubtitle.h" #include "dvbsubtitle.h"
@@ -692,7 +692,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
bool ResetSubtitleAssembler = Data[PayloadOffset + 3] == 0x00; bool ResetSubtitleAssembler = Data[PayloadOffset + 3] == 0x00;
// Compatibility mode for old subtitles plugin: // Compatibility mode for old subtitles plugin:
if ((Data[PayloadOffset - 3] & 0x81) == 1 && Data[PayloadOffset - 2] == 0x81) { if ((Data[7] & 0x01) && (Data[PayloadOffset - 3] & 0x81) == 0x01 && Data[PayloadOffset - 2] == 0x81) {
PayloadOffset--; PayloadOffset--;
SubstreamHeaderLength = 1; SubstreamHeaderLength = 1;
ResetSubtitleAssembler = Data[8] >= 5; ResetSubtitleAssembler = Data[8] >= 5;
@@ -730,8 +730,8 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
break; break;
} }
} }
return Length;
} }
return Length;
} }
return 0; return 0;
} }
@@ -767,7 +767,7 @@ void cDvbSubtitleConverter::Action(void)
//TODO sync on PTS? are there actually devices that don't deliver an STC? //TODO sync on PTS? are there actually devices that don't deliver an STC?
} }
Delta /= 90; // STC and PTS are in 1/90000s Delta /= 90; // STC and PTS are in 1/90000s
if (abs(Delta) <= MAXDELTA) { if (Delta <= MAXDELTA) {
if (Delta <= 0) { if (Delta <= 0) {
dbgconverter("Got %d bitmaps, showing #%d\n", bitmaps->Count(), sb->Index() + 1); dbgconverter("Got %d bitmaps, showing #%d\n", bitmaps->Count(), sb->Index() + 1);
if (AssertOsd()) { if (AssertOsd()) {
@@ -777,8 +777,8 @@ void cDvbSubtitleConverter::Action(void)
} }
bitmaps->Del(sb); bitmaps->Del(sb);
} }
else else if (Delta < WaitMs)
WaitMs = min(max(Delta, int64_t(0)), int64_t(1000)); WaitMs = Delta;
} }
else else
bitmaps->Del(sb); bitmaps->Del(sb);
@@ -830,6 +830,8 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
pages->Add(page); pages->Add(page);
dbgpages("Create SubtitlePage %d (total pages = %d)\n", pageId, pages->Count()); dbgpages("Create SubtitlePage %d (total pages = %d)\n", pageId, pages->Count());
} }
if (Pts)
page->SetPts(Pts);
switch (segmentType) { switch (segmentType) {
case PAGE_COMPOSITION_SEGMENT: { case PAGE_COMPOSITION_SEGMENT: {
dbgsegments("PAGE_COMPOSITION_SEGMENT\n"); dbgsegments("PAGE_COMPOSITION_SEGMENT\n");
@@ -837,8 +839,6 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
if (pageVersion == page->Version()) if (pageVersion == page->Version())
break; // no update break; // no update
page->SetVersion(pageVersion); page->SetVersion(pageVersion);
if (Pts)
page->SetPts(Pts);
page->SetTimeout(Data[6]); page->SetTimeout(Data[6]);
page->SetState((Data[6 + 1] & 0x0C) >> 2); page->SetState((Data[6 + 1] & 0x0C) >> 2);
page->regions.Clear(); page->regions.Clear();
@@ -968,6 +968,7 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
dbgsegments("END_OF_DISPLAY_SET_SEGMENT\n"); dbgsegments("END_OF_DISPLAY_SET_SEGMENT\n");
FinishPage(page); FinishPage(page);
} }
break;
default: default:
dbgsegments("*** unknown segment type: %02X\n", segmentType); dbgsegments("*** unknown segment type: %02X\n", segmentType);
} }

26
font.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: font.c 1.21 2007/06/23 11:25:42 kls Exp $ * $Id: font.c 1.22 2007/11/04 11:08:12 kls Exp $
*/ */
#include "font.h" #include "font.h"
@@ -395,17 +395,21 @@ cString cFont::GetFontFileName(const char *FontName)
FcConfigSubstitute(NULL, pat, FcMatchPattern); FcConfigSubstitute(NULL, pat, FcMatchPattern);
FcDefaultSubstitute(pat); FcDefaultSubstitute(pat);
FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL); FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL);
for (int i = 0; i < fontset->nfont; i++) { if (fontset) {
FcBool scalable; for (int i = 0; i < fontset->nfont; i++) {
FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable); FcBool scalable;
if (scalable) { FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable);
FcChar8 *s = NULL; if (scalable) {
FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s); FcChar8 *s = NULL;
FontFileName = (char *)s; FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s);
break; FontFileName = (char *)s;
break;
}
} }
} FcFontSetDestroy(fontset);
FcFontSetDestroy(fontset); }
else
esyslog("ERROR: no usable font found for '%s'", FontName);
FcPatternDestroy(pat); FcPatternDestroy(pat);
free(fn); free(fn);
FcFini(); FcFini();

View File

@@ -10,7 +10,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: i18n-to-gettext.pl 1.5 2007/10/14 14:14:22 kls Exp $ # $Id: i18n-to-gettext.pl 1.6 2007/11/04 10:57:36 kls Exp $
# How to convert an actual plugin: # How to convert an actual plugin:
# #
@@ -306,25 +306,25 @@ $MAKEI18N = q{### Internationalization (I18N):
PODIR = po PODIR = po
LOCALEDIR = $(VDRDIR)/locale LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po) I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o $@ $< msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c) $(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<} . $MSGIDBUGS . q{>' -o $@ $(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<} . $MSGIDBUGS . q{>' -o $@ $^
$(I18Npo): $(I18Npot) %.po: $(I18Npot)
msgmerge -U --no-wrap -F --backup=none -q $@ $< msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo) $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(LOCALEDIR) @mkdir -p $(dir $@)
for i in $(I18Ndirs); do\ cp $< $@
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\ .PHONY: i18n
done i18n: $(I18Nmsgs)
}; };

3
i18n.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: i18n.c 1.317 2007/08/24 14:03:47 kls Exp $ * $Id: i18n.c 1.318 2007/11/01 10:38:27 kls Exp $
* *
* *
*/ */
@@ -59,6 +59,7 @@ const char *LanguageCodeList[] = {
"dan", "dan",
"cze,ces", "cze,ces",
"tur", "tur",
"ukr",
NULL NULL
}; };

9
menu.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.c 1.463 2007/10/13 10:10:20 kls Exp $ * $Id: menu.c 1.465 2007/11/03 15:02:00 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@@ -251,7 +251,7 @@ void cMenuEditChannel::Setup(void)
// Parameters for all types of sources: // Parameters for all types of sources:
strn0cpy(name, data.name, sizeof(name)); strn0cpy(name, data.name, sizeof(name));
Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name)));
Add(new cMenuEditSrcItem( tr("Source"), &data.source)); Add(new cMenuEditSrcItem( tr("Source"), &data.source));
Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency)); Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency));
Add(new cMenuEditIntItem( tr("Vpid"), &data.vpid, 0, 0x1FFF)); Add(new cMenuEditIntItem( tr("Vpid"), &data.vpid, 0, 0x1FFF));
@@ -671,7 +671,7 @@ cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps)); Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY)); Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME)); Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
Add(new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
SetFirstDayItem(); SetFirstDayItem();
} }
Timers.IncBeingEdited(); Timers.IncBeingEdited();
@@ -2107,6 +2107,7 @@ eOSState cMenuRecordings::ProcessKey(eKeys Key)
if (state == osUnknown) { if (state == osUnknown) {
switch (Key) { switch (Key) {
case kPlay:
case kOk: return Play(); case kOk: return Play();
case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play(); case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play();
case kGreen: return Rewind(); case kGreen: return Rewind();
@@ -2712,7 +2713,7 @@ cMenuSetupRecord::cMenuSetupRecord(void)
Add(new cMenuEditBoolItem(tr("Setup.Recording$Use VPS"), &data.UseVps)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Use VPS"), &data.UseVps));
Add(new cMenuEditIntItem( tr("Setup.Recording$VPS margin (s)"), &data.VpsMargin, 0)); Add(new cMenuEditIntItem( tr("Setup.Recording$VPS margin (s)"), &data.VpsMargin, 0));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Mark instant recording"), &data.MarkInstantRecord)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Mark instant recording"), &data.MarkInstantRecord));
Add(new cMenuEditStrItem( tr("Setup.Recording$Name instant recording"), data.NameInstantRecord, sizeof(data.NameInstantRecord), tr(FileNameChars))); Add(new cMenuEditStrItem( tr("Setup.Recording$Name instant recording"), data.NameInstantRecord, sizeof(data.NameInstantRecord)));
Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME)); Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME));
Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE)); Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles));

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menuitems.c 1.53 2007/10/13 12:05:37 kls Exp $ * $Id: menuitems.c 1.55 2007/11/03 15:01:01 kls Exp $
*/ */
#include "menuitems.h" #include "menuitems.h"
@@ -18,7 +18,7 @@
#define AUTO_ADVANCE_TIMEOUT 1500 // ms before auto advance when entering characters via numeric keys #define AUTO_ADVANCE_TIMEOUT 1500 // ms before auto advance when entering characters via numeric keys
const char *FileNameChars = trNOOP(" abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"); const char *FileNameChars = trNOOP("FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&");
// --- cMenuEditItem --------------------------------------------------------- // --- cMenuEditItem ---------------------------------------------------------
@@ -256,7 +256,7 @@ cMenuEditStrItem::cMenuEditStrItem(const char *Name, char *Value, int Length, co
{ {
value = Value; value = Value;
length = Length; length = Length;
allowed = Allowed; allowed = Allowed ? Allowed : tr(FileNameChars);
pos = -1; pos = -1;
offset = 0; offset = 0;
insert = uppercase = false; insert = uppercase = false;
@@ -285,7 +285,7 @@ void cMenuEditStrItem::EnterEditMode(void)
int l = strlen(allowed) + 1; int l = strlen(allowed) + 1;
allowedUtf8 = new uint[l]; allowedUtf8 = new uint[l];
Utf8ToArray(allowed, allowedUtf8, l); Utf8ToArray(allowed, allowedUtf8, l);
const char *charMap = tr(" 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"); const char *charMap = tr("CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9");
l = strlen(charMap) + 1; l = strlen(charMap) + 1;
charMapUtf8 = new uint[l]; charMapUtf8 = new uint[l];
Utf8ToArray(charMap, charMapUtf8, l); Utf8ToArray(charMap, charMapUtf8, l);

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menuitems.h 1.21 2007/06/08 11:53:37 kls Exp $ * $Id: menuitems.h 1.22 2007/11/03 14:59:47 kls Exp $
*/ */
#ifndef __MENUITEMS_H #ifndef __MENUITEMS_H
@@ -101,7 +101,7 @@ protected:
void LeaveEditMode(bool SaveValue = false); void LeaveEditMode(bool SaveValue = false);
bool InEditMode(void) { return valueUtf8 != NULL; } bool InEditMode(void) { return valueUtf8 != NULL; }
public: public:
cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed); cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed = NULL);
~cMenuEditStrItem(); ~cMenuEditStrItem();
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };

View File

@@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and # See the main source file 'vdr.c' for copyright information and
# how to reach the author. # how to reach the author.
# #
# $Id: newplugin 1.38 2007/10/14 09:13:17 kls Exp $ # $Id: newplugin 1.39 2007/11/04 10:42:52 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n"; $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@@ -131,25 +131,25 @@ DEPFILE = .dependencies
PODIR = po PODIR = po
LOCALEDIR = \$(VDRDIR)/locale LOCALEDIR = \$(VDRDIR)/locale
I18Npo = \$(wildcard \$(PODIR)/*.po) I18Npo = \$(wildcard \$(PODIR)/*.po)
I18Nmo = \$(addsuffix .mo, \$(foreach file, \$(I18Npo), \$(basename \$(file)))) I18Nmsgs = \$(addprefix \$(LOCALEDIR)/, \$(addsuffix /LC_MESSAGES/vdr-\$(PLUGIN).mo, \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))))
I18Ndirs = \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))
I18Npot = \$(PODIR)/\$(PLUGIN).pot I18Npot = \$(PODIR)/\$(PLUGIN).pot
%.mo: %.po %.mo: %.po
msgfmt -c -o \$\@ \$< msgfmt -c -o \$\@ \$<
\$(I18Npot): \$(wildcard *.c) \$(I18Npot): \$(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o \$\@ \$(wildcard *.c) xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<see README>' -o \$\@ \$^
\$(I18Npo): \$(I18Npot) %.po: \$(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$< msgmerge -U --no-wrap --no-location --backup=none -q \$\@ \$<
\@touch \$\@
i18n: \$(I18Npot) \$(I18Nmo) \$(I18Nmsgs): \$(LOCALEDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
\@mkdir -p \$(LOCALEDIR) \@mkdir -p \$(dir \$@)
for i in \$(I18Ndirs); do\\ cp \$< \$\@
mkdir -p \$(LOCALEDIR)/\$\$i/LC_MESSAGES;\\
cp \$(PODIR)/\$\$i.mo \$(LOCALEDIR)/\$\$i/LC_MESSAGES/vdr-\$(PLUGIN).mo;\\ .PHONY: i18n
done i18n: \$(I18Nmsgs)
### Targets: ### Targets:

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: osdbase.h 1.16 2007/06/09 11:49:00 kls Exp $ * $Id: osdbase.h 1.17 2007/11/03 14:50:52 kls Exp $
*/ */
#ifndef __OSDBASE_H #ifndef __OSDBASE_H
@@ -57,11 +57,11 @@ public:
cOsdItem(eOSState State = osUnknown); cOsdItem(eOSState State = osUnknown);
cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true); cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true);
virtual ~cOsdItem(); virtual ~cOsdItem();
bool Selectable(void) { return selectable; } bool Selectable(void) const { return selectable; }
void SetText(const char *Text, bool Copy = true); void SetText(const char *Text, bool Copy = true);
void SetSelectable(bool Selectable); void SetSelectable(bool Selectable);
void SetFresh(bool Fresh); void SetFresh(bool Fresh);
const char *Text(void) { return text; } const char *Text(void) const { return text; }
virtual void Set(void) {} virtual void Set(void) {}
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };
@@ -77,7 +77,7 @@ public:
cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; } cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; }
virtual ~cOsdObject() {} virtual ~cOsdObject() {}
virtual bool NeedsFastResponse(void) { return needsFastResponse; } virtual bool NeedsFastResponse(void) { return needsFastResponse; }
bool IsMenu(void) { return isMenu; } bool IsMenu(void) const { return isMenu; }
virtual void Show(void); virtual void Show(void);
virtual eOSState ProcessKey(eKeys Key) { return osUnknown; } virtual eOSState ProcessKey(eKeys Key) { return osUnknown; }
}; };
@@ -124,7 +124,7 @@ public:
cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
virtual ~cOsdMenu(); virtual ~cOsdMenu();
virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); } virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); }
int Current(void) { return current; } int Current(void) const { return current; }
void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL); void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL); void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
virtual void Display(void); virtual void Display(void);

View File

@@ -872,13 +872,13 @@ msgstr "Proc
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Proc<6F>s d'edici<63> iniciat anteriorment!" msgstr "Proc<6F>s d'edici<63> iniciat anteriorment!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64><65>fghi<68>jklmno<6E>pqrstu<74>vwxyz0123456789-.#~,/_@<EFBFBD>" msgstr " a<>bc<62>de<64><65>fghi<68>jklmno<6E>pqrstu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&<EFBFBD>"
msgid "yes" msgid "yes"
msgstr "s<>" msgstr "s<>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Edita
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Edita<74>n<EFBFBD> proces je ji<6A> aktivn<76>!" msgstr "Edita<74>n<EFBFBD> proces je ji<6A> aktivn<76>!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>d<EFBFBD>e<EFBFBD><65>fghi<68>jklmn<6D>o<EFBFBD>pqr<71>s<EFBFBD>t<EFBFBD>u<EFBFBD><75>vwxy<78>z<EFBFBD>0123456789-.#~,/_@" msgstr " a<>bc<62>d<EFBFBD>e<EFBFBD><65>fghi<68>jklmn<6D>o<EFBFBD>pqr<71>s<EFBFBD>t<EFBFBD>u<EFBFBD><75>vwxy<78>z<EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ano" msgstr "ano"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63>2\tdef<65><66><EFBFBD>3\tghi<68>4\tjkl5\tmno<6E><6F>6\tpqrs<72><73>7\ttuv<75><76><EFBFBD>8\twxyz<79><7A>9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63>2\tdef<65><66><EFBFBD>3\tghi<68>4\tjkl5\tmno<6E><6F>6\tpqrs<72><73>7\ttuv<75><76><EFBFBD>8\twxyz<79><7A>9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Redigeringsproces startet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringsproces er allerede aktiv!" msgstr "Redigeringsproces er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Schnitt gestartet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Schnitt bereits aktiv!" msgstr "Schnitt bereits aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bcdefghijklmno<6E>pqrs<72>tu<74>vwxyz0123456789-.#~,/_@" msgstr " a<>bcdefghijklmno<6E>pqrs<72>tu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv<75>8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs<EFBFBD>7\ttuv<75>8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,13 +870,13 @@ msgstr "
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0123456789-.#~,/_@abcdefghijklmnopqrstuvwxyz" msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&abcdefghijklmnopqrstuvwxyz"
msgid "yes" msgid "yes"
msgstr "<22><><EFBFBD>" msgstr "<22><><EFBFBD>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Proceso de edici
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "<22>El proceso de edici<63>n ya est<73> activo!" msgstr "<22>El proceso de edici<63>n ya est<73> activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64>fghi<68>jklmn<6D>o<EFBFBD>pqrstu<74>vwxyz0123456789-.#~,/_@" msgstr " a<>bc<62>de<64>fghi<68>jklmn<6D>o<EFBFBD>pqrstu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "s<>" msgstr "s<>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63>2\tdef<65>3\tghi<68>4\tjkl5\tmno<6E><6F>6\tpqrs7\ttuv<75>8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63>2\tdef<65>3\tghi<68>4\tjkl5\tmno<6E><6F>6\tpqrs7\ttuv<75>8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -166,7 +166,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Subtiitrid"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Kava" msgstr "Kava"
@@ -187,31 +187,31 @@ msgid "Key$Commands"
msgstr "K<>sud" msgstr "K<>sud"
msgid "Key$User1" msgid "Key$User1"
msgstr "" msgstr "Lisaklahv1"
msgid "Key$User2" msgid "Key$User2"
msgstr "" msgstr "Lisaklahv2"
msgid "Key$User3" msgid "Key$User3"
msgstr "" msgstr "Lisaklahv3"
msgid "Key$User4" msgid "Key$User4"
msgstr "" msgstr "Lisaklahv4"
msgid "Key$User5" msgid "Key$User5"
msgstr "" msgstr "Lisaklahv5"
msgid "Key$User6" msgid "Key$User6"
msgstr "" msgstr "Lisaklahv6"
msgid "Key$User7" msgid "Key$User7"
msgstr "" msgstr "Lisaklahv7"
msgid "Key$User8" msgid "Key$User8"
msgstr "" msgstr "Lisaklahv8"
msgid "Key$User9" msgid "Key$User9"
msgstr "" msgstr "Lisaklahv9"
msgid "Free To Air" msgid "Free To Air"
msgstr "FTA" msgstr "FTA"
@@ -253,10 +253,10 @@ msgid "Dpid2"
msgstr "Dpid2" msgstr "Dpid2"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Spid1"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Spid2"
msgid "Tpid" msgid "Tpid"
msgstr "Tpid" msgstr "Tpid"
@@ -283,7 +283,7 @@ msgid "CoderateH"
msgstr "CoderateH" msgstr "CoderateH"
msgid "none" msgid "none"
msgstr "t<EFBFBD>hi" msgstr "puudu"
msgid "CoderateL" msgid "CoderateL"
msgstr "CoderateL" msgstr "CoderateL"
@@ -397,7 +397,7 @@ msgid "Button$Next"
msgstr "Tulekul" msgstr "Tulekul"
msgid "Button$Now" msgid "Button$Now"
msgstr "N<EFBFBD><EFBFBD>d" msgstr "Hetkel"
msgid "Button$Schedule" msgid "Button$Schedule"
msgstr "Ajakava" msgstr "Ajakava"
@@ -457,7 +457,7 @@ msgid "Recording commands"
msgstr "Salvestuse k<>sud" msgstr "Salvestuse k<>sud"
msgid "never" msgid "never"
msgstr "mitte kunagi" msgstr "ei"
msgid "skin dependent" msgid "skin dependent"
msgstr "kestast s<>ltuv" msgstr "kestast s<>ltuv"
@@ -529,10 +529,10 @@ msgid "Setup.OSD$Channel info time (s)"
msgstr "Kanaliinfo esitusaeg (s)" msgstr "Kanaliinfo esitusaeg (s)"
msgid "Setup.OSD$Info on channel switch" msgid "Setup.OSD$Info on channel switch"
msgstr "Kanaliinfo n<EFBFBD>itamine" msgstr "Kanaliinfo kuvamine"
msgid "Setup.OSD$Timeout requested channel info" msgid "Setup.OSD$Timeout requested channel info"
msgstr "Kanaliinfo kuvamise ajapiirang" msgstr "Kanaliinfo ajapiirang"
msgid "Setup.OSD$Scroll pages" msgid "Setup.OSD$Scroll pages"
msgstr "Lehek<65>lje kerimine" msgstr "Lehek<65>lje kerimine"
@@ -556,7 +556,7 @@ msgid "Setup.EPG$EPG scan timeout (h)"
msgstr "EPG skaneerimise viide (h)" msgstr "EPG skaneerimise viide (h)"
msgid "Setup.EPG$EPG bugfix level" msgid "Setup.EPG$EPG bugfix level"
msgstr "EPG veaparanduse tase" msgstr "EPG veaparandustase"
msgid "Setup.EPG$EPG linger time (min)" msgid "Setup.EPG$EPG linger time (min)"
msgstr "Vana EPG viide (min)" msgstr "Vana EPG viide (min)"
@@ -565,7 +565,7 @@ msgid "Setup.EPG$Set system time"
msgstr "Kella s<>nkroniseerimine" msgstr "Kella s<>nkroniseerimine"
msgid "Setup.EPG$Use time from transponder" msgid "Setup.EPG$Use time from transponder"
msgstr "Kella s<EFBFBD>nkroniseerimise transponder" msgstr "S<EFBFBD>nkroniseerimise transponder"
#. TRANSLATORS: note the plural! #. TRANSLATORS: note the plural!
msgid "Setup.EPG$Preferred languages" msgid "Setup.EPG$Preferred languages"
@@ -588,19 +588,19 @@ msgid "no"
msgstr "ei" msgstr "ei"
msgid "names only" msgid "names only"
msgstr "ainult nimed" msgstr "nimed"
msgid "PIDs only" msgid "PIDs only"
msgstr "ainult PID-id" msgstr "PID-id"
msgid "names and PIDs" msgid "names and PIDs"
msgstr "nimi ja PID-id" msgstr "nimed ja PID-id"
msgid "add new channels" msgid "add new channels"
msgstr "uute kanalite lisamine" msgstr "kanalite lisamine"
msgid "add new transponders" msgid "add new transponders"
msgstr "uute transponderite lisamine" msgstr "transponderite lisamine"
msgid "DVB" msgid "DVB"
msgstr "DVB" msgstr "DVB"
@@ -627,22 +627,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Audio keel" msgstr "Audio keel"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Subtiitrite kuvamine"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Subtiitrite keeli"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Subtiitri keel"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Subtiitrite nihe"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Subtiitri l<>bipaistvus"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Subtiitri tausta l<>bipaistvus"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@@ -837,13 +837,13 @@ msgid "No audio available!"
msgstr "Audio k<>ttesaamatu!" msgstr "Audio k<>ttesaamatu!"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Subtiitrid v<>ljas"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Subtiitrid"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Subtiitrid puuduvad"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Ebapiisavalt kettaruumi salvestamise alustamiseks!" msgstr "Ebapiisavalt kettaruumi salvestamise alustamiseks!"
@@ -870,14 +870,14 @@ msgstr "Redigeerimine algas"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeerimine juba aktiivne!" msgstr "Redigeerimine juba aktiivne!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrs<72>z<EFBFBD>tuvw<76><77><EFBFBD><EFBFBD>xy0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrs<72>z<EFBFBD>tuvw<76><77><EFBFBD><EFBFBD>xy0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "jah" msgstr "jah"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62>2\tdef3\tghi4\tjkl5\tmno<6E><6F>6\tpqrs<72>7\ttuv<75>8\twxyz<79>9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62>2\tdef3\tghi4\tjkl5\tmno<6E><6F>6\tpqrs<72>7\ttuv<75>8\twxyz<79>9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"
@@ -904,7 +904,7 @@ msgid "Can't shutdown - option '-s' not given!"
msgstr "V<>ljal<61>litamine eba<62>nnestus - '-s' parameeter puudub!" msgstr "V<>ljal<61>litamine eba<62>nnestus - '-s' parameeter puudub!"
msgid "Editing - shut down anyway?" msgid "Editing - shut down anyway?"
msgstr "Redigeerimine aktiive - l<>litan v<>lja?" msgstr "Redigeerimine aktiive - l<>litada v<>lja?"
msgid "Recording - shut down anyway?" msgid "Recording - shut down anyway?"
msgstr "Salvestamine aktiivne - l<>litada v<>lja?" msgstr "Salvestamine aktiivne - l<>litada v<>lja?"
@@ -921,7 +921,7 @@ msgid "Plugin %s wakes up in %ld min, continue?"
msgstr "Laiendusmoodul %s <20>rkab %ld minuti p<>rast, j<>tkata?" msgstr "Laiendusmoodul %s <20>rkab %ld minuti p<>rast, j<>tkata?"
msgid "Editing - restart anyway?" msgid "Editing - restart anyway?"
msgstr "Redigeerimine aktiivne - taask<EFBFBD>ivitada?" msgstr "Redigeerimine aktiivne - restart?"
msgid "Recording - restart anyway?" msgid "Recording - restart anyway?"
msgstr "Salvestamine aktiivne - restart?" msgstr "Salvestamine aktiivne - restart?"

View File

@@ -873,14 +873,14 @@ msgstr "Muokkaus aloitettu"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Muokkaus on jo k<>ynniss<73>!" msgstr "Muokkaus on jo k<>ynniss<73>!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "kyll<6C>" msgstr "kyll<6C>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -7,15 +7,16 @@
# Nicolas Huillard <nhuillard@e-dition.fr>, 2005 # Nicolas Huillard <nhuillard@e-dition.fr>, 2005
# Pierre Briec <pbriec@free.fr>, 2006 # Pierre Briec <pbriec@free.fr>, 2006
# Bruno Roussel <bruno.roussel@free.fr>, 2007 # Bruno Roussel <bruno.roussel@free.fr>, 2007
# Michael Nival <mnival@club-internet.fr>, 2007
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.5.7\n" "Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-10-13 11:29+0200\n" "POT-Creation-Date: 2007-10-13 11:29+0200\n"
"PO-Revision-Date: 2007-08-17 13:45+0200\n" "PO-Revision-Date: 2007-10-18 16:12+0100\n"
"Last-Translator: Bruno Roussel <bruno.roussel@free.fr>\n" "Last-Translator: Michael Nival <mnival@club-internet.fr>\n"
"Language-Team: <vdr@linuxtv.org>\n" "Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@@ -171,7 +172,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Sous-Titres"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Programmes" msgstr "Programmes"
@@ -258,10 +259,10 @@ msgid "Dpid2"
msgstr "PID AC3 (2)" msgstr "PID AC3 (2)"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Sous-Titre (1)"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Sous-Titre (2)"
msgid "Tpid" msgid "Tpid"
msgstr "PID T<>l<EFBFBD>texte" msgstr "PID T<>l<EFBFBD>texte"
@@ -632,22 +633,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Langue audio" msgstr "Langue audio"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Afficher les Sous-Titres"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Langues des Sous-Titres"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Langue de Sous-Titre"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Offset du Sous-Titre"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Transparence de l'avant-plan"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Transparence du fond"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@@ -842,13 +843,13 @@ msgid "No audio available!"
msgstr "Pas d'audio disponible !" msgstr "Pas d'audio disponible !"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Pas de Sous-Titres"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Sous-Titres"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Pas de Sous-Titres disponible !"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Espace disque insuffisant pour d<>marrer l'enregistrement !" msgstr "Espace disque insuffisant pour d<>marrer l'enregistrement !"
@@ -875,14 +876,14 @@ msgstr "Op
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Montage d<>j<EFBFBD> en cours !" msgstr "Montage d<>j<EFBFBD> en cours !"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64><65><EFBFBD>fghi<68>jklmno<6E>pqrstu<74><75>vwxyz0123456789-.#~,/_@" msgstr " a<>bc<62>de<64><65><EFBFBD>fghi<68>jklmno<6E>pqrstu<74><75>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "oui" msgstr "oui"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63><EFBFBD>2\tdef<65><66><EFBFBD>3\tghi<68><69>4\tjkl5\tmno<6E>6\tpqrs7\ttuv<75>8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63><EFBFBD>2\tdef<65><66><EFBFBD>3\tghi<68><69>4\tjkl5\tmno<6E>6\tpqrs7\ttuv<75>8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -871,13 +871,13 @@ msgstr "Rezanje je zapo
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Ure<72>ivanje je ve<76> aktivirano!" msgstr "Ure<72>ivanje je ve<76> aktivirano!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62><63>d<EFBFBD>efghijklmnopqrs<72>tuvwxyz<79>0123456789-.#~,/_@" msgstr " abc<62><63>d<EFBFBD>efghijklmnopqrs<72>tuvwxyz<79>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -872,14 +872,14 @@ msgstr "V
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "A v<>g<EFBFBD>s m<>r aktiv<69>lt!" msgstr "A v<>g<EFBFBD>s m<>r aktiv<69>lt!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bcde<64>fghi<68>jklmno<6E><6F><EFBFBD>pqrstu<74><75><EFBFBD>vwxyz0123456789-.#~,/_@" msgstr " a<>bcde<64>fghi<68>jklmno<6E><6F><EFBFBD>pqrstu<74><75><EFBFBD>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "igen" msgstr "igen"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\ta<74>bc2\tde<64>f3\tghi<68>4\tjkl5\tmno<6E><6F><EFBFBD>6\tpqrs7\ttu<74><75><EFBFBD>v8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\ta<74>bc2\tde<64>f3\tghi<68>4\tjkl5\tmno<6E><6F><EFBFBD>6\tpqrs7\ttu<74><75><EFBFBD>v8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -11,9 +11,9 @@ msgstr ""
"Project-Id-Version: VDR 1.5.7\n" "Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-10-13 11:29+0200\n" "POT-Creation-Date: 2007-10-13 11:29+0200\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-10-16 02:15+0100\n"
"Last-Translator: Sean Carlos <seanc@libero.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: <vdr@linuxtv.org>\n" "Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
@@ -169,7 +169,7 @@ msgid "Key$Audio"
msgstr "Audio" msgstr "Audio"
msgid "Key$Subtitles" msgid "Key$Subtitles"
msgstr "" msgstr "Key$Sottotitoli"
msgid "Key$Schedule" msgid "Key$Schedule"
msgstr "Programmi" msgstr "Programmi"
@@ -256,10 +256,10 @@ msgid "Dpid2"
msgstr "PID AC3 (2)" msgstr "PID AC3 (2)"
msgid "Spid1" msgid "Spid1"
msgstr "" msgstr "Spid1"
msgid "Spid2" msgid "Spid2"
msgstr "" msgstr "Spid2"
msgid "Tpid" msgid "Tpid"
msgstr "PID Teletext" msgstr "PID Teletext"
@@ -630,22 +630,22 @@ msgid "Setup.DVB$Audio language"
msgstr "Lingua per l'audio" msgstr "Lingua per l'audio"
msgid "Setup.DVB$Display subtitles" msgid "Setup.DVB$Display subtitles"
msgstr "" msgstr "Setup.DVB$Mostra sottotitoli"
msgid "Setup.DVB$Subtitle languages" msgid "Setup.DVB$Subtitle languages"
msgstr "" msgstr "Setup.DVB$Lingue sottotitoli"
msgid "Setup.DVB$Subtitle language" msgid "Setup.DVB$Subtitle language"
msgstr "" msgstr "Setup.DVB$Lingua sottotitoli"
msgid "Setup.DVB$Subtitle offset" msgid "Setup.DVB$Subtitle offset"
msgstr "" msgstr "Setup.DVB$Posizione sottotitolo"
msgid "Setup.DVB$Subtitle foreground transparency" msgid "Setup.DVB$Subtitle foreground transparency"
msgstr "" msgstr "Setup.DVB$Trasparenza primo piano sottotitoli"
msgid "Setup.DVB$Subtitle background transparency" msgid "Setup.DVB$Subtitle background transparency"
msgstr "" msgstr "Setup.DVB$Trasparenza sfondo sottotitoli"
msgid "LNB" msgid "LNB"
msgstr "LNB" msgstr "LNB"
@@ -840,13 +840,13 @@ msgid "No audio available!"
msgstr "Nessun audio disponibile!" msgstr "Nessun audio disponibile!"
msgid "No subtitles" msgid "No subtitles"
msgstr "" msgstr "Nessun sottotitolo"
msgid "Button$Subtitles" msgid "Button$Subtitles"
msgstr "" msgstr "Button$Sottotitoli"
msgid "No subtitles available!" msgid "No subtitles available!"
msgstr "" msgstr "Nessun sottotitolo disponibile!"
msgid "Not enough disk space to start recording!" msgid "Not enough disk space to start recording!"
msgstr "Spazio su disco insufficiente per registrare!" msgstr "Spazio su disco insufficiente per registrare!"
@@ -873,14 +873,14 @@ msgstr "Processo di modifica iniziato"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Processo di modifica gi<67> attivo!" msgstr "Processo di modifica gi<67> attivo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<><61>bcde<64><65>fghi<68><69>jklmno<6E>pqrstu<74>vwxyz0123456789-.#~,/_@" msgstr " a<><61>bcde<64><65>fghi<68><69>jklmno<6E>pqrstu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "s<>" msgstr "s<>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\ta<74>bc2\tde<64>f3\tghi<68>4\tjkl5\tmno<6E>6\tpqrs7\ttu<74>v8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\ta<74>bc2\tde<64>f3\tghi<68>4\tjkl5\tmno<6E>6\tpqrs7\ttu<74>v8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -872,13 +872,13 @@ msgstr "Bewerken is gestart"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Bewerken is al actief!" msgstr "Bewerken is al actief!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -871,13 +871,13 @@ msgstr "Redigeringsprosess startet"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringsprosessen er allerede aktiv!" msgstr "Redigeringsprosessen er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "" msgstr ""
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Proces edycji rozpocz
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Proces edycji jest ju<6A> aktywny!" msgstr "Proces edycji jest ju<6A> aktywny!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64>fghijkl<6B>mn<6D>o<EFBFBD>pqrs<72>tuvwxyz<79><7A>0123456789-.#~,/_@" msgstr " a<>bc<62>de<64>fghijkl<6B>mn<6D>o<EFBFBD>pqrs<72>tuvwxyz<79><7A>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "tak" msgstr "tak"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc2<63><32>\tdef3<66>\tghi4\tjkl5<6C>\tmno6<6F><36>\tpqrs7<73>\ttuv8\twxyz9<7A><39>" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2<63><32>\tdef3<66>\tghi4\tjkl5<6C>\tmno6<6F><36>\tpqrs7<73>\ttuv8\twxyz9<7A><39>"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,13 +870,13 @@ msgstr "Processo de modifica
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Processo de modifica<63><61>o j<> activo!" msgstr "Processo de modifica<63><61>o j<> activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr "" msgstr ""
msgid "yes" msgid "yes"
msgstr "sim" msgstr "sim"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr "" msgstr ""
msgid "Button$ABC/abc" msgid "Button$ABC/abc"

View File

@@ -871,14 +871,14 @@ msgstr "Montajul
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Montajul <20>nregistr<74>rii este deja activ!" msgstr "Montajul <20>nregistr<74>rii este deja activ!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<><61>bcdefghi<68>jklmnopqrs<72>t<EFBFBD>uvwxyz0123456789-.#~,/_@" msgstr " a<><61>bcdefghi<68>jklmnopqrs<72>t<EFBFBD>uvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\ta<74><61>bc2\tdef3\tghi<68>4\tjkl5\tmno6\tpqrs<72>7\tt<74>uv8\twxyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\ta<74><61>bc2\tdef3\tghi<68>4\tjkl5\tmno6\tpqrs<72>7\tt<74>uv8\twxyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "<22><>" msgstr "<22><>"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63><EFBFBD><EFBFBD>2\tdef<65><66><EFBFBD><EFBFBD><EFBFBD>3\tghi<68><69><EFBFBD><EFBFBD>4\tjkl<6B><6C><EFBFBD>5\tmno<6E><6F><EFBFBD>6\tpqrs<72><73><EFBFBD><EFBFBD>7\ttuv<75><76><EFBFBD><EFBFBD><EFBFBD>8\twxyz<79><7A><EFBFBD><EFBFBD><EFBFBD>9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63><EFBFBD><EFBFBD>2\tdef<65><66><EFBFBD><EFBFBD><EFBFBD>3\tghi<68><69><EFBFBD><EFBFBD>4\tjkl<6B><6C><EFBFBD>5\tmno<6E><6F><EFBFBD>6\tpqrs<72><73><EFBFBD><EFBFBD>7\ttuv<75><76><EFBFBD><EFBFBD><EFBFBD>8\twxyz<79><7A><EFBFBD><EFBFBD><EFBFBD>9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "<22><><EFBFBD>/<2F><><EFBFBD>" msgstr "<22><><EFBFBD>/<2F><><EFBFBD>"

View File

@@ -871,14 +871,14 @@ msgstr "Urejanje se je za
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Urejanje je <20>e aktivno!" msgstr "Urejanje je <20>e aktivno!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62>defghijklmnopqrs<72>tuvwxyz<79>0123456789-.#~,/_@" msgstr " abc<62>defghijklmnopqrs<72>tuvwxyz<79>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "da" msgstr "da"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62>2\tdef3\tghi4\tjkl5\tmno6\tpqrs<72>7\ttuv8\twxyz<79>9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62>2\tdef3\tghi4\tjkl5\tmno6\tpqrs<72>7\ttuv8\twxyz<79>9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -871,14 +871,14 @@ msgstr "Redigeringen startar"
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Redigeringen <20>r redan aktiv!" msgstr "Redigeringen <20>r redan aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@" msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "ja" msgstr "ja"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62><63>2\tdef3\tghi4\tjkl5\tmno<6E>6\tpqrs7\ttuv8\twxyz"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Kesim ba
msgid "Editing process already active!" msgid "Editing process already active!"
msgstr "Kesim hen<65>z aktif!" msgstr "Kesim hen<65>z aktif!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@" msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62>defg<66>h<EFBFBD>ijklmno<6E>prs<72>tu<74>vyz0123456789-.#~,/_@" msgstr " abc<62>defg<66>h<EFBFBD>ijklmno<6E>prs<72>tu<74>vyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes" msgid "yes"
msgstr "evet" msgstr "evet"
msgid " 0\t-.#~,/_@1\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9" msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62>2\tdef3\tg<74>h<EFBFBD>i4\tjkl5\tmno<6E>6\tprs<72>7\ttu<74>v8\tyz9" msgstr " 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc<62>2\tdef3\tg<74>h<EFBFBD>i4\tjkl5\tmno<6E>6\tprs<72>7\ttu<74>v8\tyz9"
msgid "Button$ABC/abc" msgid "Button$ABC/abc"
msgstr "ABC/abc" msgstr "ABC/abc"

999
po/uk_UA.po Normal file
View File

@@ -0,0 +1,999 @@
# VDR language source file.
# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
# This file is distributed under the same license as the VDR package.
# Yarema Aka Knedlyk <yupadmin@gmail.com>, 2007
#
msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.10\n"
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
"POT-Creation-Date: 2007-11-01 11:36+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Yarema Aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "*** Invalid Channel ***"
msgstr "*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ***"
msgid "Channel not available!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Can't start Transfer Mode!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Starting EPG scan"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EPG-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "No title"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: The name of the language, as written natively
msgid "LanguageName$English"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: The 3-letter code of the language
msgid "LanguageCode$eng"
msgstr "ukr"
msgid "Phase 1: Detecting RC code type"
msgstr "<22><><EFBFBD><EFBFBD> 1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Press any key on the RC unit"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "RC code detected!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Do not press any key..."
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
msgid "Phase 2: Learning specific key codes"
msgstr "<22><><EFBFBD><EFBFBD> 2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#, c-format
msgid "Press key for '%s'"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s'"
msgid "Press 'Up' to confirm"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Press 'Down' to continue"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "(press 'Up' to go back)"
msgstr "(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "(press 'Down' to end key definition)"
msgstr "(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "(press 'Menu' to skip this key)"
msgstr "(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "Learning Remote Control Keys"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Phase 3: Saving key codes"
msgstr "<22><><EFBFBD><EFBFBD> 3: <20><><EFBFBD><EFBFBD><EFBFBD>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Press 'Up' to save, 'Down' to cancel"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, '<27><><EFBFBD><EFBFBD>' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Up"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Down"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Menu"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Ok"
msgstr "Ok"
msgid "Key$Back"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Left"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Right"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Red"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Green"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Yellow"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Blue"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Info"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Play"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Pause"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Stop"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Record"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$FastFwd"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$FastRew"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Next"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Prev"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Power"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Channel+"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> +"
msgid "Key$Channel-"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> -"
msgid "Key$PrevChannel"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Volume+"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +"
msgid "Key$Volume-"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -"
msgid "Key$Mute"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Key$Audio"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Key$Subtitles"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Schedule"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Channels"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Timers"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Recordings"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Setup"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$Commands"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Key$User1"
msgstr ""
msgid "Key$User2"
msgstr ""
msgid "Key$User3"
msgstr ""
msgid "Key$User4"
msgstr ""
msgid "Key$User5"
msgstr ""
msgid "Key$User6"
msgstr ""
msgid "Key$User7"
msgstr ""
msgid "Key$User8"
msgstr ""
msgid "Key$User9"
msgstr ""
msgid "Free To Air"
msgstr "FTA (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "encrypted"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "auto"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Edit channel"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Name"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Source"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Frequency"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Vpid"
msgstr "Vpid (<28><><EFBFBD><EFBFBD><EFBFBD>)"
msgid "Ppid"
msgstr "Ppid"
msgid "Apid1"
msgstr "Apid1 (<28><><EFBFBD><EFBFBD><EFBFBD> 1)"
msgid "Apid2"
msgstr "Apid2 (<28><><EFBFBD><EFBFBD><EFBFBD> 2)"
msgid "Dpid1"
msgstr "Dpid1 (AC3 1)"
msgid "Dpid2"
msgstr "Dpid2 (AC3 2)"
msgid "Spid1"
msgstr ""
msgid "Spid2"
msgstr ""
msgid "Tpid"
msgstr "Tpid (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "CA"
msgstr "CA (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
msgid "Sid"
msgstr "Sid"
msgid "Polarization"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Srate"
msgstr "<22><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Inversion"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "off"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "CoderateH"
msgstr "CoderateH"
msgid "none"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "CoderateL"
msgstr "CoderateL"
msgid "Modulation"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Bandwidth"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Transmission"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Guard"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Hierarchy"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Channel settings are not unique!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Channels"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Edit"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$New"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Delete"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Mark"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Channel is being used by a timer!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Delete channel?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Edit timer"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Active"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Channel"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Day"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Start"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Stop"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "VPS"
msgstr "VPS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Priority"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Lifetime"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "File"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "First day"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Timers"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$On/Off"
msgstr "<22><><EFBFBD>/<2F><><EFBFBD><EFBFBD>"
msgid "Button$Info"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Delete timer?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Timer still recording - really delete?"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Event"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Timer"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Record"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Switch"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "What's on now?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>:"
msgid "What's on next?"
msgstr "<22><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"
msgid "Button$Next"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Button$Now"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Schedule"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Can't switch channel!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!"
#, c-format
msgid "Schedule - %s"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"
#, c-format
msgid "This event - %s"
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"
msgid "This event - all channels"
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "All events - all channels"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#, c-format
msgid "Please enter %d digits!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "CAM not responding!"
msgstr "CAM <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Recording info"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Play"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Rewind"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Recordings"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Open"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Commands"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Error while accessing recording!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Delete recording?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Error while deleting recording!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Recording commands"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "never"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "skin dependent"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "always"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "OSD"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Language"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Skin"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Theme"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Left"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Top"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Width"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Height"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Message time (s)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)"
msgid "Setup.OSD$Use small font"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Anti-alias"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Default font"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Small font"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Fixed font"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Default font size (pixel)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> (pixel)"
msgid "Setup.OSD$Small font size (pixel)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (pixel)"
msgid "Setup.OSD$Fixed font size (pixel)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (pixel)"
msgid "Setup.OSD$Channel info position"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "bottom"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "top"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Channel info time (s)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)"
msgid "Setup.OSD$Info on channel switch"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Timeout requested channel info"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Scroll pages"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Scroll wraps"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Menu key closes"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.OSD$Recording directories"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "EPG"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Scan"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.EPG$EPG scan timeout (h)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>)"
msgid "Setup.EPG$EPG bugfix level"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.EPG$EPG linger time (min)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.EPG$Set system time"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>"
msgid "Setup.EPG$Use time from transponder"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: note the plural!
msgid "Setup.EPG$Preferred languages"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
#. TRANSLATORS: note the singular!
msgid "Setup.EPG$Preferred language"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "pan&scan"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "letterbox"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "center cut out"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "no"
msgstr "<22><>"
msgid "names only"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "PIDs only"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PID<49>"
msgid "names and PIDs"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20> PID<49>"
msgid "add new channels"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "add new transponders"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "DVB"
msgstr "DVB"
msgid "Setup.DVB$Primary DVB interface"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DVB-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Video format"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Video display format"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Use Dolby Digital"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Dolby Digital"
msgid "Setup.DVB$Update channels"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Audio languages"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>)"
msgid "Setup.DVB$Audio language"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Display subtitles"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Subtitle languages"
msgstr "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Subtitle language"
msgstr "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Subtitle offset"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.DVB$Subtitle foreground transparency"
msgstr ""
msgid "Setup.DVB$Subtitle background transparency"
msgstr ""
msgid "LNB"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.LNB$Use DiSEqC"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DiSEqC"
msgid "Setup.LNB$SLOF (MHz)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (SLOF) (<28><><EFBFBD>)"
msgid "Setup.LNB$Low LNB frequency (MHz)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)"
msgid "Setup.LNB$High LNB frequency (MHz)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)"
msgid "CAM reset"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAM"
msgid "CAM present"
msgstr "CAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "CAM ready"
msgstr "CAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "CAM"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Menu"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Button$Reset"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Opening CAM menu..."
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (CAM)"
msgid "Can't open CAM menu!"
msgstr "<22><><EFBFBD><EFBFBD> CAM-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "CAM is in use - really reset?"
msgstr "CAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Can't reset CAM!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAM-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Recording"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Margin at start (min)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Recording$Margin at stop (min)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Recording$Primary limit"
msgstr "<22><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Default priority"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Default lifetime (d)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>)"
msgid "Setup.Recording$Pause priority"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Pause lifetime (d)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>)"
msgid "Setup.Recording$Use episode name"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Use VPS"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VPS"
msgid "Setup.Recording$VPS margin (s)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> VPS (<28><><EFBFBD>)"
msgid "Setup.Recording$Mark instant recording"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Name instant recording"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Recording$Instant rec. time (min)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Recording$Max. video file size (MB)"
msgstr "<22><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Recording$Split edited files"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Replay"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Replay$Multi speed mode"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Replay$Show replay mode"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Replay$Resume ID"
msgstr "ID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Miscellaneous"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Miscellaneous$Min. event timeout (min)"
msgstr "<22><><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Miscellaneous$Min. user inactivity (min)"
msgstr "<22><><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><>)"
msgid "Setup.Miscellaneous$SVDRP timeout (s)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SVDRP (<28><><EFBFBD>)"
msgid "Setup.Miscellaneous$Zap timeout (s)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>)"
msgid "Setup.Miscellaneous$Channel entry timeout (ms)"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ms)"
msgid "Setup.Miscellaneous$Initial channel"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Miscellaneous$as before"
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Setup.Miscellaneous$Initial volume"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Plugins"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "This plugin has no setup parameters!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Setup"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Restart"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Really restart?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
#. TRANSLATORS: note the leading and trailing blanks!
msgid " Stop recording "
msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> "
msgid "Schedule"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "VDR"
msgstr "VDR"
msgid "Disk"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "free"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: note the leading blank!
msgid " Stop replaying"
msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Audio"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Button$Pause"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Stop"
msgstr "<22><><EFBFBD><EFBFBD>"
msgid "Button$Resume"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: note the leading blank!
msgid " Cancel editing"
msgstr " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Stop recording?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Cancel editing?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "No audio available!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!"
msgid "No subtitles"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Subtitles"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "No subtitles available!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Not enough disk space to start recording!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "No free DVB device to record!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DVB-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Pausing live video..."
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
#. TRANSLATORS: note the trailing blank!
msgid "Jump: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
msgid "No editing marks defined!"
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Can't start editing process!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Editing process started"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Editing process already active!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
#, fuzzy
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0123456789-.#~,/_@"
msgid "yes"
msgstr "<22><><EFBFBD>"
#, fuzzy
msgid "CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9"
msgstr " 0\t-.#~,/_@1\tabc<62><63><EFBFBD><EFBFBD>2\tdef<65><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3\tghi<68><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4\tjkl<6B><6C><EFBFBD>5\tmno<6E><6F><EFBFBD>6\tpqrs<72><73><EFBFBD><EFBFBD>7\ttuv<75><76><EFBFBD><EFBFBD><EFBFBD>8\twxyz<79><7A><EFBFBD><EFBFBD><EFBFBD>9"
msgid "Button$ABC/abc"
msgstr "<22><><EFBFBD>/<2F><><EFBFBD>"
msgid "Button$Overwrite"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Button$Insert"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Plugin"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Up/Dn for new location - OK to move"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"<22><><EFBFBD><EFBFBD><EFBFBD>\"/\"<22><><EFBFBD><EFBFBD>\" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> \"OK\""
msgid "Channel locked (recording)!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)!"
msgid "Low disk space!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Can't shutdown - option '-s' not given!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '-s'!"
msgid "Editing - shut down anyway?"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Recording - shut down anyway?"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
#, c-format
msgid "Recording in %ld minutes, shut down anyway?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> %ld <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "shut down anyway?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
#, c-format
msgid "Plugin %s wakes up in %ld min, continue?"
msgstr "Plugin %s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> %ld <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Editing - restart anyway?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "Recording - restart anyway?"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
msgid "restart anyway?"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
#. TRANSLATORS: note the trailing blank!
msgid "Volume "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "
msgid "Classic VDR"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "ST:TNG Panels"
msgstr "ST:TNG <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#. TRANSLATORS: the first character of each weekday, beginning with monday
msgid "MTWTFSS"
msgstr "<22><><EFBFBD>ǿ<EFBFBD><C7BF>"
#. TRANSLATORS: abbreviated weekdays, beginning with monday (must all be 3 letters!)
msgid "MonTueWedThuFriSatSun"
msgstr "<22><>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҿ<EFBFBD><D2BF><EFBFBD><EFBFBD>ѽ<EFBFBD><D1BD>"
msgid "Monday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Tuesday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Wednesday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Thursday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Friday"
msgstr "<22>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Saturday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Sunday"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Upcoming VPS recording!"
msgstr "VPS-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Recording started"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "VDR will shut down later - press Power to force"
msgstr "VDR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Power <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Press any key to cancel shutdown"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
msgid "Switching primary DVB..."
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DVB-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."
msgid "Editing process failed!"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"
msgid "Editing process finished"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "Press any key to cancel restart"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#, c-format
msgid "VDR will shut down in %s minutes"
msgstr "VDR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> %s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"

View File

@@ -4,10 +4,11 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 1.156 2007/10/14 10:21:54 kls Exp $ * $Id: recording.c 1.157 2007/11/04 11:17:43 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
#include <ctype.h>
#include <dirent.h> #include <dirent.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
@@ -448,12 +449,14 @@ char *ExchangeChars(char *s, bool ToFileSystem)
case '/': *p = '~'; break; case '/': *p = '~'; break;
// encoded characters: // encoded characters:
case '#': { case '#': {
if (strlen(p) > 2) { if (strlen(p) > 2 && isxdigit(*(p + 1)) && isxdigit(*(p + 2))) {
char buf[3]; char buf[3];
sprintf(buf, "%c%c", *(p + 1), *(p + 2)); sprintf(buf, "%c%c", *(p + 1), *(p + 2));
unsigned char c = strtol(buf, NULL, 16); unsigned char c = strtol(buf, NULL, 16);
*p = c; if (c) {
memmove(p + 1, p + 3, strlen(p) - 2); *p = c;
memmove(p + 1, p + 3, strlen(p) - 2);
}
} }
} }
break; break;

View File

@@ -11,7 +11,7 @@
* The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>, * The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
* and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de. * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
* *
* $Id: remux.c 1.59 2007/09/22 12:08:22 kls Exp $ * $Id: remux.c 1.60 2007/11/03 14:18:07 kls Exp $
*/ */
#include "remux.h" #include "remux.h"
@@ -1427,6 +1427,7 @@ int cDolbyRepacker::BreakAt(const uchar *Data, int Count)
#define MMAX_PLENGTH (64*MAX_PLENGTH) // some stations send PES packets that are extremely large, e.g. DVB-T in Finland or HDTV 1920x1080 #define MMAX_PLENGTH (64*MAX_PLENGTH) // some stations send PES packets that are extremely large, e.g. DVB-T in Finland or HDTV 1920x1080
#define IPACKS 2048 #define IPACKS 2048
#define SUBTITLE_PACKS KILOBYTE(32)
// Start codes: // Start codes:
#define SC_SEQUENCE 0xB3 // "sequence header code" #define SC_SEQUENCE 0xB3 // "sequence header code"
@@ -1911,7 +1912,7 @@ cRemux::cRemux(int VPid, const int *APids, const int *DPids, const int *SPids, b
if (SPids) { if (SPids) {
int n = 0; int n = 0;
while (*SPids && numTracks < MAXTRACKS && n < MAXSPIDS) while (*SPids && numTracks < MAXTRACKS && n < MAXSPIDS)
ts2pes[numTracks++] = new cTS2PES(*SPids++, resultBuffer, IPACKS, 0x00, 0x20 + n++); ts2pes[numTracks++] = new cTS2PES(*SPids++, resultBuffer, SUBTITLE_PACKS, 0x00, 0x20 + n++);
} }
} }
@@ -2009,7 +2010,7 @@ int cRemux::Put(const uchar *Data, int Count)
break; break;
if (Data[i] != TS_SYNC_BYTE) if (Data[i] != TS_SYNC_BYTE)
break; break;
if (resultBuffer->Free() < 2 * IPACKS) if (resultBuffer->Free() < SUBTITLE_PACKS)
break; // A cTS2PES might write one full packet and also a small rest break; // A cTS2PES might write one full packet and also a small rest
int pid = GetPid(Data + i + 1); int pid = GetPid(Data + i + 1);
if (Data[i + 3] & 0x10) { // got payload if (Data[i + 3] & 0x10) { // got payload

View File

@@ -6,7 +6,7 @@
* *
* Original version written by Udo Richter <udo_richter@gmx.de>. * Original version written by Udo Richter <udo_richter@gmx.de>.
* *
* $Id: shutdown.c 1.1 2007/02/24 17:24:11 kls Exp $ * $Id: shutdown.c 1.2 2007/10/19 14:33:40 kls Exp $
*/ */
#include "shutdown.h" #include "shutdown.h"
@@ -110,9 +110,11 @@ void cShutdownHandler::CheckManualStart(int ManualStart)
// Set inactive after MinUserInactivity // Set inactive after MinUserInactivity
SetUserInactiveTimeout(); SetUserInactiveTimeout();
} }
else else {
// Set inactive from now on // Set inactive from now on
dsyslog("scheduled wakeup time in %ld minutes, assuming automatic start of VDR", Delta / 60);
SetUserInactive(); SetUserInactive();
}
} }
void cShutdownHandler::SetShutdownCommand(const char *ShutdownCommand) void cShutdownHandler::SetShutdownCommand(const char *ShutdownCommand)
@@ -126,8 +128,13 @@ void cShutdownHandler::CallShutdownCommand(time_t WakeupTime, int Channel, const
time_t Delta = WakeupTime ? WakeupTime - time(NULL) : 0; time_t Delta = WakeupTime ? WakeupTime - time(NULL) : 0;
cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d", shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"), UserShutdown); cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d", shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"), UserShutdown);
isyslog("executing '%s'", *cmd); isyslog("executing '%s'", *cmd);
if (SystemExec(cmd, true) == 0) int Status = SystemExec(cmd, true);
if (!WIFEXITED(Status) || WEXITSTATUS(Status))
esyslog("SystemExec() failed with status %d", Status);
else {
Setup.NextWakeupTime = WakeupTime; // Remember this wakeup time for comparison on reboot Setup.NextWakeupTime = WakeupTime; // Remember this wakeup time for comparison on reboot
Setup.Save();
}
} }
void cShutdownHandler::SetUserInactiveTimeout(int Seconds, bool Force) void cShutdownHandler::SetUserInactiveTimeout(int Seconds, bool Force)

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: thread.c 1.62 2007/08/24 13:15:48 kls Exp $ * $Id: thread.c 1.63 2007/10/19 14:30:13 kls Exp $
*/ */
#include "thread.h" #include "thread.h"
@@ -518,7 +518,7 @@ int SystemExec(const char *Command, bool Detached)
if (Detached) { if (Detached) {
// Fork again and let first child die - grandchild stays alive without parent // Fork again and let first child die - grandchild stays alive without parent
if (fork() > 0) if (fork() > 0)
exit(0); _exit(0);
// Start a new session // Start a new session
pid_t sid = setsid(); pid_t sid = setsid();
if (sid < 0) if (sid < 0)

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: tools.c 1.136 2007/10/13 12:00:21 kls Exp $ * $Id: tools.c 1.137 2007/11/03 15:34:07 kls Exp $
*/ */
#include "tools.h" #include "tools.h"
@@ -896,7 +896,7 @@ cString DayDateTime(time_t t)
time(&t); time(&t);
struct tm tm_r; struct tm tm_r;
tm *tm = localtime_r(&t, &tm_r); tm *tm = localtime_r(&t, &tm_r);
snprintf(buffer, sizeof(buffer), "%s %02d.%02d %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min); snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
return buffer; return buffer;
} }

13
vdr.c
View File

@@ -22,7 +22,7 @@
* *
* The project's page is at http://www.cadsoft.de/vdr * The project's page is at http://www.cadsoft.de/vdr
* *
* $Id: vdr.c 1.300 2007/08/26 14:36:48 kls Exp $ * $Id: vdr.c 1.302 2007/11/03 14:46:29 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@@ -181,6 +181,7 @@ int main(int argc, char *argv[])
#define DEFAULTSVDRPPORT 2001 #define DEFAULTSVDRPPORT 2001
#define DEFAULTWATCHDOG 0 // seconds #define DEFAULTWATCHDOG 0 // seconds
#define DEFAULTCONFDIR CONFDIR
#define DEFAULTPLUGINDIR PLUGINDIR #define DEFAULTPLUGINDIR PLUGINDIR
#define DEFAULTEPGDATAFILENAME "epg.data" #define DEFAULTEPGDATAFILENAME "epg.data"
@@ -382,8 +383,7 @@ int main(int argc, char *argv[])
if (DisplayHelp) { if (DisplayHelp) {
printf("Usage: vdr [OPTIONS]\n\n" // for easier orientation, this is column 80| 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" " -a CMD, --audio=CMD send Dolby Digital audio to stdin of command CMD\n"
" -c DIR, --config=DIR read config files from DIR (default is to read them\n" " -c DIR, --config=DIR read config files from DIR (default: %s)\n"
" from the video directory)\n"
" -d, --daemon run in daemon mode\n" " -d, --daemon run in daemon mode\n"
" -D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)\n" " -D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)\n"
" there may be several -D options (default: all DVB\n" " there may be several -D options (default: all DVB\n"
@@ -425,6 +425,7 @@ int main(int argc, char *argv[])
" -w SEC, --watchdog=SEC activate the watchdog timer with a timeout of SEC\n" " -w SEC, --watchdog=SEC activate the watchdog timer with a timeout of SEC\n"
" seconds (default: %d); '0' disables the watchdog\n" " seconds (default: %d); '0' disables the watchdog\n"
"\n", "\n",
DEFAULTCONFDIR,
DEFAULTEPGDATAFILENAME, DEFAULTEPGDATAFILENAME,
DEFAULTPLUGINDIR, DEFAULTPLUGINDIR,
LIRC_DEVICE, LIRC_DEVICE,
@@ -523,6 +524,7 @@ int main(int argc, char *argv[])
int PreviousChannel[2] = { 1, 1 }; int PreviousChannel[2] = { 1, 1 };
int PreviousChannelIndex = 0; int PreviousChannelIndex = 0;
time_t LastChannelChanged = time(NULL); time_t LastChannelChanged = time(NULL);
time_t LastInteract = 0;
int MaxLatencyTime = 0; int MaxLatencyTime = 0;
bool InhibitEpgScan = false; bool InhibitEpgScan = false;
bool IsInfoMenu = false; bool IsInfoMenu = false;
@@ -536,7 +538,7 @@ int main(int argc, char *argv[])
// Configuration data: // Configuration data:
if (!ConfigDirectory) if (!ConfigDirectory)
ConfigDirectory = CONFDIR; ConfigDirectory = DEFAULTCONFDIR;
cPlugin::SetConfigDirectory(ConfigDirectory); cPlugin::SetConfigDirectory(ConfigDirectory);
cThemes::SetThemesDirectory(AddDirectory(ConfigDirectory, "themes")); cThemes::SetThemesDirectory(AddDirectory(ConfigDirectory, "themes"));
@@ -1069,6 +1071,7 @@ int main(int argc, char *argv[])
} }
Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time
if (Interact) { if (Interact) {
LastInteract = Now;
eOSState state = Interact->ProcessKey(key); eOSState state = Interact->ProcessKey(key);
if (state == osUnknown && Interact != cControl::Control()) { if (state == osUnknown && Interact != cControl::Control()) {
if (ISMODELESSKEY(key) && cControl::Control()) { if (ISMODELESSKEY(key) && cControl::Control()) {
@@ -1195,7 +1198,7 @@ int main(int argc, char *argv[])
ShutdownHandler.countdown.Cancel(); ShutdownHandler.countdown.Cancel();
} }
if (!Interact && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
// Handle housekeeping tasks // Handle housekeeping tasks
// Shutdown: // Shutdown: