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 suggesting to increase the APIVERSION to allow plugins that relied on the
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>
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
for suggesting to make the channel entry timeout configurable
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>
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>
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 suggesting an error log message if no fonts are found
Emil Naepflein <Emil.Naepflein@philosys.de>
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 pointing out that the canonical spelling of codesets is with '-'
for a hint on using _nl_msg_cat_cntr
for adding some missing 'const' keywords
Thomas Koch <tom@harhar.net>
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
for implementing cDevice::CloseFilter()
for some fixes to PLUGINS.html
for fixing handling CONFDIR
Ralf Klueber <ralf.klueber@vodafone.com>
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 fixing the description of DeviceSetAvailableTrack() and cReceiver(), and adding
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>
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 reporting a problem in handling reallocated memory in cCharSetConv::Convert()
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>
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
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 making the "Play" key start replay of the selected recording in the Recordings
menu
Steffen Beyer <cpunk@reactor.de>
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 suggesting to add the '<27>' character to the "allowed characters" in the
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>
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>
for pointing out that it was not obvious how to initiate internationalization
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
both opening and closing section filters (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
# 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:
@@ -27,7 +27,7 @@ PLUGINDIR= ./PLUGINS
PLUGINLIBDIR= $(PLUGINDIR)/lib
VIDEODIR = /video
CONFDIR ?= $(VIDEODIR)
CONFDIR = $(VIDEODIR)
DOXYGEN = /usr/bin/doxygen
DOXYFILE = Doxyfile
@@ -106,25 +106,25 @@ $(SILIB):
PODIR = po
LOCALEDIR = locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/vdr.pot
%.mo: %.po
msgfmt -c -o $@ $<
$(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 $@ $<
@touch $@
i18n: $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr.mo;\
done
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
install-i18n:
@mkdir -p $(DESTDIR)$(LOCDIR)

View File

@@ -1,7 +1,7 @@
#
# 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.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -72,25 +72,25 @@ $(DEPFILE): Makefile
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(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 $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
done
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
### Targets:

View File

@@ -1,7 +1,7 @@
#
# 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.
# This name will be used in the '-P...' option of VDR to load the plugin.
@@ -70,25 +70,25 @@ $(DEPFILE): Makefile
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(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 $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
done
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
### Targets:

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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
@@ -22,13 +22,13 @@
// VDR's own version number:
#define VDRVERSION "1.5.10"
#define VDRVERSNUM 10510 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.5.11"
#define VDRVERSNUM 10511 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
#define APIVERSION "1.5.10"
#define APIVERSNUM 10510 // Version * 10000 + Major * 100 + Minor
#define APIVERSION "1.5.11"
#define APIVERSNUM 10511 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -209,6 +209,9 @@ int cPesAssembler::PacketSize(const uchar *data)
// The default priority for non-primary devices:
#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::useDevice = 0;
int cDevice::nextCardIndex = 0;
@@ -931,7 +934,7 @@ void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly)
}
else
memset(availableTracks, 0, sizeof(availableTracks));
pre_1_3_19_PrivateStream = false;
pre_1_3_19_PrivateStream = 0;
SetAudioChannel(0); // fall back to stereo
currentAudioTrackMissingCount = 0;
currentAudioTrack = ttNone;
@@ -1236,7 +1239,7 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
int PayloadOffset = Data[8] + 9;
// 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--;
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:
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;
SubStreamType = 0x80;
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) {
case 0x20: // SPU
case 0x30: // SPU
@@ -1277,11 +1282,14 @@ pre_1_3_19_PrivateStreamDeteced:
break;
default:
// Compatibility mode for old VDR recordings, where 0xBD was only AC3:
if (!pre_1_3_19_PrivateStream) {
dsyslog("switching to pre 1.3.19 Dolby Digital compatibility mode");
ClrAvailableTracks();
pre_1_3_19_PrivateStream = true;
goto pre_1_3_19_PrivateStreamDeteced;
if (pre_1_3_19_PrivateStream <= MIN_PRE_1_3_19_PRIVATESTREAM) {
dsyslog("unknown PS1 packet, substream id = %02X (counter is at %d)", SubStreamId, pre_1_3_19_PrivateStream);
pre_1_3_19_PrivateStream += 2; // ...and every unknown PS1 packet counts up (the very first one counts twice, but that's ok)
if (pre_1_3_19_PrivateStream > MIN_PRE_1_3_19_PRIVATESTREAM) {
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
* 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
@@ -377,7 +377,7 @@ private:
cMutex mutexCurrentSubtitleTrack;
int currentAudioTrackMissingCount;
bool autoSelectPreferredSubtitleLanguage;
bool pre_1_3_19_PrivateStream;
int pre_1_3_19_PrivateStream;
protected:
virtual void SetAudioTrackDevice(eTrackType Type);
///< 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>
* 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"
@@ -692,7 +692,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
bool ResetSubtitleAssembler = Data[PayloadOffset + 3] == 0x00;
// 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--;
SubstreamHeaderLength = 1;
ResetSubtitleAssembler = Data[8] >= 5;
@@ -730,8 +730,8 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length)
break;
}
}
return Length;
}
return Length;
}
return 0;
}
@@ -767,7 +767,7 @@ void cDvbSubtitleConverter::Action(void)
//TODO sync on PTS? are there actually devices that don't deliver an STC?
}
Delta /= 90; // STC and PTS are in 1/90000s
if (abs(Delta) <= MAXDELTA) {
if (Delta <= MAXDELTA) {
if (Delta <= 0) {
dbgconverter("Got %d bitmaps, showing #%d\n", bitmaps->Count(), sb->Index() + 1);
if (AssertOsd()) {
@@ -777,8 +777,8 @@ void cDvbSubtitleConverter::Action(void)
}
bitmaps->Del(sb);
}
else
WaitMs = min(max(Delta, int64_t(0)), int64_t(1000));
else if (Delta < WaitMs)
WaitMs = Delta;
}
else
bitmaps->Del(sb);
@@ -830,6 +830,8 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
pages->Add(page);
dbgpages("Create SubtitlePage %d (total pages = %d)\n", pageId, pages->Count());
}
if (Pts)
page->SetPts(Pts);
switch (segmentType) {
case PAGE_COMPOSITION_SEGMENT: {
dbgsegments("PAGE_COMPOSITION_SEGMENT\n");
@@ -837,8 +839,6 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
if (pageVersion == page->Version())
break; // no update
page->SetVersion(pageVersion);
if (Pts)
page->SetPts(Pts);
page->SetTimeout(Data[6]);
page->SetState((Data[6 + 1] & 0x0C) >> 2);
page->regions.Clear();
@@ -968,6 +968,7 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar *Data, int Length, int64_t
dbgsegments("END_OF_DISPLAY_SET_SEGMENT\n");
FinishPage(page);
}
break;
default:
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
* 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"
@@ -395,17 +395,21 @@ cString cFont::GetFontFileName(const char *FontName)
FcConfigSubstitute(NULL, pat, FcMatchPattern);
FcDefaultSubstitute(pat);
FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL);
for (int i = 0; i < fontset->nfont; i++) {
FcBool scalable;
FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable);
if (scalable) {
FcChar8 *s = NULL;
FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s);
FontFileName = (char *)s;
break;
if (fontset) {
for (int i = 0; i < fontset->nfont; i++) {
FcBool scalable;
FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable);
if (scalable) {
FcChar8 *s = NULL;
FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s);
FontFileName = (char *)s;
break;
}
}
}
FcFontSetDestroy(fontset);
FcFontSetDestroy(fontset);
}
else
esyslog("ERROR: no usable font found for '%s'", FontName);
FcPatternDestroy(pat);
free(fn);
FcFini();

View File

@@ -10,7 +10,7 @@
# See the main source file 'vdr.c' for copyright information and
# 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:
#
@@ -306,25 +306,25 @@ $MAKEI18N = q{### Internationalization (I18N):
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(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)
msgmerge -U --no-wrap -F --backup=none -q $@ $<
%.po: $(I18Npot)
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
@touch $@
i18n: $(I18Npot) $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
done
$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
@mkdir -p $(dir $@)
cp $< $@
.PHONY: i18n
i18n: $(I18Nmsgs)
};

3
i18n.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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",
"cze,ces",
"tur",
"ukr",
NULL
};

9
menu.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -251,7 +251,7 @@ void cMenuEditChannel::Setup(void)
// Parameters for all types of sources:
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 cMenuEditIntItem( tr("Frequency"), &data.frequency));
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 cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
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();
}
Timers.IncBeingEdited();
@@ -2107,6 +2107,7 @@ eOSState cMenuRecordings::ProcessKey(eKeys Key)
if (state == osUnknown) {
switch (Key) {
case kPlay:
case kOk: return Play();
case kRed: return (helpKeys > 1 && RecordingCommands.Count()) ? Commands() : Play();
case kGreen: return Rewind();
@@ -2712,7 +2713,7 @@ cMenuSetupRecord::cMenuSetupRecord(void)
Add(new cMenuEditBoolItem(tr("Setup.Recording$Use VPS"), &data.UseVps));
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 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$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE));
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
* 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"
@@ -18,7 +18,7 @@
#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 ---------------------------------------------------------
@@ -256,7 +256,7 @@ cMenuEditStrItem::cMenuEditStrItem(const char *Name, char *Value, int Length, co
{
value = Value;
length = Length;
allowed = Allowed;
allowed = Allowed ? Allowed : tr(FileNameChars);
pos = -1;
offset = 0;
insert = uppercase = false;
@@ -285,7 +285,7 @@ void cMenuEditStrItem::EnterEditMode(void)
int l = strlen(allowed) + 1;
allowedUtf8 = new uint[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;
charMapUtf8 = new uint[l];
Utf8ToArray(charMap, charMapUtf8, l);

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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
@@ -101,7 +101,7 @@ protected:
void LeaveEditMode(bool SaveValue = false);
bool InEditMode(void) { return valueUtf8 != NULL; }
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();
virtual eOSState ProcessKey(eKeys Key);
};

View File

@@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and
# 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";
@@ -131,25 +131,25 @@ DEPFILE = .dependencies
PODIR = po
LOCALEDIR = \$(VDRDIR)/locale
I18Npo = \$(wildcard \$(PODIR)/*.po)
I18Nmo = \$(addsuffix .mo, \$(foreach file, \$(I18Npo), \$(basename \$(file))))
I18Ndirs = \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))
I18Nmsgs = \$(addprefix \$(LOCALEDIR)/, \$(addsuffix /LC_MESSAGES/vdr-\$(PLUGIN).mo, \$(notdir \$(foreach file, \$(I18Npo), \$(basename \$(file))))))
I18Npot = \$(PODIR)/\$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o \$\@ \$<
\$(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 \$\@ \$<
\@touch \$\@
i18n: \$(I18Npot) \$(I18Nmo)
\@mkdir -p \$(LOCALEDIR)
for i in \$(I18Ndirs); do\\
mkdir -p \$(LOCALEDIR)/\$\$i/LC_MESSAGES;\\
cp \$(PODIR)/\$\$i.mo \$(LOCALEDIR)/\$\$i/LC_MESSAGES/vdr-\$(PLUGIN).mo;\\
done
\$(I18Nmsgs): \$(LOCALEDIR)/%/LC_MESSAGES/vdr-\$(PLUGIN).mo: \$(PODIR)/%.mo
\@mkdir -p \$(dir \$@)
cp \$< \$\@
.PHONY: i18n
i18n: \$(I18Nmsgs)
### Targets:

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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
@@ -57,11 +57,11 @@ public:
cOsdItem(eOSState State = osUnknown);
cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true);
virtual ~cOsdItem();
bool Selectable(void) { return selectable; }
bool Selectable(void) const { return selectable; }
void SetText(const char *Text, bool Copy = true);
void SetSelectable(bool Selectable);
void SetFresh(bool Fresh);
const char *Text(void) { return text; }
const char *Text(void) const { return text; }
virtual void Set(void) {}
virtual eOSState ProcessKey(eKeys Key);
};
@@ -77,7 +77,7 @@ public:
cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; }
virtual ~cOsdObject() {}
virtual bool NeedsFastResponse(void) { return needsFastResponse; }
bool IsMenu(void) { return isMenu; }
bool IsMenu(void) const { return isMenu; }
virtual void Show(void);
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);
virtual ~cOsdMenu();
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 Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
virtual void Display(void);

View File

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

View File

@@ -870,14 +870,14 @@ msgstr "Edita
msgid "Editing process already active!"
msgstr "Edita<74>n<EFBFBD> proces je ji<6A> aktivn<76>!"
msgid " 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-.#~,/_@"
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-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ano"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Redigeringsproces startet"
msgid "Editing process already active!"
msgstr "Redigeringsproces er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Schnitt gestartet"
msgid "Editing process already active!"
msgstr "Schnitt bereits aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " a<>bcdefghijklmno<6E>pqrs<72>tu<74>vwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bcdefghijklmno<6E>pqrs<72>tu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid " 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"
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\tpqrs<EFBFBD>7\ttuv<75>8\twxyz9"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,13 +870,13 @@ msgstr "
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>!"
msgid " 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"
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"
msgid "yes"
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 ""
msgid "Button$ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Proceso de edici
msgid "Editing process already active!"
msgstr "<22>El proceso de edici<63>n ya est<73> activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " a<>bc<62>de<64>fghi<68>jklmn<6D>o<EFBFBD>pqrstu<74>vwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64>fghi<68>jklmn<6D>o<EFBFBD>pqrstu<74>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "s<>"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

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

View File

@@ -873,14 +873,14 @@ msgstr "Muokkaus aloitettu"
msgid "Editing process already active!"
msgstr "Muokkaus on jo k<>ynniss<73>!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "kyll<6C>"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

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

View File

@@ -871,13 +871,13 @@ msgstr "Rezanje je zapo
msgid "Editing process already active!"
msgstr "Ure<72>ivanje je ve<76> aktivirano!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abc<62><63>d<EFBFBD>efghijklmnopqrs<72>tuvwxyz<79>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62><63>d<EFBFBD>efghijklmnopqrs<72>tuvwxyz<79>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
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 ""
msgid "Button$ABC/abc"

View File

@@ -872,14 +872,14 @@ msgstr "V
msgid "Editing process already active!"
msgstr "A v<>g<EFBFBD>s m<>r aktiv<69>lt!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " a<>bcde<64>fghi<68>jklmno<6E><6F><EFBFBD>pqrstu<74><75><EFBFBD>vwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bcde<64>fghi<68>jklmno<6E><6F><EFBFBD>pqrstu<74><75><EFBFBD>vwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "igen"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

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

View File

@@ -872,13 +872,13 @@ msgstr "Bewerken is gestart"
msgid "Editing process already active!"
msgstr "Bewerken is al actief!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
msgid "yes"
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 ""
msgid "Button$ABC/abc"

View File

@@ -871,13 +871,13 @@ msgstr "Redigeringsprosess startet"
msgid "Editing process already active!"
msgstr "Redigeringsprosessen er allerede aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr ""
msgid "yes"
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 ""
msgid "Button$ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Proces edycji rozpocz
msgid "Editing process already active!"
msgstr "Proces edycji jest ju<6A> aktywny!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " a<>bc<62>de<64>fghijkl<6B>mn<6D>o<EFBFBD>pqrs<72>tuvwxyz<79><7A>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<>bc<62>de<64>fghijkl<6B>mn<6D>o<EFBFBD>pqrs<72>tuvwxyz<79><7A>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "tak"
msgid " 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>"
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>"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,13 +870,13 @@ msgstr "Processo de modifica
msgid "Editing process already active!"
msgstr "Processo de modifica<63><61>o j<> activo!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr ""
msgid "yes"
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 ""
msgid "Button$ABC/abc"

View File

@@ -871,14 +871,14 @@ msgstr "Montajul
msgid "Editing process already active!"
msgstr "Montajul <20>nregistr<74>rii este deja activ!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " a<><61>bcdefghi<68>jklmnopqrs<72>t<EFBFBD>uvwxyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " a<><61>bcdefghi<68>jklmnopqrs<72>t<EFBFBD>uvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "da"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "
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>!"
msgid " 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-.#~,/_@"
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-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "<22><>"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "<22><><EFBFBD>/<2F><><EFBFBD>"

View File

@@ -871,14 +871,14 @@ msgstr "Urejanje se je za
msgid "Editing process already active!"
msgstr "Urejanje je <20>e aktivno!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abc<62>defghijklmnopqrs<72>tuvwxyz<79>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62>defghijklmnopqrs<72>tuvwxyz<79>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "da"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -871,14 +871,14 @@ msgstr "Redigeringen startar"
msgid "Editing process already active!"
msgstr "Redigeringen <20>r redan aktiv!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abcdefghijklmnopqrstuvwxyz<79><7A><EFBFBD>0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "ja"
msgid " 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"
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"
msgid "Button$ABC/abc"
msgstr "ABC/abc"

View File

@@ -870,14 +870,14 @@ msgstr "Kesim ba
msgid "Editing process already active!"
msgstr "Kesim hen<65>z aktif!"
msgid " abcdefghijklmnopqrstuvwxyz0123456789-.#~,/_@"
msgstr " abc<62>defg<66>h<EFBFBD>ijklmno<6E>prs<72>tu<74>vyz0123456789-.#~,/_@"
msgid "FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgstr " abc<62>defg<66>h<EFBFBD>ijklmno<6E>prs<72>tu<74>vyz0123456789-.,#~\\^$[]|()*+?{}/:%@&"
msgid "yes"
msgstr "evet"
msgid " 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"
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"
msgid "Button$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
* 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 <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
@@ -448,12 +449,14 @@ char *ExchangeChars(char *s, bool ToFileSystem)
case '/': *p = '~'; break;
// encoded characters:
case '#': {
if (strlen(p) > 2) {
if (strlen(p) > 2 && isxdigit(*(p + 1)) && isxdigit(*(p + 2))) {
char buf[3];
sprintf(buf, "%c%c", *(p + 1), *(p + 2));
unsigned char c = strtol(buf, NULL, 16);
*p = c;
memmove(p + 1, p + 3, strlen(p) - 2);
if (c) {
*p = c;
memmove(p + 1, p + 3, strlen(p) - 2);
}
}
}
break;

View File

@@ -11,7 +11,7 @@
* 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.
*
* $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"
@@ -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 IPACKS 2048
#define SUBTITLE_PACKS KILOBYTE(32)
// Start codes:
#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) {
int n = 0;
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;
if (Data[i] != TS_SYNC_BYTE)
break;
if (resultBuffer->Free() < 2 * IPACKS)
if (resultBuffer->Free() < SUBTITLE_PACKS)
break; // A cTS2PES might write one full packet and also a small rest
int pid = GetPid(Data + i + 1);
if (Data[i + 3] & 0x10) { // got payload

View File

@@ -6,7 +6,7 @@
*
* 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"
@@ -110,9 +110,11 @@ void cShutdownHandler::CheckManualStart(int ManualStart)
// Set inactive after MinUserInactivity
SetUserInactiveTimeout();
}
else
else {
// Set inactive from now on
dsyslog("scheduled wakeup time in %ld minutes, assuming automatic start of VDR", Delta / 60);
SetUserInactive();
}
}
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;
cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d", shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"), UserShutdown);
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.Save();
}
}
void cShutdownHandler::SetUserInactiveTimeout(int Seconds, bool Force)

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -518,7 +518,7 @@ int SystemExec(const char *Command, bool Detached)
if (Detached) {
// Fork again and let first child die - grandchild stays alive without parent
if (fork() > 0)
exit(0);
_exit(0);
// Start a new session
pid_t sid = setsid();
if (sid < 0)

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -896,7 +896,7 @@ cString DayDateTime(time_t t)
time(&t);
struct tm 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;
}

13
vdr.c
View File

@@ -22,7 +22,7 @@
*
* 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>
@@ -181,6 +181,7 @@ int main(int argc, char *argv[])
#define DEFAULTSVDRPPORT 2001
#define DEFAULTWATCHDOG 0 // seconds
#define DEFAULTCONFDIR CONFDIR
#define DEFAULTPLUGINDIR PLUGINDIR
#define DEFAULTEPGDATAFILENAME "epg.data"
@@ -382,8 +383,7 @@ int main(int argc, char *argv[])
if (DisplayHelp) {
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"
" -c DIR, --config=DIR read config files from DIR (default is to read them\n"
" from the video directory)\n"
" -c DIR, --config=DIR read config files from DIR (default: %s)\n"
" -d, --daemon run in daemon mode\n"
" -D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)\n"
" 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"
" seconds (default: %d); '0' disables the watchdog\n"
"\n",
DEFAULTCONFDIR,
DEFAULTEPGDATAFILENAME,
DEFAULTPLUGINDIR,
LIRC_DEVICE,
@@ -523,6 +524,7 @@ int main(int argc, char *argv[])
int PreviousChannel[2] = { 1, 1 };
int PreviousChannelIndex = 0;
time_t LastChannelChanged = time(NULL);
time_t LastInteract = 0;
int MaxLatencyTime = 0;
bool InhibitEpgScan = false;
bool IsInfoMenu = false;
@@ -536,7 +538,7 @@ int main(int argc, char *argv[])
// Configuration data:
if (!ConfigDirectory)
ConfigDirectory = CONFDIR;
ConfigDirectory = DEFAULTCONFDIR;
cPlugin::SetConfigDirectory(ConfigDirectory);
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
if (Interact) {
LastInteract = Now;
eOSState state = Interact->ProcessKey(key);
if (state == osUnknown && Interact != cControl::Control()) {
if (ISMODELESSKEY(key) && cControl::Control()) {
@@ -1195,7 +1198,7 @@ int main(int argc, char *argv[])
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
// Shutdown: