summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY35
-rw-r--r--Makefile99
-rw-r--r--README46
-rw-r--r--bitmap.c11
-rwxr-xr-xbuildtools/po2i18n.pl158
-rw-r--r--config.c113
-rw-r--r--config.h15
-rw-r--r--enigma.c828
-rw-r--r--enigma.h16
-rw-r--r--font.c2
-rw-r--r--i18n-template.c34
-rw-r--r--i18n.c6803
-rw-r--r--i18n.h7
-rw-r--r--logo.c4
-rw-r--r--po/ca_ES.po375
-rw-r--r--po/cs_CZ.po373
-rw-r--r--po/da_DK.po373
-rw-r--r--po/de_DE.po373
-rw-r--r--po/el_GR.po373
-rw-r--r--po/es_ES.po373
-rw-r--r--po/et_EE.po374
-rw-r--r--po/fi_FI.po373
-rw-r--r--po/fr_FR.po373
-rw-r--r--po/hr_HR.po374
-rw-r--r--po/hu_HU.po374
-rwxr-xr-xpo/it_IT.po375
-rw-r--r--po/nl_NL.po373
-rw-r--r--po/nn_NO.po374
-rw-r--r--po/pl_PL.po374
-rw-r--r--po/pt_PT.po373
-rw-r--r--po/ro_RO.po374
-rw-r--r--po/ru_RU.po374
-rw-r--r--po/skinenigmang.pot374
-rw-r--r--po/sl_SI.po374
-rw-r--r--po/sv_SE.po375
-rw-r--r--po/tr_TR.po373
-rw-r--r--services/avards.h37
-rw-r--r--services/epgsearch.h167
-rw-r--r--services/mailbox.h47
-rw-r--r--setup.c150
-rw-r--r--setup.h19
-rw-r--r--skinenigmang.c11
-rw-r--r--symbols/small/v_16_9.xpm23
-rw-r--r--symbols/small/v_4_3.xpm23
-rw-r--r--symbols/small/v_l14_9.xpm23
-rw-r--r--symbols/small/v_l16_9.xpm23
-rw-r--r--symbols/small/v_l_16_9.xpm23
-rw-r--r--symbols/small/v_unknown.xpm23
-rw-r--r--texteffects.c26
-rw-r--r--texteffects.h9
-rw-r--r--themes/EnigmaNG-Black.theme55
-rw-r--r--themes/EnigmaNG-Grey.theme47
52 files changed, 14089 insertions, 3009 deletions
diff --git a/HISTORY b/HISTORY
index 59f0174..d6b16dc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,9 +1,42 @@
VDR Skin 'EnigmaNG' Revision History
------------------------------------------
+2008-03-09: Version 0.0.6
+- Added scrollbar in menu lists when compiled with VDR >= v1.5.15.
+- Fixed: VDR didn't responde anymore if the font used for lists was too small (<11px) and the marker in front of the active list item has been turned on.
+- Added workaround to fix chrashes (hopefully) for VDR 1.4.x and patched fonts.
+- Updated French translation (Submitted by Patrice Staudt).
+- Updated Dutch translation (Submitted by Johan Schuring).
+- Updated Spanish translation (Submitted by Bittor Corl).
+- Updated Finnish translation (Submitted by Rolf Ahrenberg).
+- Fixed crash in EPG details when using epgsearch if channel isn't found.
+- Updated Italian translation (Provided by Gringo).
+- Fix TrueTypeFonts support when compiled with VDR >= v1.5.4.
+- Use WeekDayNameFull() in VDR >= v1.5.5.
+- Use "Full Title Width" setting also for Tracks and Replay OSD.
+- Optionally scroll current event's title and subtitle in channel info.
+- New setup option "Show status symbols" (Suggested by chrisz @vdr-portal.de).
+- Moved to the new i18n system introduced in VDR 1.5.7; fully backwards compatible due to Udo Richter's po2i18n.pl.
+- Optionally show current WSS mode as symbol (if Avards is running).
+- Draw "Dolby Digital" and "MONO" indicator in language flags.
+- Hide inactive status symbols.
+- Removed date from OSDs: tracks, volume
+- Added status symbols in replay OSD.
+- Draw line right to logos in Tracks and Replay OSD as it's done in other OSDs too.
+- Added channel info OSD for "Info on channel switch = no" VDR option (Reported by Pat @vdr-portal.de).
+- Removed compile time dependencies to plugin services.
+- Renamed SKINENIGMA_HAVE_EPGSEARCH define to SKINENIGMA_USE_PLUGIN_EPGSEARCH.
+- Disable i18n support for VDR >= v1.5.7.
+- Added Turkish to translation array (for VDR >= v1.5.2).
+- Use group name for logos even if channel logos are searched for by channel id.
+- Fixed problems when compiling with VDR v1.5.7+ (Reported by Matthias Fechner).
+- Fixed problems with certain images (Submitted by pinky666 @vdr-portal.de).
+- Fixed crash if using display of repeatings in EPG details and reelchannelscan plugin is loaded.
+- New setup option for location of messages in menu OSD.
+
2007-07-02: Version 0.0.5
- Reworked font handling in menu OSD a little bit to (hopefully) fix crashes with plugins that patch fonts.
-- Updated Nederlands translation (Provided by dorpsgek @vdr-portal.de).
+- Updated Dutch translation (Provided by dorpsgek @vdr-portal.de).
- Don't make info area in mainmenu too small (Requested by vdrchuck @vdr-portal.de).
- Save and restore TTF FixedFont (Reported by zulu @vdr-portal.de).
- Updated Italian translation (Provided by Gringo).
diff --git a/Makefile b/Makefile
index 118a0b7..dfd8f44 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,7 @@
#
# Makefile for a Video Disk Recorder plugin
#
-# $Id: Makefile,v 1.16 2007/06/25 10:44:11 amair Exp $
-
-# If you are using the epgsearch plugin and want to see the number of
-# timer conflicts in the main menu's info area.
-#SKINENIGMA_HAVE_EPGSEARCH = 1
+# $Id: Makefile,v 1.24 2008/03/09 08:31:30 amair Exp $
# This turns usage of logos in the main menu complete. This might also
# improve the performance of the menus. EXPERIMENTAL!!!
@@ -18,23 +14,26 @@
# images in event's and recording's details.
#HAVE_IMAGEMAGICK = 1
+# If you are using the epgsearch plugin and want to see the number of
+# timer conflicts in the main menu's info area.
+SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
+
# If you use the mailbox plugin this will include support for it.
-# NOTE: this can also be defined if you don't know if the mailbox
-# plugin will be used because it has no compile time requirements.
SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-# EXPERIMENTAL!!! NOT YET OFFICIALY SUPPORTED!!!
-#
-# USE AT OWN RISC!!!
-#SKINENIGMA_USE_PLUGIN_AVARDS = 1
+# Include code to support the Avards plugin:
+# - Dynamic OSD size depending on current WSS mode.
+# - Display current WSS mode in channel info and replay OSDs.
+SKINENIGMA_USE_PLUGIN_AVARDS = 1
# Disable any code that is used for scrolling or blinking text.
# NOTE: this is only useful if you want to save some bytes because you
# can disable them in the setup too.
-#DISABLE_ANIMATED_TEXT = 1
+#SKINENIGMA_DISABLE_ANIMATED_TEXT = 1
# Set the descriptions for fonts you've patched in VDR. These fonts then
# can be selected in EnigmaNG setup.
+# This is NOT the path to TrueType fonts!
#SKINENIGMA_FONTS = "\"Test Font\", \"Test2 Font\""
# If you have installed FreeType2 and want to use TrueTypeFonts.
@@ -68,12 +67,16 @@ TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
#TODO
CLEAR_BUG_WORKAROUND = 1
+ENABLE_COPYFONT = 1
-include $(VDRDIR)/Make.config
### The version number of VDR's plugin API (taken from VDR's "config.h"):
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
+### Test whether VDR has locale support
+VDRLOCALE = $(shell grep '^LOCALEDIR' $(VDRDIR)/Makefile)
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
@@ -85,8 +88,13 @@ INCLUDES += -I$(VDRDIR)/include
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+ifdef SKINENIGMA_USE_PLUGIN_EPGSEARCH
+DEFINES += -DUSE_PLUGIN_EPGSEARCH
+else
+# for backwards compatibility only
ifdef SKINENIGMA_HAVE_EPGSEARCH
-DEFINES += -DSKINENIGMA_HAVE_EPGSEARCH
+DEFINES += -DUSE_PLUGIN_EPGSEARCH
+endif
endif
ifdef SKINENIGMA_DEBUG
@@ -118,6 +126,10 @@ ifdef CLEAR_BUG_WORKAROUND
DEFINES += -DCLEAR_BUG_WORKAROUND
endif
+ifdef ENABLE_COPYFONT
+DEFINES += -DENABLE_COPYFONT
+endif
+
DEFINES += -DSKINENIGMA_FONTS=$(SKINENIGMA_FONTS)
### The object files (add further files here):
@@ -141,6 +153,10 @@ ifdef HAVE_FREETYPE
OBJS += font.o
endif
+### The main target:
+
+all: libvdr-$(PLUGIN).so i18n
+
### Implicit rules:
%.o: %.c
@@ -151,13 +167,58 @@ endif
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
- @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(subst i18n.c,,$(OBJS:%.o=%.c)) > $@
-include $(DEPFILE)
-### Targets:
+### 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))))
+I18Npot = $(PODIR)/$(PLUGIN).pot
+I18Nvdrmo = vdr-$(PLUGIN).mo
+ifeq ($(strip $(APIVERSION)),1.5.7)
+ I18Nvdrmo = $(PLUGIN).mo
+endif
+
+%.mo: %.po
+ msgfmt -c -o $@ $<
+
+$(I18Npot): $(subst i18n.c,,$(wildcard *.c))
+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<andreas@vdr-developer.org>' -o $@ $(subst i18n.c,,$(wildcard *.c))
+
+$(I18Npo): $(I18Npot)
+ msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
+
+ifneq ($(strip $(VDRLOCALE)),)
+### do gettext based i18n stuff
+
+i18n: $(I18Nmo)
+ @mkdir -p $(LOCALEDIR)
+ for i in $(I18Ndirs); do\
+ mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
+ cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/$(I18Nvdrmo);\
+ done
+
+i18n.c: i18n-template.c
+ @cp i18n-template.c i18n.c
-all: libvdr-$(PLUGIN).so
+else ### do i18n.c based i18n stuff
+
+i18n:
+ @### nothing to do
+
+#i18n compatibility generator:
+i18n.c: i18n-template.c buildtools/po2i18n.pl $(I18Npo)
+ buildtools/po2i18n.pl < i18n-template.c > i18n.c
+
+endif
+
+
+### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@
@@ -166,13 +227,13 @@ ifndef SKINENIGMA_DEBUG
endif
@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-dist: clean
+dist: clean i18n.c
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
- @tar czf $(PACKAGE).tgz --exclude CVS -C $(TMPDIR) $(ARCHIVE)
+ @tar czf $(PACKAGE).tgz --exclude CVS --exclude '.#*' --exclude '*.bak' -C $(TMPDIR) $(ARCHIVE)
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@echo Distribution package created as $(PACKAGE).tgz
clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+ @-rm -f $(OBJS) $(DEPFILE) i18n.c *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/README b/README
index eec17ff..913d9f5 100644
--- a/README
+++ b/README
@@ -29,11 +29,17 @@ Compile time configuration
There are some configuration items you need to set before running
"make plugins" in "Make.config":
-SKINENIGMA_HAVE_EPGSEARCH = 1
+SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
If you are using the epgsearch plugin and want to see the number of
timer conflicts in the main menu's info area.
-NOTE: This requires the sources of the epgsearch Plugin beside the
-EnigmaNG sources!
+
+SKINENIGMA_USE_PLUGIN_AVARDS = 1
+Include code to support the Avards plugin:
+ - Dynamic OSD size depending on current WSS mode.
+ - Display current WSS mode in channel info and replay OSDs.
+
+SKINENIGMA_USE_PLUGIN_MAILBOX = 1
+If you use the mailbox plugin this will include support for it.
SKINENIGMA_NO_MENULOGO = 1
This turns usage of logos in the main menu complete. This might also
@@ -43,11 +49,6 @@ HAVE_IMAGEMAGICK = 1
If you have installed ImageMagick and want to use images in event's
and recording's details.
-SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-If you use the mailbox plugin this will include support for it.
-NOTE: this can also be defined if you don't know if the mailbox
-plugin will be used because it has no compile time requirements.
-
SKINENIGMA_DISABLE_ANIMATED_TEXT = 1
Disable any code that is used for scrolling or blinking text.
NOTE: this is only useful if you want to save some bytes because you
@@ -56,6 +57,7 @@ can disable them in the setup too.
SKINENIGMA_FONTS =
Set the descriptions for fonts you've patched in VDR. These fonts then
can be selected in EnigmaNG setup.
+NOTE: This is NOT the path to your TrueType fonts!!!
HAVE_FREETYPE = 1
If you have installed FreeType2 and want to use TrueTypeFonts.
@@ -140,7 +142,7 @@ Setup Options
- Show info area in main menu
This info area is shown in the main menu and it will show the current/next
- timers and the number of timer conflicts (if SKINENIGMA_HAVE_EPGSEARCH has
+ timers and the number of timer conflicts (if SKINENIGMA_USE_PLUGIN_EPGSEACH has
been defined).
- Show auxiliary information (top/bottom)
@@ -181,6 +183,18 @@ Setup Options
This replaces progressbars shown with pipes (e.g. [|| ]) by a graphical
progressbar.
+- Dynamic OSD size
+ Get OSD size from Avards or VDR >= v1.5.4.
+ NOTE: This requires EnigmaNG compiled with SKINENIGMA_USE_PLUGIN_AVARDS = 1
+ and a running Avards plugin.
+
+- Show messages in menu on (Last line/Help buttons/Free last line)
+ Last line - Messages will hide the last line in the menu OSD.
+ Help buttons - Messages will hide the help buttons in menu OSD.
+ Free last line - The same as "Last line" but now the available list items
+ is reduced by one.
+
+
* Logos & Symbols
- Show symbols
@@ -200,10 +214,18 @@ Setup Options
- Show marker in lists
If enabled a small circle is drawn in front of the selected item in lists.
+- Show status symbols
+ Display the status symbols in channel info and recording's progress info.
+
- Show flags
If enabled graphical flags are drawn for the audio channel languages if the
requested flag file exists. Else language's abbreviation is drawn.
+- Show WSS mode symbols
+ Show symbols instead of text for the current WSS mode.
+ NOTE: This requires EnigmaNG compiled with SKINENIGMA_USE_PLUGIN_AVARDS = 1
+ and a running Avards plugin.
+
- Show mail icon (never/only if new mail present/always)
(NOTE: only visible if mailbox plugin support is compiled in and plugin is loaded!)
Enables mail icon in channel info.
@@ -385,4 +407,10 @@ Credits
- Morone @vdr-portal.de for MoBuntu theme.
http://www.vdr-portal.de/board/thread.php?postid=619867#post619867
+
+- The translation team:
+ See i18n-template.c.
+
+- Udo Richter (udo_richter @gmx.de) for po2i18n.pl.
+ http://www.udo-richter.de/vdr/scripts.en.html#po2i18n
// vim:et:sw=2:ts=2:
diff --git a/bitmap.c b/bitmap.c
index 4ca52b4..8b7214c 100644
--- a/bitmap.c
+++ b/bitmap.c
@@ -32,9 +32,11 @@ bool cOSDImageBitmap::DrawMagick(const char *Filename, int x, int y, int width,
{
Image image;
try {
+ Geometry geo;
image.read(Filename);
- int w = image.columns();
- int h = image.rows();
+ geo = image.size();
+ int w = geo.width();
+ int h = geo.height();
if (height != h || width != w) {
switch (EnigmaConfig.resizeImages) {
case 0:
@@ -48,8 +50,9 @@ bool cOSDImageBitmap::DrawMagick(const char *Filename, int x, int y, int width,
break;
}
}
- w = image.columns();
- h = image.rows();
+ geo = image.size();
+ w = geo.width();
+ h = geo.height();
if (colors != 0){
image.opacity(OpaqueOpacity);
image.backgroundColor(Color(0, 0, 0, 0));
diff --git a/buildtools/po2i18n.pl b/buildtools/po2i18n.pl
new file mode 100755
index 0000000..b210fe5
--- /dev/null
+++ b/buildtools/po2i18n.pl
@@ -0,0 +1,158 @@
+#!/usr/bin/perl
+#
+# po2i18n - Convert plugin po files in into i18n.c-format
+#
+# Written by: Udo Richter <udo_richter@gmx.de>
+# Project's homepage: http://www.udo-richter.de/vdr/scripts.html#po2i18n
+# http://www.udo-richter.de/vdr/scripts.en.html#po2i18n
+#
+
+use strict;
+use warnings;
+
+my @LANGS = (
+ "en_US",
+ "de_DE",
+ "sl_SI",
+ "it_IT",
+ "nl_NL",
+ "pt_PT",
+ "fr_FR",
+ "nn_NO",
+ "fi_FI",
+ "pl_PL",
+ "es_ES",
+ "el_GR",
+ "sv_SE",
+ "ro_RO",
+ "hu_HU",
+ "ca_ES",
+ "ru_RU",
+ "hr_HR",
+ "et_EE",
+ "da_DK",
+ "cs_CZ",
+ "tr_TR"
+ );
+
+my %VERS = (
+ "en_US" => 10200,
+ "de_DE" => 10200,
+ "sl_SI" => 10200,
+ "it_IT" => 10200,
+ "nl_NL" => 10200,
+ "pt_PT" => 10200,
+ "fr_FR" => 10200,
+ "nn_NO" => 10200,
+ "fi_FI" => 10200,
+ "pl_PL" => 10200,
+ "es_ES" => 10200,
+ "el_GR" => 10200,
+ "sv_SE" => 10200,
+ "ro_RO" => 10200,
+ "hu_HU" => 10200,
+ "ca_ES" => 10200,
+ "ru_RU" => 10302,
+ "hr_HR" => 10307,
+ "et_EE" => 10313,
+ "da_DK" => 10316,
+ "cs_CZ" => 10342,
+ "tr_TR" => 10502
+ );
+
+
+my %strings;
+
+foreach my $lang (@LANGS) { $strings{$lang} = { }; }
+
+
+sub LoadLanguage(*) {
+ my ($lang) = @_;
+
+ if (!open FILE, "<", "po/$lang.po") {
+ return 0;
+ }
+
+ my $msgid = "";
+ my $msgstr = "";
+ my $last = 0; # 0=init, 1=msgid was last, 2=msgstr was last
+
+ while (<FILE>) {
+ chomp;
+ my $line = $_;
+
+ if ($line =~ /^msgid "(.*)"$/) {
+ if ($last eq 2) {
+ $strings{$lang}->{$msgid} = $msgstr;
+ $strings{"en_US"}->{$msgid} = $msgid;
+ }
+ $msgid = $1;
+ $last = 1;
+ } elsif ($line =~ /^msgstr "(.*)"/) {
+ $msgstr = $1;
+ $last = 2;
+ } elsif ($line =~ /^"(.*)"/) {
+ if ($last eq 1) {
+ $msgid = $msgid . $1;
+ } elsif ($last eq 2) {
+ $msgstr = $msgstr . $1;
+ }
+ }
+ }
+ if ($last eq 2) {
+ $strings{$lang}->{$msgid} = $msgstr;
+ $strings{"en_US"}->{$msgid} = $msgid;
+ }
+
+ close FILE;
+}
+
+
+
+foreach my $lang (@LANGS) {
+ LoadLanguage($lang);
+}
+
+my @msgids = sort keys %{$strings{"en_US"}};
+
+
+my $silent = 0;
+
+while (<>) {
+ my $line = $_;
+
+ if ($line =~ /^\/\/ START I18N/) {
+ print "// START I18N - automatically generated by po2i18n.pl\n";
+ for my $msgid (@msgids) {
+ next if $msgid eq "";
+
+ my $head = " { ";
+ my $endif = "";
+ my $versnum = 10200;
+
+ for my $lang (@LANGS) {
+ if ($VERS{$lang} ne $versnum) {
+ $versnum = $VERS{$lang};
+ print $endif;
+ print "#if VDRVERSNUM >= $versnum\n";
+ $endif = "#endif\n";
+ }
+ my $msgstr = $strings{$lang}->{$msgid};
+ $msgstr = "" if !defined $msgstr;
+
+ print "$head\"$msgstr\",\n";
+ $head = " ";
+ }
+ print $endif;
+ print " },\n";
+ }
+ $silent = 1;
+ }
+
+ if (!$silent) { print $line; }
+
+ if ($line =~ /^\/\/ END I18N/) {
+ print "// END I18N - automatically generated by po2i18n.pl\n";
+ $silent = 0;
+ }
+}
diff --git a/config.c b/config.c
index 3d96fc3..1b7192f 100644
--- a/config.c
+++ b/config.c
@@ -10,7 +10,7 @@
#include "tools.h"
#ifdef USE_PLUGIN_AVARDS
-#include "../avards/avards_services.h"
+#include "services/avards.h"
#endif
#include <stdlib.h>
@@ -29,6 +29,10 @@ cGraphtftFont FontCache;
# endif
#endif
+#ifndef DISABLE_ANIMATED_TEXT
+const cFont *vdrFonts[eDvbFontSize];
+#endif
+
FontConfig allFontConfig[FONT_NUMFONTS] =
{
{ FONT_OSDTITLE, "FontOsdTitle", "FontOsdTitleName" },
@@ -61,7 +65,7 @@ cEnigmaConfig::cEnigmaConfig() : showAuxInfo(1), showLogo(1), showVps(1), showSy
imageWidth(120), imageHeight(80), imageExtension(0), fullTitleWidth(0),
useTextEffects(0), scrollDelay(50), scrollPause(1500), scrollMode(0),
blinkPause(1000), scrollInfo(1), scrollListItem(1), scrollOther(1), scrollTitle(1),
- dynOsd(0)
+ dynOsd(0), statusLineMode(0), showWssSymbols(0), showStatusSymbols(1)
{
memset(logoDir, 0, sizeof(logoDir));
memset(strImagesDir, 0, sizeof(strImagesDir));
@@ -89,10 +93,16 @@ cEnigmaConfig::cEnigmaConfig() : showAuxInfo(1), showLogo(1), showVps(1), showSy
allFonts[id].Width = 100;
allFonts[id].Size = 26;
}
+
+#ifndef DISABLE_ANIMATED_TEXT
+ for (int id = 0; id < eDvbFontSize; id++)
+ vdrFonts[id] = NULL;
+#endif
}
cEnigmaConfig::~cEnigmaConfig()
{
+ INIT_FONTS; // free allocated fonts
}
void cEnigmaConfig::SetLogoDir(const char *logodirP)
@@ -130,18 +140,33 @@ void cEnigmaConfig::SetFontsDir(const char *dir)
}
#endif
-const cFont *cEnigmaConfig::GetFont(int id, const cFont *pFontCur)
+#ifndef DISABLE_ANIMATED_TEXT
+void cEnigmaConfig::InitFonts(void)
+{
+ for (int id = 0; id < eDvbFontSize; id++) {
+ if (vdrFonts[id]) {
+ delete vdrFonts[id];
+ vdrFonts[id] = NULL;
+ }
+ }
+}
+#endif
+
+const cFont *cEnigmaConfig::GetFont(int id)
{
const cFont *res = NULL;
if (::Setup.UseSmallFont == 1) { // if "Use small font" == "skin dependent"
if (allFonts[id].VdrId == FONT_TRUETYPE) {
- if (pFontCur) // TTFs can't get patched, so it's always save to return the previous pointer
- return pFontCur;
if (!isempty(allFonts[id].Name)) {
#ifdef HAVE_FREETYPE
char *cachename;
+#if VDRVERSNUM < 10503
asprintf(&cachename, "%s_%d_%d_%d", allFonts[id].Name, allFonts[id].Size, allFonts[id].Width, Setup.OSDLanguage);
if (FontCache.Load(string(strFontsDir) + "/" + string(allFonts[id].Name), cachename, allFonts[id].Size, Setup.OSDLanguage, allFonts[id].Width)) {
+#else
+ asprintf(&cachename, "%s_%d_%d_%s", allFonts[id].Name, allFonts[id].Size, allFonts[id].Width, Setup.OSDLanguage);
+ if (FontCache.Load(string(allFonts[id].Name), cachename, allFonts[id].Size, allFonts[id].Width)) {
+#endif
res = FontCache.GetFont(cachename);
} else {
error("ERROR: EnigmaNG: Couldn't load font %s:%d", allFonts[id].Name, allFonts[id].Size);
@@ -152,20 +177,88 @@ const cFont *cEnigmaConfig::GetFont(int id, const cFont *pFontCur)
#endif
}
} else if (allFonts[id].VdrId > FONT_TRUETYPE) {
+#ifdef DISABLE_ANIMATED_TEXT
res = cFont::GetFont((eDvbFont)(allFonts[id].VdrId - 1));
+#else
+ res = CopyFont((eDvbFont)(allFonts[id].VdrId - 1));
+#endif
} else {
+#ifdef DISABLE_ANIMATED_TEXT
res = cFont::GetFont((eDvbFont)allFonts[id].VdrId);
+#else
+ res = CopyFont((eDvbFont)allFonts[id].VdrId);
+#endif
}
- }
- if (res == NULL)
- res = cFont::GetFont((eDvbFont)allFonts[id].Default);
+ if (res == NULL) {
+#ifdef DISABLE_ANIMATED_TEXT
+ res = cFont::GetFont((eDvbFont)allFonts[id].Default);
+#else
+ res = CopyFont((eDvbFont)allFonts[id].Default);
+#endif
+ }
+ }
if (res)
return res;
- else
- return cFont::GetFont(fontOsd);
+ else {
+#ifdef DISABLE_ANIMATED_TEXT
+ return cFont::GetFont(::Setup.UseSmallFont == 2 ? fontSml : fontOsd);
+#else
+ return CopyFont(::Setup.UseSmallFont == 2 ? fontSml : fontOsd);
+#endif
+ }
+}
+
+#ifndef DISABLE_ANIMATED_TEXT
+const cFont *cEnigmaConfig::CopyFont(eDvbFont vdrId)
+{
+# ifdef ENABLE_COPYFONT
+ if (vdrFonts[vdrId]) {
+ return vdrFonts[vdrId];
+ }
+
+ const cFont *res = NULL;
+# if VDRVERSNUM < 10503
+ const cFont *src = cFont::GetFont(vdrId);
+
+ int num_rows_global = src->Height();
+ int num_rows = num_rows_global + 2;
+ cFont::tPixelData* font_data = new cFont::tPixelData[225 * num_rows];
+
+ for (int i = 0; i < 225; i++) {
+ for (int j = 0; j < num_rows; j++) {
+ font_data[i * num_rows + j] = 0x0000000000000000;
+ }
+ }
+ font_data[0 + 0] = src->CharData(0)->width;
+ font_data[0 + 1] = num_rows_global;
+
+ for (int num_char = 33, i = 1; num_char < cFont::NUMCHARS; i++, num_char++) {
+ const cFont::tCharData *char_data = src->CharData(num_char);
+ font_data[i * num_rows + 0] = char_data->width;
+ font_data[i * num_rows + 1] = char_data->height;
+ for(int j = 0; j < (int)char_data->height; j++) {
+ cFont::tPixelData Data = (cFont::tPixelData)char_data->lines[j];
+ font_data[i * num_rows + 2 + j] = Data;
+ }
+ }
+
+ res = new cFont(font_data);
+# else
+ switch (vdrId) {
+ case fontSml: res = cFont::CreateFont(Setup.FontSml, Setup.FontSmlSize); break;
+ case fontFix: res = cFont::CreateFont(Setup.FontFix, Setup.FontFixSize); break;
+ default: res = cFont::CreateFont(Setup.FontOsd, Setup.FontOsdSize); break;
+ }
+# endif
+ vdrFonts[vdrId] = res;
+ return res;
+# else
+ return cFont::GetFont(vdrId);
+# endif
}
+#endif
void cEnigmaConfig::SetFont(int id, const char *font)
{
diff --git a/config.h b/config.h
index 9918cf4..c7f7411 100644
--- a/config.h
+++ b/config.h
@@ -31,6 +31,12 @@ extern const char *imageExtensionTexts[NUM_IMAGEEXTENSIONTEXTS];
#define MAXFONTSIZE 64
#endif
+#ifdef DISABLE_ANIMATED_TEXT
+# define INIT_FONTS
+#else
+# define INIT_FONTS EnigmaConfig.InitFonts()
+#endif
+
struct EnigmaOsdSize
{
int x;
@@ -102,7 +108,11 @@ public:
char *GetFontsDir(void) { return strFontsDir; }
#endif
const char *GetImageExtension(void);
- const cFont *GetFont(int id, const cFont *pFontCur = NULL);
+ const cFont *GetFont(int id);
+#ifndef DISABLE_ANIMATED_TEXT
+ void InitFonts(void);
+ const cFont *CopyFont(eDvbFont vdrId);
+#endif
void SetFont(int id, const char *font);
void SetFont(int id, int vdrId);
void GetOsdSize(struct EnigmaOsdSize *size);
@@ -145,6 +155,9 @@ public:
int scrollOther;
int scrollTitle;
int dynOsd;
+ int statusLineMode;
+ int showWssSymbols;
+ int showStatusSymbols;
FontInfo allFonts[FONT_NUMFONTS];
};
diff --git a/enigma.c b/enigma.c
index 46a45ff..8e781a0 100644
--- a/enigma.c
+++ b/enigma.c
@@ -27,12 +27,16 @@
#include <vdr/themes.h>
#include <vdr/plugin.h>
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
-#include "../epgsearch/services.h"
+#ifdef USE_PLUGIN_EPGSEARCH
+#include "services/epgsearch.h"
#endif
#ifdef USE_PLUGIN_AVARDS
-#include "../avards/avards_services.h"
+#include "services/avards.h"
+#endif
+
+#ifdef USE_PLUGIN_MAILBOX
+#include "services/mailbox.h"
#endif
#include "tools.h"
@@ -64,8 +68,22 @@
#ifdef USE_PLUGIN_MAILBOX
#include "symbols/small/mail.xpm"
#endif
-
-static const char *strWeekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
+#ifdef USE_PLUGIN_AVARDS
+#define MAX_AVARDS_MODES 6
+#include "symbols/small/v_unknown.xpm"
+#include "symbols/small/v_4_3.xpm"
+#include "symbols/small/v_l14_9.xpm"
+#include "symbols/small/v_l16_9.xpm"
+#include "symbols/small/v_l_16_9.xpm"
+#include "symbols/small/v_16_9.xpm"
+#endif
+
+#if VDRVERSNUM < 10505
+static const char *strWeekdays[] = {trNOOP("Sunday"), trNOOP("Monday"), trNOOP("Tuesday"), trNOOP("Wednesday"), trNOOP("Thursday"), trNOOP("Friday"), trNOOP("Saturday")};
+#define WEEKDAY(n) tr(strWeekdays[n])
+#else
+#define WEEKDAY(n) WeekDayNameFull(n)
+#endif
static cBitmap bmEventPartTimer(eventparttimer_xpm);
static cBitmap bmEventTimer(eventtimer_xpm);
@@ -91,6 +109,16 @@ static cBitmap bmTimer(timer_xpm);
#ifdef USE_PLUGIN_MAILBOX
static cBitmap bmMail(mail_xpm);
#endif
+#ifdef USE_PLUGIN_AVARDS
+static cBitmap bmWSS[MAX_AVARDS_MODES] = {
+ cBitmap(v_unknown_xpm),
+ cBitmap(v_4_3_xpm),
+ cBitmap(v_l14_9_xpm),
+ cBitmap(v_l16_9_xpm),
+ cBitmap(v_l_16_9_xpm),
+ cBitmap(v_16_9_xpm)
+};
+#endif
// audio menu
static const char *strAudio_large[MAX_AUDIO_BITMAPS] = {
@@ -196,6 +224,9 @@ THEME_CLR(Theme, clrReplayProgressMark, 0xFF4158BC);
THEME_CLR(Theme, clrReplayProgressCurrent, 0xFFFF0000);
#define MIN_DATEWIDTH 144
+// Minimum progress bar width in channel info
+#define MIN_CI_PROGRESS 124
+
#define TinyGap 1
#define SmallGap 2
#define Gap 4
@@ -212,21 +243,26 @@ THEME_CLR(Theme, clrReplayProgressCurrent, 0xFFFF0000);
#define MarkerGap 6
#define ListProgressBarGap Gap
#define ListProgressBarBorder TinyGap
+#define ListHBorder Gap
#define ScrollbarHeight 20
#define ScrollbarWidth 16
// --- cSkinEnigmaDisplayChannel --------------------------------------------
-class cSkinEnigmaDisplayChannel : public cSkinDisplayChannel, public cSkinEnigmaOsd {
+class cSkinEnigmaDisplayChannel : public cSkinDisplayChannel, public cSkinEnigmaBaseOsd, public cSkinEnigmaThreadedOsd {
private:
- cOsd *osd;
bool fShowLogo;
+ bool fWithInfo;
char *strLastDate;
+ int nMessagesShown;
#ifndef DISABLE_ANIMATED_TEXT
bool fScrollTitle;
+ bool fScrollOther;
bool fLocked;
int idTitle;
+ int idEvTitle;
+ int idEvSubTitle;
#endif
const cFont *pFontOsdTitle;
@@ -244,10 +280,10 @@ private:
int xMessageLeft, xMessageRight, yMessageTop, yMessageBottom;
int xFirstSymbol, xDateLeft;
- bool HasChannelTimerRecording(const cChannel *Channel);
void DrawAreas(void);
void DrawGroupInfo(const cChannel *Channel, int Number);
void DrawChannelInfo(const cChannel *Channel, int Number);
+ void DrawSymbols(const cChannel *Channel);
cString GetChannelName(const cChannel *Channel);
cString GetChannelNumber(const cChannel *Channel, int Number);
public:
@@ -264,6 +300,9 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo)
{
debug("cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(%d)", WithInfo);
+ INIT_FONTS;
+
+ fWithInfo = WithInfo;
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
@@ -276,40 +315,56 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo)
fShowLogo = EnigmaConfig.showLogo;
xFirstSymbol = 0;
+ nMessagesShown = 0;
strLastDate = NULL;
#ifndef DISABLE_ANIMATED_TEXT
fScrollTitle = EnigmaConfig.useTextEffects && EnigmaConfig.scrollTitle;
+ fScrollOther = EnigmaConfig.useTextEffects && EnigmaConfig.scrollOther;
idTitle = -1;
+ idEvTitle = -1;
+ idEvSubTitle = -1;
#endif
int MessageHeight = 2 * SmallGap + pFontMessage->Height() + 2 * SmallGap;
- int LogoSize = std::max(pFontTitle->Height() * 2 + pFontSubtitle->Height() * 2 + SmallGap, ChannelLogoHeight);
+ int LogoSize = 0;
+ if (fWithInfo)
+ LogoSize = std::max(pFontTitle->Height() * 2 + pFontSubtitle->Height() * 2 + SmallGap, ChannelLogoHeight);
+ else
+ LogoSize = std::max(std::max(pFontOsdTitle->Height(), pFontDate->Height()) + TitleDecoGap + TitleDecoHeight + TitleDecoGap2 + MessageHeight + pFontLanguage->Height() + SmallGap, ChannelLogoHeight);
+
LogoSize += (LogoSize % 2 ? 1 : 0);
// title bar & logo area
xLogoLeft = 0;
xLogoRight = xLogoLeft + LogoSize;
xLogoDecoLeft = xLogoRight + LogoDecoGap;
xLogoDecoRight = xLogoDecoLeft + LogoDecoWidth;
- xTitleLeft = (fShowLogo && !EnigmaConfig.fullTitleWidth ? xLogoDecoRight + LogoDecoGap2 : xLogoLeft);
+ xTitleLeft = (fShowLogo && (!EnigmaConfig.fullTitleWidth || !fWithInfo) ? xLogoDecoRight + LogoDecoGap2 : xLogoLeft);
xTitleRight = xTitleLeft + ((OsdSize.w - xTitleLeft) & ~0x07); // width must be multiple of 8
yTitleTop = 0;
yTitleBottom = yTitleTop + std::max(pFontOsdTitle->Height(), pFontDate->Height());
yTitleDecoTop = yTitleBottom + TitleDecoGap;
yTitleDecoBottom = yTitleDecoTop + TitleDecoHeight;
- yLogoTop = yTitleDecoBottom + TitleDecoGap2;
+ yLogoTop = (fWithInfo ? yTitleDecoBottom + TitleDecoGap2 : yTitleTop);
yLogoBottom = yLogoTop + LogoSize;
xLogoPos = xLogoLeft + (LogoSize - ChannelLogoHeight) / 2;
yLogoPos = yLogoTop + (LogoSize - ChannelLogoHeight) / 2;
- // current event area
- xEventNowLeft = (fShowLogo ? xLogoDecoRight + LogoDecoGap2 : xTitleLeft);
- xEventNowRight = xTitleRight;
- yEventNowTop = yLogoTop;
- yEventNowBottom = yEventNowTop + pFontTitle->Height() + pFontSubtitle->Height();
- // next event area
- xEventNextLeft = xEventNowLeft;
- xEventNextRight = xEventNowRight;
- yEventNextTop = yEventNowBottom + SmallGap;
- yEventNextBottom = yEventNextTop + pFontTitle->Height() + pFontSubtitle->Height();
+ if (fWithInfo) {
+ // current event area
+ xEventNowLeft = (fShowLogo ? xLogoDecoRight + LogoDecoGap2 : xTitleLeft);
+ xEventNowRight = xTitleRight;
+ yEventNowTop = yLogoTop;
+ yEventNowBottom = yEventNowTop + pFontTitle->Height() + pFontSubtitle->Height();
+ // next event area
+ xEventNextLeft = xEventNowLeft;
+ xEventNextRight = xEventNowRight;
+ yEventNextTop = yEventNowBottom + SmallGap;
+ yEventNextBottom = yEventNextTop + pFontTitle->Height() + pFontSubtitle->Height();
+ } else {
+ xEventNowLeft = xEventNextLeft = (fShowLogo ? xLogoDecoRight + LogoDecoGap2 : xTitleLeft);
+ xEventNowRight = xEventNextRight = xTitleRight;
+ yEventNowTop = yEventNextTop = yTitleDecoBottom + TitleDecoGap2;
+ yEventNowBottom = yEventNextBottom = yLogoBottom - pFontLanguage->Height() - SmallGap;
+ }
// progress bar area
xBottomLeft = xTitleLeft;
xBottomRight = xTitleRight;
@@ -371,7 +426,7 @@ cSkinEnigmaDisplayChannel::cSkinEnigmaDisplayChannel(bool WithInfo)
#ifndef DISABLE_ANIMATED_TEXT
fLocked = false;
- if (fScrollTitle) {
+ if (fScrollTitle || fScrollOther) {
TE_START(osd);
fLocked = true;
}
@@ -383,7 +438,7 @@ cSkinEnigmaDisplayChannel::~cSkinEnigmaDisplayChannel()
debug("cSkinEnigmaDisplayChannel::~cSkinEnigmaDisplayChannel()");
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle) {
+ if (fScrollTitle || fScrollOther) {
if (!fLocked) TE_LOCK;
TE_STOP;
}
@@ -392,16 +447,6 @@ cSkinEnigmaDisplayChannel::~cSkinEnigmaDisplayChannel()
delete osd;
}
-bool cSkinEnigmaDisplayChannel::HasChannelTimerRecording(const cChannel *Channel)
-{
- // try to find current channel from timers
- for (cTimer * t = Timers.First(); t; t = Timers.Next(t)) {
- if ((t->Channel() == Channel) && t->Recording())
- return true;
- }
- return false;
-}
-
void cSkinEnigmaDisplayChannel::DrawAreas(void)
{
// draw titlebar
@@ -409,24 +454,33 @@ void cSkinEnigmaDisplayChannel::DrawAreas(void)
Theme.Color(clrTitleBg));
osd->DrawRectangle(xTitleLeft, yTitleDecoTop, xTitleRight - 1,
yTitleDecoBottom - 1, Theme.Color(clrTitleBg));
- // draw rounded left corner of title bar
- osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1,
- yTitleTop + Roundness - 1, clrTransparent, -2);
+ if (fWithInfo) {
+ // draw rounded left corner of title bar
+ osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1,
+ yTitleTop + Roundness - 1, clrTransparent, -2);
+ }
// draw rounded right corner of title bar
osd->DrawEllipse(xTitleRight - Roundness, yTitleTop, xTitleRight - 1,
yTitleTop + Roundness - 1, clrTransparent, -1);
- // draw current event area
- osd->DrawRectangle(xEventNowLeft, yEventNowTop, xEventNowRight - 1,
- yEventNowBottom - 1, Theme.Color(clrBackground));
- // draw next event area
- osd->DrawRectangle(xEventNextLeft, yEventNextTop, xEventNextRight - 1,
- yEventNextBottom - 1, Theme.Color(clrAltBackground));
+ if (fWithInfo) {
+ // draw current event area
+ osd->DrawRectangle(xEventNowLeft, yEventNowTop, xEventNowRight - 1,
+ yEventNowBottom - 1, Theme.Color(clrBackground));
+ // draw next event area
+ osd->DrawRectangle(xEventNextLeft, yEventNextTop, xEventNextRight - 1,
+ yEventNextBottom - 1, Theme.Color(clrAltBackground));
+ } else {
+ osd->DrawRectangle(xEventNowLeft, yEventNowTop, xEventNowRight - 1,
+ yEventNextBottom - 1, Theme.Color(clrBackground));
+ }
// draw progress bar area
osd->DrawRectangle(xBottomLeft, yBottomTop, xBottomRight - 1,
yBottomBottom - 1, Theme.Color(clrBottomBg));
- osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness,
- xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent,
- -3);
+ if (fWithInfo) {
+ osd->DrawEllipse(xBottomLeft, yBottomBottom - Roundness,
+ xBottomLeft + Roundness, yBottomBottom - 1, clrTransparent,
+ -3);
+ }
osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness,
xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4);
}
@@ -448,7 +502,7 @@ void cSkinEnigmaDisplayChannel::DrawTitle(const char *Title)
{
//Must be TE_LOCKed by caller
- int xName = (fShowLogo && EnigmaConfig.fullTitleWidth ? xEventNowLeft : xTitleLeft + Roundness + pFontOsdTitle->Width("0000-") + Gap);
+ int xName = (fShowLogo && EnigmaConfig.fullTitleWidth && fWithInfo ? xEventNowLeft : xTitleLeft + Roundness + pFontOsdTitle->Width("0000-") + Gap);
// draw titlebar
osd->DrawRectangle(xName, yTitleTop, xDateLeft - SmallGap - 1, yTitleBottom - 1,
Theme.Color(clrTitleBg));
@@ -472,7 +526,7 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num
int xNumber = xTitleLeft + Roundness;
int xName = xNumber + pFontOsdTitle->Width("0000-") + Gap;
- if (fShowLogo && EnigmaConfig.fullTitleWidth) {
+ if (fShowLogo && EnigmaConfig.fullTitleWidth && fWithInfo) {
xNumber = xTitleLeft + Roundness;
xName = xEventNowLeft;
}
@@ -488,12 +542,17 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num
// draw channel name
#ifndef DISABLE_ANIMATED_TEXT
if (fScrollTitle) {
- int xName = (fShowLogo && EnigmaConfig.fullTitleWidth ? xEventNowLeft : xTitleLeft + Roundness + pFontOsdTitle->Width("0000-") + Gap);
idTitle = TE_TITLE(osd, idTitle, GetChannelName(Channel), xDateLeft - SmallGap - xName, this);
} else
#endif
DrawTitle(GetChannelName(Channel));
+ if (fWithInfo && EnigmaConfig.showStatusSymbols)
+ DrawSymbols(Channel);
+}
+
+void cSkinEnigmaDisplayChannel::DrawSymbols(const cChannel *Channel)
+{
// draw symbols
// right edge of logo
int xs = xBottomRight - Roundness;
@@ -518,23 +577,6 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num
}
}
- bool fFlagFound = false;
- if (EnigmaConfig.showFlags && !isempty(Channel->Alang(0))) {
- char *strFile = NULL;
- asprintf(&strFile, "flags/%s", Channel->Alang(0));
- if (EnigmaLogoCache.LoadSymbol(strFile)) {
- xs -= (EnigmaLogoCache.Get().Width() + SmallGap);
- osd->DrawBitmap(xs, ys, EnigmaLogoCache.Get());
- fFlagFound = true;
- }
- free(strFile);
- }
- if (!fFlagFound) {
- xs -= pFontLanguage->Width(Channel->Alang(0));
- osd->DrawText(xs, yBottomTop + SmallGap , Channel->Alang(0),
- Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage,
- pFontLanguage->Width(Channel->Alang(0)), yBottomBottom - SmallGap);
- }
// draw audio symbol according to current audio channel
int AudioMode = cDevice::PrimaryDevice()->GetAudioChannel();
if (!(AudioMode >= 0 && AudioMode < MAX_AUDIO_BITMAPS))
@@ -542,16 +584,21 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num
xs -= (bmAudio[AudioMode].Width() + SmallGap);
osd->DrawBitmap(xs, ys, bmAudio[AudioMode],
Theme.Color(clrBottomBg), Theme.Color(Channel->Apid(1) ? clrSymbolActive : clrSymbolInactive));
- // draw dolby digital symbol
- xs -= (bmDolbyDigital.Width() + SmallGap);
- osd->DrawBitmap(xs, ys, bmDolbyDigital,
- Theme.Color(clrBottomBg), Theme.Color(Channel->Dpid(0) ? clrSymbolActive : clrSymbolInactive));
- if (EnigmaConfig.showVps) {
+
+ if (Channel->Dpid(0)) { //TODO? option to display inactive symbols
+ // draw dolby digital symbol
+ xs -= (bmDolbyDigital.Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, bmDolbyDigital,
+ Theme.Color(clrBottomBg), Theme.Color(Channel->Dpid(0) ? clrSymbolActive : clrSymbolInactive));
+ }
+
+ if (isvps && EnigmaConfig.showVps) { //TODO? option to display inactive symbols
// draw vps symbol
xs -= (bmVPS.Width() + SmallGap);
osd->DrawBitmap(xs, ys, bmVPS,
Theme.Color(clrBottomBg), Theme.Color(isvps ? clrSymbolActive : clrSymbolInactive));
}
+
// draw radio symbol if no video PID; otherwise draw teletext symbol
if (Channel->Vpid()) {
xs -= (bmTeletext.Width() + SmallGap);
@@ -562,50 +609,15 @@ void cSkinEnigmaDisplayChannel::DrawChannelInfo(const cChannel *Channel, int Num
osd->DrawBitmap(xs, ys, bmRadio,
Theme.Color(clrBottomBg), Theme.Color(Channel->Apid(0) ? clrSymbolActive : clrSymbolInactive));
}
- // draw encryption symbol
- xs -= (bmEncrypted.Width() + SmallGap);
- osd->DrawBitmap(xs, ys, bmEncrypted,
- Theme.Color(clrBottomBg), Theme.Color(Channel->Ca() ? clrSymbolActive : clrSymbolInactive));
- // draw recording symbol
- xs -= (bmRecording.Width() + SmallGap);
- if (cRecordControls::Active()) {
- bool fRecording = HasChannelTimerRecording(Channel);
- osd->DrawBitmap(xs, ys, bmRecording,
- Theme.Color(fRecording ? clrSymbolRecordBg : clrBottomBg),
- Theme.Color(fRecording ? clrSymbolRecord : clrSymbolActive));
- } else
- osd->DrawBitmap(xs, ys, bmRecording,
- Theme.Color(clrBottomBg), Theme.Color(clrSymbolInactive));
-#ifdef USE_PLUGIN_MAILBOX
- if (EnigmaConfig.showMailIcon) {
- cPlugin *MailBoxPlugin = cPluginManager::GetPlugin("mailbox");
- bool fHasNewMail = false;
- if (MailBoxPlugin && MailBoxPlugin->Service("MailBox-HasNewMail-1.0", &fHasNewMail)) {
- if (fHasNewMail || EnigmaConfig.showMailIcon > 1) {
- xs -= (bmMail.Width() + SmallGap);
- osd->DrawBitmap(xs, ys, bmMail, Theme.Color(clrBottomBg),
- Theme.Color(fHasNewMail ? clrSymbolActive : clrSymbolInactive));
- }
- }
+ if (Channel->Ca()) { //TODO? option to display inactive symbols
+ // draw encryption symbol
+ xs -= (bmEncrypted.Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, bmEncrypted,
+ Theme.Color(clrBottomBg), Theme.Color(Channel->Ca() ? clrSymbolActive : clrSymbolInactive));
}
-#endif
-#ifdef USE_PLUGIN_AVARDS
- cPlugin *AvardsPlugin = cPluginManager::GetPlugin("avards");
- if (AvardsPlugin) {
- avards_CurrentWssMode_v1_0 avardsData;
- if (AvardsPlugin->Service("avards-CurrentWSSMode-v1.0", &avardsData)) {
- if (avardsData.ModeString) { //TODO: icons?
- xs -= (pFontLanguage->Width(avardsData.ModeString) + SmallGap);
- osd->DrawText(xs, yBottomTop + SmallGap , avardsData.ModeString,
- Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage,
- pFontLanguage->Width(avardsData.ModeString), yBottomBottom - SmallGap);
- }
- }
- }
-#endif
- xFirstSymbol = xs - Gap;
+ xFirstSymbol = DrawStatusSymbols(xBottomLeft + Roundness + MIN_CI_PROGRESS + Gap, xs, yBottomTop, yBottomBottom, Channel) - Gap;
}
cString cSkinEnigmaDisplayChannel::GetChannelName(const cChannel *Channel)
@@ -641,7 +653,7 @@ void cSkinEnigmaDisplayChannel::SetChannel(const cChannel *Channel, int Number)
debug("cSkinEnigmaDisplayChannel::SetChannel()");
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_LOCK;
#endif
@@ -673,15 +685,18 @@ void cSkinEnigmaDisplayChannel::SetChannel(const cChannel *Channel, int Number)
}
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_UNLOCK;
#endif
}
void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
const cEvent *Following)
-{
- debug("cSkinEnigmaDisplayChannel::SetEvents()");
+{ //TODO: update symbols
+ debug("cSkinEnigmaDisplayChannel::SetEvents(%p, %p)", Present, Following);
+
+ if (!fWithInfo)
+ return;
int xTimeLeft = xEventNowLeft + Gap;
int xTimeWidth = pFontTitle->Width("00:00");
@@ -689,8 +704,12 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
int lineHeightSubtitle = pFontSubtitle->Height();
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_LOCK;
+
+ EnigmaTextEffects.ResetText(idEvTitle, Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground), false);
+ EnigmaTextEffects.ResetText(idEvSubTitle, Theme.Color(clrMenuItemNotSelectableFg), Theme.Color(clrBackground), false);
+ idEvTitle = idEvSubTitle = -1;
#endif
// check epg datas
@@ -728,9 +747,17 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground),
pFontTitle, xTimeWidth);
// draw title
- osd->DrawText(xTextLeft, yEventNowTop, e->Title(),
- Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground),
- pFontTitle, xTextWidth);
+#ifndef DISABLE_ANIMATED_TEXT
+ if (fScrollOther)
+ idEvTitle = TE_MARQUEE(osd, idEvTitle, xTextLeft, yEventNowTop, e->Title(),
+ Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground),
+ pFontTitle, xTextWidth, pFontTitle->Height());
+ else
+#endif
+ osd->DrawText(xTextLeft, yEventNowTop, e->Title(),
+ Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground),
+ pFontTitle, xTextWidth);
+
// draw duration
osd->DrawText(xDurationLeft, yEventNowTop, sLen,
Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground),
@@ -748,9 +775,16 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
Theme.Color(clrBackground));
}
// draw shorttext
- osd->DrawText(xTextLeft, yEventNowTop + lineHeightTitle, e->ShortText(),
- Theme.Color(clrMenuItemNotSelectableFg),
- Theme.Color(clrBackground), pFontSubtitle, xTextWidth);
+#ifndef DISABLE_ANIMATED_TEXT
+ if (fScrollOther)
+ idEvSubTitle = TE_MARQUEE(osd, idEvSubTitle, xTextLeft, yEventNowTop + lineHeightTitle, e->ShortText(),
+ Theme.Color(clrMenuItemNotSelectableFg),
+ Theme.Color(clrBackground), pFontSubtitle, xTextWidth, pFontSubtitle->Height());
+ else
+#endif
+ osd->DrawText(xTextLeft, yEventNowTop + lineHeightTitle, e->ShortText(),
+ Theme.Color(clrMenuItemNotSelectableFg),
+ Theme.Color(clrBackground), pFontSubtitle, xTextWidth);
// draw duration
if ((now < total) && ((now / 60) > 0)) {
@@ -761,7 +795,7 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
}
// draw timebar
int xBarLeft = xBottomLeft + Roundness;
- int xBarWidth = (xFirstSymbol > xBarLeft ? (xFirstSymbol - Gap - xBarLeft) : 124);
+ int xBarWidth = (xFirstSymbol > xBarLeft ? (xFirstSymbol - Gap - xBarLeft) : MIN_CI_PROGRESS);
int x = xBarLeft + SmallGap + (int)(ceil((float)(now) / (float)(total) * (float)(xBarWidth - Gap - SmallGap)));
x = std::min(x, xBarLeft + Gap + xBarWidth - SmallGap - 1);
osd->DrawRectangle(xBarLeft, yBottomTop + SmallGap + SmallGap,
@@ -807,7 +841,7 @@ void cSkinEnigmaDisplayChannel::SetEvents(const cEvent *Present,
}
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_UNLOCK;
#endif
}
@@ -817,34 +851,49 @@ void cSkinEnigmaDisplayChannel::SetMessage(eMessageType Type, const char *Text)
debug("cSkinEnigmaDisplayChannel::SetMessage()");
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_LOCK;
#endif
// check if message
if (Text) {
+ int top = (fWithInfo ? yMessageTop : yEventNowTop);
+ int bottom = (fWithInfo ? yMessageBottom : yEventNextBottom);
+
+#ifndef DISABLE_ANIMATED_TEXT
+ EnigmaTextEffects.PauseEffects(top);
+#endif
+
// save osd region
- osd->SaveRegion(xMessageLeft, yMessageTop, xMessageRight - 1, yMessageBottom - 1);
+ if (nMessagesShown == 0)
+ osd->SaveRegion(xMessageLeft, top, xMessageRight - 1, bottom - 1);
// draw message
- osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1,
- yMessageBottom - 1, clrTransparent);
- osd->DrawRectangle(xMessageLeft, yMessageTop + SmallGap, xMessageRight - 1,
- yMessageBottom - SmallGap - 1,
+ osd->DrawRectangle(xMessageLeft, top, xMessageRight - 1,
+ bottom - 1, clrTransparent);
+ osd->DrawRectangle(xMessageLeft, top + SmallGap, xMessageRight - 1,
+ bottom - SmallGap - 1,
Theme.Color(clrButtonRedBg));
- osd->DrawText(xMessageLeft, yMessageTop + 2 * SmallGap, Text,
+ osd->DrawText(xMessageLeft, top + 2 * SmallGap, Text,
Theme.Color(clrMessageStatusFg + 2 * Type),
Theme.Color(clrMessageStatusBg + 2 * Type),
pFontMessage,
xMessageRight - xMessageLeft,
- yMessageBottom - 2 * SmallGap - yMessageTop - 2 * SmallGap,
+ bottom - 2 * SmallGap - top - 2 * SmallGap,
taCenter);
+ nMessagesShown++;
} else {
+ if (nMessagesShown > 0)
+ nMessagesShown--;
// restore saved osd region
- osd->RestoreRegion();
+ if (nMessagesShown == 0)
+ osd->RestoreRegion();
+#ifndef DISABLE_ANIMATED_TEXT
+ EnigmaTextEffects.PauseEffects();
+#endif
}
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle && !fLocked)
+ if ((fScrollTitle || fScrollOther) && !fLocked)
TE_UNLOCK;
#endif
}
@@ -854,7 +903,7 @@ void cSkinEnigmaDisplayChannel::Flush(void)
// debug("cSkinEnigmaDisplayChannel::Flush()");
#ifndef DISABLE_ANIMATED_TEXT
- if (!fLocked && fScrollTitle)
+ if (!fLocked && (fScrollTitle || fScrollOther))
TE_LOCK;
#endif
@@ -871,7 +920,7 @@ void cSkinEnigmaDisplayChannel::Flush(void)
osd->Flush();
#ifndef DISABLE_ANIMATED_TEXT
- if (fScrollTitle) {
+ if (fScrollTitle || fScrollOther) {
TE_UNLOCK;
if (fLocked) {
fLocked = false;
@@ -883,11 +932,22 @@ void cSkinEnigmaDisplayChannel::Flush(void)
// --- cSkinEnigmaDisplayMenu -----------------------------------------------
-class cSkinEnigmaDisplayMenu : public cSkinDisplayMenu, cSkinEnigmaOsd {
+class cSkinEnigmaDisplayMenu : public cSkinDisplayMenu, public cSkinEnigmaBaseOsd, public cSkinEnigmaThreadedOsd {
private:
- cOsd *osd;
const cFont *pFontList;
const cFont *pFontOsdTitle;
+ const cFont *pFontHelpKeys;
+ const cFont *pFontDate;
+ const cFont *pFontDetailsTitle;
+ const cFont *pFontDetailsSubtitle;
+ const cFont *pFontDetailsDate;
+ const cFont *pFontDetailsText;
+ const cFont *pFontMessage;
+ const cFont *pFontInfoWarnHeadline;
+ const cFont *pFontInfoWarnText;
+ const cFont *pFontInfoTimerHeadline;
+ const cFont *pFontInfoTimerText;
+ const cFont *pFontFixed;
char *strTitle;
char *strLastDate;
@@ -907,6 +967,7 @@ private:
int xInfoLeft, xInfoRight, yInfoTop, yInfoBottom;
int lineHeight;
+ int nMarkerGap;
int xItemLeft;
int xItemRight;
int yItemTop;
@@ -925,7 +986,8 @@ private:
bool fScrollOther;
#endif
- void SetScrollbar(void);
+ void DrawScrollbar(int Total, int Offset, int Shown, int Top, int Left, int Height, bool CanScrollUp, bool CanScrollDown);
+ void SetTextScrollbar(void);
void SetupAreas(void);
void SetColors(void);
int DrawFlag(int x, int y, const tComponent *p);
@@ -944,6 +1006,9 @@ public:
virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL);
virtual void SetMessage(eMessageType Type, const char *Text);
virtual void SetItem(const char *Text, int Index, bool Current, bool Selectable);
+#if VDRVERSNUM >= 10515
+ virtual void SetScrollbar(int Total, int Offset);
+#endif
virtual void SetEvent(const cEvent *Event);
virtual void SetRecording(const cRecording *Recording);
virtual void SetText(const char *Text, bool FixedFont);
@@ -955,6 +1020,8 @@ public:
cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
{
+ INIT_FONTS;
+
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
@@ -963,11 +1030,18 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
osd = NULL;
pFontList = EnigmaConfig.GetFont(FONT_LISTITEM);
pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE);
-
- const cFont *pFontDate = EnigmaConfig.GetFont(FONT_DATE);
- const cFont *pFontDetailsTitle = EnigmaConfig.GetFont(FONT_DETAILSTITLE);
- const cFont *pFontDetailsSubtitle = EnigmaConfig.GetFont(FONT_DETAILSSUBTITLE);
- const cFont *pFontDetailsDate = EnigmaConfig.GetFont(FONT_DETAILSDATE);
+ pFontHelpKeys = EnigmaConfig.GetFont(FONT_HELPKEYS);
+ pFontDate = EnigmaConfig.GetFont(FONT_DATE);
+ pFontDetailsTitle = EnigmaConfig.GetFont(FONT_DETAILSTITLE);
+ pFontDetailsSubtitle = EnigmaConfig.GetFont(FONT_DETAILSSUBTITLE);
+ pFontDetailsDate = EnigmaConfig.GetFont(FONT_DETAILSDATE);
+ pFontDetailsText = EnigmaConfig.GetFont(FONT_DETAILSTEXT);
+ pFontMessage = EnigmaConfig.GetFont(FONT_MESSAGE);
+ pFontInfoWarnHeadline = EnigmaConfig.GetFont(FONT_INFOWARNHEADLINE);
+ pFontInfoWarnText = EnigmaConfig.GetFont(FONT_INFOWARNTEXT);
+ pFontInfoTimerHeadline = EnigmaConfig.GetFont(FONT_INFOTIMERHEADLINE);
+ pFontInfoTimerText = EnigmaConfig.GetFont(FONT_INFOTIMERTEXT);
+ pFontFixed = EnigmaConfig.GetFont(FONT_FIXED);
strTitle = NULL;
strLastDate = NULL;
@@ -1010,7 +1084,6 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
RightColWidth = (SmallGap + Gap + std::max(MIN_DATEWIDTH + LogoWidth, pFontDate->Width(date)) + Gap) & ~0x07; // must be multiple of 8
}
- const cFont *pFontMessage = EnigmaConfig.GetFont(FONT_MESSAGE);
int MessageHeight = 2 * SmallGap + pFontMessage->Height() + 2 * SmallGap;
// title bar
@@ -1023,7 +1096,12 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
// help buttons
xButtonsLeft = xTitleLeft;
xButtonsRight = OsdSize.w;
- yButtonsTop = OsdSize.h - EnigmaConfig.GetFont(FONT_HELPKEYS)->Height();
+ if (EnigmaConfig.statusLineMode == 1) {
+ //message on help butons
+ yButtonsTop = OsdSize.h - std::max(SmallGap + pFontMessage->Height() + SmallGap, pFontHelpKeys->Height());
+ } else {
+ yButtonsTop = OsdSize.h - pFontHelpKeys->Height();
+ }
yButtonsBottom = OsdSize.h;
// content area with items
xBodyLeft = xTitleLeft;
@@ -1033,8 +1111,14 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
// message area
xMessageLeft = xBodyLeft;
xMessageRight = OsdSize.w;
- yMessageBottom = yButtonsTop - SmallGap;
- yMessageTop = yMessageBottom - MessageHeight + SmallGap; // No extra SmallGap at bottom as there's already the Gap above the buttons
+ if (EnigmaConfig.statusLineMode == 1) {
+ //on help buttons
+ yMessageBottom = yButtonsBottom;
+ yMessageTop = yButtonsTop;
+ } else {
+ yMessageBottom = yButtonsTop - SmallGap;
+ yMessageTop = yMessageBottom - MessageHeight + SmallGap; // No extra SmallGap at bottom as there's already the Gap above the buttons
+ }
// logo box
xLogoLeft = OsdSize.w - LogoWidth;
xLogoRight = OsdSize.w;
@@ -1065,7 +1149,7 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
{xBodyLeft, yBodyTop, xBodyRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 2}, //body area (beside date/logo/symbols area)
{xDateLeft, yDateTop, xLogoRight - 1, yInfoTop - 1, 4}, //date/logo area
{xInfoLeft, yInfoTop, xInfoRight - 1, yInfoTop + pFontDetailsDate->Height() - 1, 4}, //area for symbols in event/recording info
- {xBodyLeft, yInfoTop + pFontDetailsDate->Height(), xInfoRight - 1, yMessageTop - 1, 2}, // body/info area (below symbols area)
+ {xBodyLeft, yInfoTop + pFontDetailsDate->Height(), xInfoRight - 1, (EnigmaConfig.statusLineMode == 1 ? yBodyBottom : yMessageTop) - 1, 2}, // body/info area (below symbols area)
{xMessageLeft, yMessageTop, xButtonsRight - 1, yButtonsBottom - 1, 4} //buttons/message area
};
@@ -1084,10 +1168,15 @@ cSkinEnigmaDisplayMenu::cSkinEnigmaDisplayMenu(void)
}
lineHeight = pFontList->Height();
- xItemLeft = xBodyLeft + (EnigmaConfig.showMarker ? lineHeight : SmallGap);
- xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - (EnigmaConfig.showMarker ? lineHeight : SmallGap);
- int numItems = (yBodyBottom - yBodyTop) / lineHeight;
- yItemTop = yBodyTop + (yBodyBottom - yBodyTop - numItems * lineHeight) / 2;
+ nMarkerGap = min(MarkerGap, lineHeight / 2 - 1); //lineHeight - 2 * MarkerGap
+ xItemLeft = xBodyLeft + (EnigmaConfig.showMarker ? lineHeight : ListHBorder);
+#if VDRVERSNUM >= 10515
+ xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - ListHBorder - ScrollbarWidth - SmallGap - SmallGap;
+#else
+ xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - ListHBorder;
+#endif
+ int numItems = MaxItems();
+ yItemTop = yBodyTop + ((EnigmaConfig.statusLineMode == 2 ? yMessageTop : yBodyBottom) - yBodyTop - numItems * lineHeight) / 2;
#ifndef DISABLE_ANIMATED_TEXT
fLocked = false;
@@ -1214,7 +1303,11 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
idListItem[i] = -1;
#endif
- xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - (EnigmaConfig.showMarker ? lineHeight : SmallGap);
+#if VDRVERSNUM >= 10515
+ xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - ListHBorder - ScrollbarWidth - SmallGap - SmallGap;
+#else
+ xItemRight = (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - ListHBorder;
+#endif
// clear transparent areas (without date/logo borders)
osd->DrawRectangle(xBodyLeft, yTitleDecoBottom, xDateLeft - 1, yBodyTop - 1, clrTransparent);
@@ -1259,7 +1352,7 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
#endif
int yMaxHeight = yInfoBottom;
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
+#ifdef USE_PLUGIN_EPGSEARCH
if (EnigmaConfig.showTimerConflicts) {
cPlugin *p = cPluginManager::GetPlugin("epgsearch");
if (p) {
@@ -1271,8 +1364,6 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
p->Service("Epgsearch-lastconflictinfo-v1.0", serviceData);
if (serviceData->relevantConflicts > 0) {
- const cFont *pFontInfoWarnHeadline = EnigmaConfig.GetFont(FONT_INFOWARNHEADLINE);
- const cFont *pFontInfoWarnText = EnigmaConfig.GetFont(FONT_INFOWARNTEXT);
int yWarning = yMaxHeight -
pFontInfoWarnHeadline->Height() -
2 * pFontInfoWarnText->Height(); // Needed space for warning
@@ -1282,7 +1373,7 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
#ifndef DISABLE_ANIMATED_TEXT
TE_BLINK(osd, -1, xInfoLeft, yWarning, tr("WARNING"),
Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground),
- FONT_INFOWARNHEADLINE,
+ pFontInfoWarnHeadline,
w, pFontInfoWarnHeadline->Height(), taCenter);
#else
osd->DrawText(xInfoLeft, yWarning, tr("WARNING"),
@@ -1304,11 +1395,9 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
}
}
}
-#endif //SKINENIGMA_HAVE_EPGSEARCH
+#endif //USE_PLUGIN_EPGSEARCH
if (Timers.GetNextActiveTimer()) {
- const cFont *pFontInfoTimerHeadline = EnigmaConfig.GetFont(FONT_INFOTIMERHEADLINE);
- const cFont *pFontInfoTimerText = EnigmaConfig.GetFont(FONT_INFOTIMERTEXT);
int h = pFontInfoTimerHeadline->Height();
// Show next active timers
y += h / 2;
@@ -1332,7 +1421,7 @@ void cSkinEnigmaDisplayMenu::SetupAreas(void)
TE_MARQUEE(osd, -1, x + (timer->isRecording ? (bmRecording.Width() + Gap) : 0),
y, timer->title.c_str(),
Theme.Color(clrMenuItemSelectableFg), Theme.Color(clrAltBackground),
- FONT_INFOTIMERTEXT, w, h);
+ pFontInfoTimerText, w, h);
else
#endif
osd->DrawText(x + (timer->isRecording ? (bmRecording.Width() + Gap) : 0),
@@ -1375,35 +1464,59 @@ cSkinEnigmaDisplayMenu::~cSkinEnigmaDisplayMenu()
free(strLastDate);
delete osd;
}
-
-void cSkinEnigmaDisplayMenu::SetScrollbar(void)
+
+void cSkinEnigmaDisplayMenu::SetTextScrollbar(void)
{
//Must be TE_LOCKed by caller
// check if scrollbar is needed
- if (textScroller.CanScroll()) {
- int yt = textScroller.Top();
- int yb = yt + textScroller.Height();
+ if (textScroller.CanScroll())
+ DrawScrollbar(textScroller.Total(), textScroller.Offset(), textScroller.Shown(), textScroller.Top(), textScroller.Width(), textScroller.Height(), textScroller.CanScrollUp(), textScroller.CanScrollDown());
+}
+
+#if VDRVERSNUM >= 10515
+void cSkinEnigmaDisplayMenu::SetScrollbar(int Total, int Offset)
+{
+ debug("cSkinEnigmaDisplayMenu::SetScrollbar(%d, %d)", Total, Offset);
+
+#ifndef DISABLE_ANIMATED_TEXT
+ if (!fLocked) TE_LOCK;
+#endif
+ DrawScrollbar(Total, Offset, MaxItems(), yItemTop, xItemRight, MaxItems() * lineHeight, Offset > 0, Offset + MaxItems() < Total);
+#ifndef DISABLE_ANIMATED_TEXT
+ if (!fLocked) TE_UNLOCK;
+#endif
+}
+#endif
+
+void cSkinEnigmaDisplayMenu::DrawScrollbar(int Total, int Offset, int Shown, int Top, int Left, int Height, bool CanScrollUp, bool CanScrollDown)
+{
+ //Must be TE_LOCKed by caller
+
+ if (Total <= 0 || Total <= Shown) {
+ Total = Shown = 1;
+ }
+ int yt = Top;
+ int yb = yt + Height;
int st = yt + ScrollbarHeight + Gap;
int sb = yb - ScrollbarHeight - Gap;
- int tt = st + (sb - st) * textScroller.Offset() / textScroller.Total();
- int tb = tt + (sb - st) * textScroller.Shown() / textScroller.Total();
- int xl = textScroller.Width() + SmallGap;
+ int tt = st + (sb - st) * Offset / Total;
+ int tb = tt + (sb - st) * Shown / Total;
+ int xl = Left + SmallGap;
// arrow up
osd->DrawRectangle(xl, yt, xl + ScrollbarWidth, yt + SmallGap,
- textScroller.CanScrollUp() ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
+ CanScrollUp ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
osd->DrawRectangle(xl + ScrollbarWidth - SmallGap, yt + SmallGap, xl + ScrollbarWidth, yt + ScrollbarHeight,
- textScroller.CanScrollUp() ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
+ CanScrollUp ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
// draw background of scrollbar
osd->DrawRectangle(xl + ScrollbarWidth - SmallGap, st, xl + ScrollbarWidth, sb, Theme.Color(clrAltBackground));
// draw visible area of scrollbar
osd->DrawRectangle(xl + ScrollbarWidth - SmallGap, tt, xl + ScrollbarWidth, tb, Theme.Color(clrMenuTxtFg));
// arrow down
osd->DrawRectangle(xl + ScrollbarWidth - SmallGap, yb - ScrollbarHeight, xl + ScrollbarWidth, yb - SmallGap,
- textScroller.CanScrollDown() ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
+ CanScrollDown ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
osd->DrawRectangle(xl, yb - SmallGap, xl + ScrollbarWidth, yb,
- textScroller.CanScrollDown() ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
- }
+ CanScrollDown ? Theme.Color(clrMenuTxtFg) : Theme.Color(clrAltBackground));
}
void cSkinEnigmaDisplayMenu::Scroll(bool Up, bool Page)
@@ -1412,7 +1525,7 @@ void cSkinEnigmaDisplayMenu::Scroll(bool Up, bool Page)
if (!fLocked) TE_LOCK;
#endif
cSkinDisplayMenu::Scroll(Up, Page);
- SetScrollbar();
+ SetTextScrollbar();
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_UNLOCK;
#endif
@@ -1421,7 +1534,7 @@ void cSkinEnigmaDisplayMenu::Scroll(bool Up, bool Page)
int cSkinEnigmaDisplayMenu::MaxItems(void)
{
// max number of items
- return (yBodyBottom - yBodyTop) / lineHeight;
+ return ((EnigmaConfig.statusLineMode == 2 ? yMessageTop : yBodyBottom) - yBodyTop) / lineHeight;
}
void cSkinEnigmaDisplayMenu::Clear(void)
@@ -1430,7 +1543,6 @@ void cSkinEnigmaDisplayMenu::Clear(void)
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_LOCK;
- pFontList = EnigmaConfig.GetFont(FONT_LISTITEM, pFontList); //TODO? get current font which might have been patched meanwhile
nOldIndex = -1;
for (int i = MaxTabs - 1; i >= 0; i--) {
if (idListItem[i] >= 0) {
@@ -1482,7 +1594,7 @@ void cSkinEnigmaDisplayMenu::SetTitle(const char *Title)
}
char *strTitlePrefix = NULL;
- asprintf(&strTitlePrefix, "%s - ", tr("VDR"));
+ asprintf(&strTitlePrefix, "%s - ", trVDR("VDR"));
if ((Title == NULL) || (isMainMenu && strncmp(strTitlePrefix, Title, strlen(strTitlePrefix)) == 0)) {
#ifndef DISABLE_ANIMATED_TEXT
@@ -1565,7 +1677,6 @@ void cSkinEnigmaDisplayMenu::DrawTitle(const char *Title)
osd->DrawEllipse(xTitleLeft, yTitleTop, xTitleLeft + Roundness - 1, yTitleTop + Roundness - 1, clrTransparent, -2);
if (Title) {
- pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE, pFontOsdTitle); //TODO? get current font which might have been patched meanwhile
int y = yTitleTop + (yTitleBottom - yTitleTop - pFontOsdTitle->Height()) / 2;
// draw title with shadow
osd->DrawText(xTitleLeft + Roundness + 3, y + 3, Title,
@@ -1588,7 +1699,6 @@ void cSkinEnigmaDisplayMenu::SetButtons(const char *Red, const char *Green, cons
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_LOCK;
#endif
- const cFont *pFontHelpKeys = EnigmaConfig.GetFont(FONT_HELPKEYS);
int w = (xButtonsRight - xButtonsLeft) / 4;
int t3 = xButtonsLeft + xButtonsRight - xButtonsLeft - w;
int t2 = t3 - w;
@@ -1645,19 +1755,31 @@ void cSkinEnigmaDisplayMenu::SetMessage(eMessageType Type, const char *Text)
if (nMessagesShown == 0)
osd->SaveRegion(xMessageLeft, yMessageTop, xMessageRight - 1, yMessageBottom - 1);
- const cFont *pFontMessage = EnigmaConfig.GetFont(FONT_MESSAGE);
// draw message
- osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1,
- yMessageBottom - 1, clrTransparent);
- osd->DrawRectangle(xMessageLeft, yMessageTop + SmallGap, xMessageRight - 1,
- yMessageBottom - 1, Theme.Color(clrButtonRedBg));
- osd->DrawText(xMessageLeft, yMessageTop + 2 * SmallGap, Text,
- Theme.Color(clrMessageStatusFg + 2 * Type),
- Theme.Color(clrMessageStatusBg + 2 * Type),
- pFontMessage,
- xMessageRight - xMessageLeft,
- yMessageBottom - SmallGap - yMessageTop - 2 * SmallGap,
- taCenter);
+ if (EnigmaConfig.statusLineMode == 1) {
+ //on help buttons
+ osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1,
+ yMessageBottom - 1, Theme.Color(clrButtonRedBg));
+ osd->DrawText(xMessageLeft, yMessageTop + SmallGap, Text,
+ Theme.Color(clrMessageStatusFg + 2 * Type),
+ Theme.Color(clrMessageStatusBg + 2 * Type),
+ pFontMessage,
+ xMessageRight - xMessageLeft,
+ yMessageBottom - SmallGap - yMessageTop - SmallGap,
+ taCenter);
+ } else {
+ osd->DrawRectangle(xMessageLeft, yMessageTop, xMessageRight - 1,
+ yMessageBottom - 1, clrTransparent);
+ osd->DrawRectangle(xMessageLeft, yMessageTop + SmallGap, xMessageRight - 1,
+ yMessageBottom - 1, Theme.Color(clrButtonRedBg));
+ osd->DrawText(xMessageLeft, yMessageTop + 2 * SmallGap, Text,
+ Theme.Color(clrMessageStatusFg + 2 * Type),
+ Theme.Color(clrMessageStatusBg + 2 * Type),
+ pFontMessage,
+ xMessageRight - xMessageLeft,
+ yMessageBottom - SmallGap - yMessageTop - 2 * SmallGap,
+ taCenter);
+ }
nMessagesShown++;
} else {
if (nMessagesShown > 0)
@@ -1714,7 +1836,6 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool Current,
}
}
- pFontList = EnigmaConfig.GetFont(FONT_LISTITEM, pFontList); //TODO? get current font which might have been patched meanwhile
#ifndef DISABLE_ANIMATED_TEXT
if (!Current && Index == nOldIndex) {
for (int i = MaxTabs - 1; i >= 0; i--) {
@@ -1732,11 +1853,14 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool Current,
osd->DrawRectangle(xItemLeft, y + lineHeight / 2, xItemLeft + 1, y + lineHeight / 2 + 1, ColorBg);
osd->DrawRectangle(xItemRight - 2, y + lineHeight / 2, xItemRight - 1, y + lineHeight / 2 + 1, ColorBg);
+ osd->DrawRectangle(xBodyLeft, y, xItemLeft - 1, y + lineHeight - 1, ColorBg);
if (EnigmaConfig.showMarker) {
- osd->DrawRectangle(xBodyLeft, y, xItemLeft - 1, y + lineHeight - 1, ColorBg);
- osd->DrawEllipse(xBodyLeft + MarkerGap, y + MarkerGap, xBodyLeft + lineHeight - MarkerGap, y + lineHeight - MarkerGap, Current ? ColorFg : ColorBg);
- osd->DrawRectangle(xItemRight, y, (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - 1, y + lineHeight - 1, ColorBg);
+ osd->DrawEllipse(xBodyLeft + nMarkerGap, y + nMarkerGap, xBodyLeft + lineHeight - nMarkerGap, y + lineHeight - nMarkerGap, Current ? ColorFg : ColorBg);
}
+#if VDRVERSNUM < 10515
+ osd->DrawRectangle(xItemRight, y, (fShowLogo || fShowInfo ? xBodyRight : xInfoRight) - 1, y + lineHeight - 1, ColorBg);
+#endif
+
// draw item
for (int i = 0; i < MaxTabs; i++) {
const char *s = GetTabbedText(Text, i);
@@ -1863,7 +1987,7 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool Current,
if (fScrollListItem) {
// if (i > 0)
//TODO? EnigmaTextEffects.UpdateTextWidth(idListItem[i - 1], Tab(i) - Tab(i - 1));
- idListItem[i] = TE_MARQUEE(osd, idListItem[i], xt, y, s, ColorFg, ColorBg, FONT_LISTITEM, w, nMessagesShown ? std::min(yMessageTop - y, lineHeight) : 0 );
+ idListItem[i] = TE_MARQUEE(osd, idListItem[i], xt, y, s, ColorFg, ColorBg, pFontList, w, nMessagesShown ? std::min(yMessageTop - y, lineHeight) : 0 );
} else
#endif
osd->DrawText(xt, y, s, ColorFg, ColorBg, pFontList, w, nMessagesShown ? std::min(yMessageTop - y, lineHeight) : 0 );
@@ -1887,26 +2011,26 @@ void cSkinEnigmaDisplayMenu::SetItem(const char *Text, int Index, bool Current,
ItemText2 = skipspace(ItemText);
bool fFoundLogo = false;
- if (strcmp(ItemText, tr("Schedule")) == 0)
+ if (strcmp(ItemText, trVDR("Schedule")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/schedule");
- else if (strcmp(ItemText, tr("Channels")) == 0)
+ else if (strcmp(ItemText, trVDR("Channels")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/channels");
- else if (strcmp(ItemText, tr("Timers")) == 0
+ else if (strcmp(ItemText, trVDR("Timers")) == 0
|| strcmp(ItemText2, GetPluginMainMenuName("timerinfo")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/timers");
- else if (strcmp(ItemText, tr("Recordings")) == 0
- || strcmp(ItemText, tr("Recording info")) == 0
+ else if (strcmp(ItemText, trVDR("Recordings")) == 0
+ || strcmp(ItemText, trVDR("Recording info")) == 0
|| strcmp(ItemText2, GetPluginMainMenuName("extrecmenu")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/recordings");
- else if (strcmp(ItemText, tr("Setup")) == 0
- || strcmp(ItemText2, tr("Setup")) == 0)
+ else if (strcmp(ItemText, trVDR("Setup")) == 0
+ || strcmp(ItemText2, trVDR("Setup")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/setup");
- else if (strcmp(ItemText, tr("Commands")) == 0
- || strcmp(ItemText2, tr("Commands")) == 0)
+ else if (strcmp(ItemText, trVDR("Commands")) == 0
+ || strcmp(ItemText2, trVDR("Commands")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/commands");
- else if (strcmp(ItemText, tr(" Stop replaying")) == 0)
+ else if (strcmp(ItemText, trVDR(" Stop replaying")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/stop");
- else if (strcmp(ItemText, tr(" Cancel editing")) == 0)
+ else if (strcmp(ItemText, trVDR(" Cancel editing")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/cancel");
else if (strcmp(ItemText2, GetPluginMainMenuName("audiorecorder")) == 0)
fFoundLogo = EnigmaLogoCache.LoadIcon("icons/menu/audiorecorder");
@@ -2058,10 +2182,6 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_LOCK;
#endif
- const cFont *pFontDetailsTitle = EnigmaConfig.GetFont(FONT_DETAILSTITLE);
- const cFont *pFontDetailsSubtitle = EnigmaConfig.GetFont(FONT_DETAILSSUBTITLE);
- const cFont *pFontDetailsDate = EnigmaConfig.GetFont(FONT_DETAILSDATE);
- const cFont *pFontDetailsText = EnigmaConfig.GetFont(FONT_DETAILSTEXT);
isMainMenu = false;
fShowInfo = false;
@@ -2153,7 +2273,7 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
if (fScrollOther)
TE_MARQUEE(osd, -1, xBodyLeft + Gap, y, Event->Title(),
Theme.Color(clrMenuTxtFg), Theme.Color(clrAltBackground),
- FONT_DETAILSTITLE, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsTitle->Height());
+ pFontDetailsTitle, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsTitle->Height());
else
#endif
osd->DrawText(xBodyLeft + Gap, y, Event->Title(),
@@ -2183,7 +2303,7 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
if (fScrollOther)
TE_MARQUEE(osd, -1, xBodyLeft + Gap, y, Event->ShortText(),
Theme.Color(clrMenuItemNotSelectableFg), Theme.Color(clrAltBackground),
- FONT_DETAILSSUBTITLE, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsSubtitle->Height());
+ pFontDetailsSubtitle, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsSubtitle->Height());
else
#endif
osd->DrawText(xBodyLeft + Gap, y, Event->ShortText(),
@@ -2195,9 +2315,10 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
}
std::string stringReruns;
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
+#ifdef USE_PLUGIN_EPGSEARCH
+ cPlugin *epgSearchPlugin = cPluginManager::GetPlugin("epgsearch");
// try to find a rerun of the show using epgsearch-service
- if (EnigmaConfig.numReruns > 0 && !isempty(Event->Title())) {
+ if (epgSearchPlugin && EnigmaConfig.numReruns > 0 && !isempty(Event->Title())) {
std::stringstream sstrReruns;
Epgsearch_searchresults_v1_0 data;
std::string strQuery = Event->Title();
@@ -2215,7 +2336,7 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
data.channelNr = 0;
data.useTitle = true;
data.useDescription = false;
- if (cPluginManager::CallFirstService("Epgsearch-searchresults-v1.0", &data)) {
+ if (epgSearchPlugin->Service("Epgsearch-searchresults-v1.0", &data)) {
cList<Epgsearch_searchresults_v1_0::cServiceSearchResult>* list = data.pResultList;
if (list && (list->Count() > 1)) {
//TODO: current event is shown as rerun
@@ -2224,9 +2345,11 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
for (Epgsearch_searchresults_v1_0::cServiceSearchResult *r = list->First(); r && i < EnigmaConfig.numReruns; r = list->Next(r)) {
i++;
sstrReruns << "- "
- << *DayDateTime(r->event->StartTime())
- << " " << Channels.GetByChannelID(r->event->ChannelID())->ShortName(true)
- << ": " << r->event->Title();
+ << *DayDateTime(r->event->StartTime());
+ cChannel *channel = Channels.GetByChannelID(r->event->ChannelID(), true, true);
+ if (channel)
+ sstrReruns << " " << channel->ShortName(true);
+ sstrReruns << ": " << r->event->Title();
if (!isempty(r->event->ShortText()))
sstrReruns << "~" << r->event->ShortText();
sstrReruns << std::endl;
@@ -2236,7 +2359,7 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
}
stringReruns = sstrReruns.str();
}
-#endif // SKINENIGMA_HAVE_EPGSEARCH
+#endif // USE_PLUGIN_EPGSEARCH
const char *strFirst = NULL;
const char *strSecond = NULL;
@@ -2259,7 +2382,7 @@ void cSkinEnigmaDisplayMenu::SetEvent(const cEvent *Event)
yBodyBottom - y,
mytext, pFontDetailsText,
Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground));
- SetScrollbar();
+ SetTextScrollbar();
free(mytext);
}
@@ -2320,10 +2443,6 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording)
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_LOCK;
#endif
- const cFont *pFontDetailsTitle = EnigmaConfig.GetFont(FONT_DETAILSTITLE);
- const cFont *pFontDetailsSubtitle = EnigmaConfig.GetFont(FONT_DETAILSSUBTITLE);
- const cFont *pFontDetailsDate = EnigmaConfig.GetFont(FONT_DETAILSDATE);
- const cFont *pFontDetailsText = EnigmaConfig.GetFont(FONT_DETAILSTEXT);
isMainMenu = false;
fShowInfo = false;
@@ -2345,11 +2464,11 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording)
}
cChannel *channel = Channels.GetByChannelID(((cRecordingInfo *)Info)->ChannelID());
if (channel)
- sstrInfo << tr("Channel") << ": " << channel->Number() << " - " << channel->Name() << std::endl;
+ sstrInfo << trVDR("Channel") << ": " << channel->Number() << " - " << channel->Name() << std::endl;
if (dirSize >= 0)
sstrInfo << tr("Size") << ": " << std::setprecision(3) << (dirSize > 1023 ? dirSize / 1024.0 : dirSize) << (dirSize > 1023 ? "GB\n" : "MB\n");
- sstrInfo << tr("Priority") << ": " << Recording->priority << std::endl
- << tr("Lifetime") << ": " << Recording->lifetime << std::endl;
+ sstrInfo << trVDR("Priority") << ": " << Recording->priority << std::endl
+ << trVDR("Lifetime") << ": " << Recording->lifetime << std::endl;
if (Info->Aux()) {
sstrInfo << std::endl << tr("Auxiliary information") << ":\n"
<< parseaux(Info->Aux());
@@ -2391,7 +2510,7 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording)
if (fScrollOther)
TE_MARQUEE(osd, -1, xBodyLeft + Gap, y, Title,
Theme.Color(clrMenuTxtFg), Theme.Color(clrAltBackground),
- FONT_DETAILSTITLE, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsTitle->Height());
+ pFontDetailsTitle, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsTitle->Height());
else
#endif
osd->DrawText(xBodyLeft + Gap, y, Title,
@@ -2420,7 +2539,7 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording)
if (fScrollOther)
TE_MARQUEE(osd, -1, xBodyLeft + Gap, y, Info->ShortText(),
Theme.Color(clrMenuItemNotSelectableFg), Theme.Color(clrAltBackground),
- FONT_DETAILSSUBTITLE, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsSubtitle->Height());
+ pFontDetailsSubtitle, xHeadlineRight - xBodyLeft - Gap - 1, pFontDetailsSubtitle->Height());
else
#endif
osd->DrawText(xBodyLeft + Gap, y, Info->ShortText(),
@@ -2445,7 +2564,7 @@ void cSkinEnigmaDisplayMenu::SetRecording(const cRecording *Recording)
yBodyBottom - y, mytext, pFontDetailsText,
Theme.Color(clrMenuTxtFg),
Theme.Color(clrBackground));
- SetScrollbar();
+ SetTextScrollbar();
free(mytext);
}
@@ -2480,7 +2599,7 @@ void cSkinEnigmaDisplayMenu::SetText(const char *Text, bool FixedFont)
yBodyBottom - Gap - yBodyTop - Gap, Text,
GetTextAreaFont(FixedFont),
Theme.Color(clrMenuTxtFg), Theme.Color(clrBackground));
- SetScrollbar();
+ SetTextScrollbar();
#ifndef DISABLE_ANIMATED_TEXT
if (!fLocked) TE_UNLOCK;
#endif
@@ -2495,7 +2614,7 @@ int cSkinEnigmaDisplayMenu::GetTextAreaWidth(void) const
const cFont *cSkinEnigmaDisplayMenu::GetTextAreaFont(bool FixedFont) const
{
// text area font
- return FixedFont ? EnigmaConfig.GetFont(FONT_FIXED) : EnigmaConfig.GetFont(FONT_DETAILSTEXT);
+ return FixedFont ? pFontFixed : pFontDetailsText;
}
int cSkinEnigmaDisplayMenu::getDateWidth(const cFont *pFontDate)
@@ -2507,7 +2626,7 @@ int cSkinEnigmaDisplayMenu::getDateWidth(const cFont *pFontDate)
int nWeekday = tm->tm_wday;
if (0 <= nWeekday && nWeekday < 7)
- w = std::max(w, pFontDate->Width(strWeekdays[nWeekday]));
+ w = std::max(w, pFontDate->Width(WEEKDAY(nWeekday)));
char temp[32];
strftime(temp, sizeof(temp), "%d.%m.%Y", tm);
@@ -2533,7 +2652,6 @@ debug("cSkinEnigmaDisplayMenu::Flush()");
free(strLastDate);
strLastDate = strdup((const char*)time);
- const cFont *pFontDate = EnigmaConfig.GetFont(FONT_DATE);
int x = xDateLeft + SmallGap;
int w = xLogoLeft - x;
int ys = yDateTop + (yDateBottom - SmallGap - yDateTop - 3 * pFontDate->Height()) / 2;
@@ -2544,7 +2662,7 @@ debug("cSkinEnigmaDisplayMenu::Flush()");
int nWeekday = tm->tm_wday;
if (0 <= nWeekday && nWeekday < 7) {
- osd->DrawText(x, ys, tr(strWeekdays[nWeekday]), Theme.Color(clrMenuTxtFg),
+ osd->DrawText(x, ys,WEEKDAY(nWeekday), Theme.Color(clrMenuTxtFg),
Theme.Color(clrLogoBg), pFontDate, w,
pFontDate->Height(), taCenter);
}
@@ -2571,7 +2689,6 @@ debug("cSkinEnigmaDisplayMenu::Flush()");
if ((strLastDate == NULL) || strcmp(strLastDate, (const char*)date) != 0) {
free(strLastDate);
strLastDate = strdup((const char*)date);
- const cFont *pFontDate = EnigmaConfig.GetFont(FONT_DATE);
osd->DrawText(xDateLeft + SmallGap, yDateTop, date, Theme.Color(clrMenuTxtFg),
Theme.Color(clrLogoBg), pFontDate, xDateRight - xDateLeft - SmallGap,
yTitleDecoBottom - yDateTop, taCenter);
@@ -2589,20 +2706,21 @@ debug("cSkinEnigmaDisplayMenu::Flush()");
// --- cSkinEnigmaDisplayReplay ---------------------------------------------
-class cSkinEnigmaDisplayReplay : public cSkinDisplayReplay, public cSkinEnigmaOsd {
+class cSkinEnigmaDisplayReplay : public cSkinDisplayReplay, public cSkinEnigmaBaseOsd, public cSkinEnigmaThreadedOsd {
private:
- cOsd *osd;
const cFont *pFontOsdTitle;
const cFont *pFontReplayTimes;
const cFont *pFontDate;
+ const cFont *pFontLanguage;
const cFont *pFontMessage;
int xTitleLeft, xTitleRight, yTitleTop, yTitleBottom, yTitleDecoTop, yTitleDecoBottom;
- int xLogoLeft, xLogoRight, yLogoTop, yLogoBottom;
+ int xLogoLeft, xLogoRight, xLogoDecoLeft, xLogoDecoRight, yLogoTop, yLogoBottom;
int xProgressLeft, xProgressRight, yProgressTop, yProgressBottom;
int xTimeLeft, xTimeRight, yTimeTop, yTimeBottom;
int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom;
int xMessageLeft, xMessageRight, yMessageTop, yMessageBottom;
+ int xFirstSymbol;
char *strLastDate;
bool modeonly;
@@ -2631,12 +2749,15 @@ public:
cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly)
{
+ INIT_FONTS;
+
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
pFontOsdTitle = EnigmaConfig.GetFont(FONT_OSDTITLE);
pFontReplayTimes = EnigmaConfig.GetFont(FONT_REPLAYTIMES);
pFontDate = EnigmaConfig.GetFont(FONT_DATE);
+ pFontLanguage = EnigmaConfig.GetFont(FONT_CILANGUAGE);
pFontMessage = EnigmaConfig.GetFont(FONT_MESSAGE);
strLastDate = NULL;
@@ -2654,17 +2775,19 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly)
int LogoSize = Gap + IconHeight + Gap;
LogoSize += (LogoSize % 2 ? 1 : 0);
- xTitleLeft = 0;
- xTitleRight = OsdSize.w;
yTitleTop = 0;
yTitleBottom = yTitleTop + pFontOsdTitle->Height();
yTitleDecoTop = yTitleBottom + TitleDecoGap;
yTitleDecoBottom = yTitleDecoTop + TitleDecoHeight;
- xLogoLeft = xTitleLeft;
+ xLogoLeft = 0;
xLogoRight = xLogoLeft + LogoSize;
+ xLogoDecoLeft = xLogoRight + LogoDecoGap;
+ xLogoDecoRight = xLogoDecoLeft + LogoDecoWidth;
+ xTitleLeft = EnigmaConfig.fullTitleWidth ? 0 : xLogoDecoRight + LogoDecoGap2;
+ xTitleRight = OsdSize.w;
yLogoTop = yTitleDecoBottom + TitleDecoGap2;
yLogoBottom = yLogoTop + LogoSize;
- xTimeLeft = xLogoRight + LogoDecoGap2;
+ xTimeLeft = xLogoDecoRight + LogoDecoGap2;
xTimeRight = xTitleRight;
xTimeLeft += (xTimeRight - xTimeLeft) - ((xTimeRight - xTimeLeft) & ~0x07);
yTimeTop = yLogoBottom - SmallGap - pFontReplayTimes->Height() - SmallGap;
@@ -2676,24 +2799,25 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly)
xBottomLeft = xTitleLeft;
xBottomRight = xTitleRight;
yBottomTop = yLogoBottom + SmallGap;
- yBottomBottom = yBottomTop + pFontDate->Height();
+ yBottomBottom = yBottomTop + std::max(pFontDate->Height(), pFontLanguage->Height());
xMessageLeft = xProgressLeft;
xMessageRight = xProgressRight;
yMessageTop = yLogoTop + (LogoSize - MessageHeight) / 2;
yMessageBottom = yMessageTop + MessageHeight;
+ xFirstSymbol = xBottomRight - Roundness;
// create osd
osd = cOsdProvider::NewOsd(OsdSize.x, OsdSize.y + OsdSize.h - yBottomBottom);
- tArea Areas[] = { {xTitleLeft, yTitleTop, xBottomRight - 1, yBottomBottom - 1, fShowSymbol ? 8 : 4} };
+ tArea Areas[] = { {std::min(xTitleLeft, xLogoLeft), yTitleTop, xBottomRight - 1, yBottomBottom - 1, fShowSymbol ? 8 : 4} };
if ((Areas[0].bpp < 8 || EnigmaConfig.singleArea8Bpp) && osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea)) == oeOk) {
debug("cSkinEnigmaDisplayReplay: using %dbpp single area", Areas[0].bpp);
osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea));
} else {
debug("cSkinEnigmaDisplayReplay: using multiple areas");
tArea Areas[] = { {xTitleLeft, yTitleTop, xTitleRight - 1, yTitleDecoBottom - 1, 2},
- {xLogoLeft, yLogoTop, xLogoRight + 1, yLogoBottom - 1, 4}, //TODO? "+1" because of wrong colors with "-1"
+ {xLogoLeft, yLogoTop, xLogoDecoRight + 1, yLogoBottom - 1, 4}, //TODO? "+1" because of wrong colors with "-1"
{xProgressLeft, yProgressTop, xTimeRight - 1, yTimeBottom - 1, 4},
- {xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, 2}
+ {xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, 4}
};
int rc = osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea));
if (rc == oeOk)
@@ -2723,6 +2847,7 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly)
yTitleDecoBottom - 1, Theme.Color(clrTitleBg));
// draw logo area
osd->DrawRectangle(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
+ osd->DrawRectangle(xLogoDecoLeft, yLogoTop, xLogoDecoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
// draw progress bar area
osd->DrawRectangle(xProgressLeft, yProgressTop, xProgressRight - 1,
yProgressBottom - 1, Theme.Color(clrReplayBarAreaBg));
@@ -2736,6 +2861,8 @@ cSkinEnigmaDisplayReplay::cSkinEnigmaDisplayReplay(bool ModeOnly)
clrTransparent, -3);
osd->DrawEllipse(xBottomRight - Roundness, yBottomBottom - Roundness,
xBottomRight - 1, yBottomBottom - 1, clrTransparent, -4);
+
+ xFirstSymbol = DrawStatusSymbols(0, xFirstSymbol, yBottomTop, yBottomBottom) - Gap;
}
#ifndef DISABLE_ANIMATED_TEXT
@@ -2818,6 +2945,7 @@ void cSkinEnigmaDisplayReplay::SetMode(bool Play, bool Forward, int Speed)
osd->DrawEllipse(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
} else {
osd->DrawRectangle(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
+ osd->DrawRectangle(xLogoDecoLeft, yLogoTop, xLogoDecoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
}
if (fShowSymbol) {
@@ -2984,8 +3112,8 @@ void cSkinEnigmaDisplayReplay::Flush(void)
osd->DrawText(xBottomLeft + Roundness, yBottomTop, date,
Theme.Color(clrTitleFg), Theme.Color(clrBottomBg),
pFontDate,
- xBottomRight - Roundness - xBottomLeft - Roundness - 1,
- yBottomBottom - yBottomTop - 1, taRight);
+ xFirstSymbol - xBottomLeft - Roundness - 1,
+ yBottomBottom - yBottomTop - 1, taLeft);
}
}
osd->Flush();
@@ -3000,9 +3128,8 @@ void cSkinEnigmaDisplayReplay::Flush(void)
// --- cSkinEnigmaDisplayVolume ---------------------------------------------
-class cSkinEnigmaDisplayVolume : public cSkinDisplayVolume {
+class cSkinEnigmaDisplayVolume : public cSkinDisplayVolume, public cSkinEnigmaBaseOsd {
private:
- cOsd *osd;
const cFont *pFontOsdTitle;
const cFont *pFontDate;
@@ -3023,6 +3150,8 @@ public:
cSkinEnigmaDisplayVolume::cSkinEnigmaDisplayVolume()
{
+ INIT_FONTS;
+
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
@@ -3182,6 +3311,7 @@ void cSkinEnigmaDisplayVolume::SetVolume(int Current, int Total, bool Mute)
void cSkinEnigmaDisplayVolume::Flush(void)
{
+ /* TODO? remove date
time_t now = time(NULL);
if (now != lastTime) {
lastTime = now;
@@ -3191,24 +3321,25 @@ void cSkinEnigmaDisplayVolume::Flush(void)
xBottomRight - (fShowSymbol ? Gap : (2 * Roundness)) - xBottomLeft - 1,
yBottomBottom - yBottomTop - 1, taRight);
}
+ */
osd->Flush();
}
// --- cSkinEnigmaDisplayTracks ---------------------------------------------
-class cSkinEnigmaDisplayTracks : public cSkinDisplayTracks {
+class cSkinEnigmaDisplayTracks : public cSkinDisplayTracks, public cSkinEnigmaBaseOsd {
private:
- cOsd *osd;
const cFont *pFontOsdTitle;
const cFont *pFontDate;
const cFont *pFontListItem;
int xTitleLeft, xTitleRight, yTitleTop, yTitleBottom, yTitleDecoTop, yTitleDecoBottom;
- int xLogoLeft, xLogoRight, yLogoTop, yLogoBottom;
- int xListLeft, xListRight, yListTop, yListBottom;
+ int xLogoLeft, xLogoRight, xLogoDecoLeft, xLogoDecoRight, yLogoTop, yLogoBottom;
+ int xListLeft, xListRight, yListTop, yListBottom, xItemLeft, xItemRight;
int xBottomLeft, xBottomRight, yBottomTop, yBottomBottom;
int lineHeight;
+ int nMarkerGap;
int currentIndex;
bool fShowSymbol;
time_t lastTime;
@@ -3225,6 +3356,8 @@ public:
cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTracks, const char *const *Tracks)
{
+ INIT_FONTS;
+
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
@@ -3236,40 +3369,49 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra
fShowSymbol = EnigmaConfig.showSymbols && EnigmaConfig.showSymbolsAudio;
lineHeight = pFontListItem->Height();
+ nMarkerGap = min(MarkerGap, lineHeight / 2 - 1); //lineHeight - 2 * MarkerGap
int LogoSize = IconHeight;
LogoSize += (LogoSize % 2 ? 1 : 0);
currentIndex = -1;
int ItemsWidth = 0;
+ //Get required space for the list items
for (int i = 0; i < NumTracks; i++)
ItemsWidth = std::max(ItemsWidth, pFontListItem->Width(Tracks[i]));
- ItemsWidth += (EnigmaConfig.showMarker ? lineHeight : SmallGap) + SmallGap;
- ItemsWidth = std::max(ItemsWidth, LogoSize);
- int width = ItemsWidth;
+ //Add required space for marker or border
+ ItemsWidth += (EnigmaConfig.showMarker ? lineHeight : ListHBorder) + ListHBorder;
+ //If OSD title only covers the list then its content must fit too
+ if (!EnigmaConfig.fullTitleWidth)
+ ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * Roundness + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap)));
+ //If the symbol is shown the list's width should be at least as wide as the symbol
if (fShowSymbol)
- width += LogoSize + LogoDecoGap2;
- width = std::max(width, pFontDate->Width(DayDateTime()) + 2 * Roundness);
- width = std::max(width, pFontOsdTitle->Width(Title) + 2 * Roundness + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap)));
-
- xTitleLeft = 0;
- xTitleRight = OsdSize.w;
- int d = xTitleRight - xTitleLeft;
- if (d > width) {
- d = (d - width) & ~0x07; // must be multiple of 8
- xTitleRight -= d;
+ ItemsWidth = std::max(ItemsWidth, LogoSize);
+ //Now let's calculate the OSD's full width
+ if (EnigmaConfig.fullTitleWidth) {
+ //If the symbol is shown, add its width
+ if (fShowSymbol)
+ ItemsWidth += LogoSize + LogoDecoGap + LogoDecoWidth + LogoDecoGap2;
+ //The width must be wide enough for the OSD title
+ ItemsWidth = std::max(ItemsWidth, pFontOsdTitle->Width(Title) + 2 * Roundness + (fShowSymbol ? 0 : (bmAudio[0].Width() + SmallGap)));
}
yTitleTop = 0;
yTitleBottom = pFontOsdTitle->Height();
yTitleDecoTop = yTitleBottom + TitleDecoGap;
yTitleDecoBottom = yTitleDecoTop + TitleDecoHeight;
- xLogoLeft = xTitleLeft;
+ xLogoLeft = 0;
xLogoRight = xLogoLeft + LogoSize;
+ xLogoDecoLeft = xLogoRight + LogoDecoGap;
+ xLogoDecoRight = xLogoDecoLeft + LogoDecoWidth;
yLogoTop = yTitleDecoBottom + TitleDecoGap2;
yLogoBottom = yLogoTop + std::max(LogoSize, NumTracks * lineHeight);
- xListLeft = fShowSymbol ? (xLogoRight + LogoDecoGap2) : 0;
+ xTitleLeft = fShowSymbol ? (EnigmaConfig.fullTitleWidth ? xLogoLeft : xLogoDecoRight + LogoDecoGap2) : 0;
+ xTitleRight = xTitleLeft + FixWidth(ItemsWidth, 2);
+ xListLeft = fShowSymbol ? (xLogoDecoRight + LogoDecoGap2) : 0;
xListRight = xTitleRight;
yListTop = yLogoTop;
yListBottom = yLogoBottom;
+ xItemLeft = xListLeft + (EnigmaConfig.showMarker ? lineHeight : ListHBorder);
+ xItemRight = xListRight - ListHBorder;
xBottomLeft = xTitleLeft;
xBottomRight = xTitleRight;
yBottomTop = yListBottom + SmallGap;
@@ -3285,7 +3427,7 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra
debug("cSkinEnigmaDisplayTracks: using multiple areas");
if (fShowSymbol) {
tArea Areas[] = { {xTitleLeft, yTitleTop, xTitleRight - 1, yTitleDecoBottom- 1, 2},
- {xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, 4},
+ {xLogoLeft, yLogoTop, xLogoDecoRight - 1, yLogoBottom - 1, 4},
{xListLeft, yListTop, xListRight - 1, yListBottom - 1, 2},
{xBottomLeft, yBottomTop, xBottomRight - 1, yBottomBottom - 1, 2}
};
@@ -3340,6 +3482,7 @@ cSkinEnigmaDisplayTracks::cSkinEnigmaDisplayTracks(const char *Title, int NumTra
if (fShowSymbol) {
// draw logo area
osd->DrawRectangle(xLogoLeft, yLogoTop, xLogoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
+ osd->DrawRectangle(xLogoDecoLeft, yLogoTop, xLogoDecoRight - 1, yLogoBottom - 1, Theme.Color(clrLogoBg));
}
// draw list area
osd->DrawRectangle(xListLeft, yListTop, xListRight - 1, yListBottom - 1, Theme.Color(clrBackground));
@@ -3362,7 +3505,6 @@ cSkinEnigmaDisplayTracks::~cSkinEnigmaDisplayTracks()
void cSkinEnigmaDisplayTracks::SetItem(const char *Text, int Index, bool Current)
{
- int xItemLeft = xListLeft + (EnigmaConfig.showMarker ? lineHeight : SmallGap);
int y = yListTop + Index * lineHeight;
tColor ColorFg, ColorBg;
if (Current) {
@@ -3376,12 +3518,13 @@ void cSkinEnigmaDisplayTracks::SetItem(const char *Text, int Index, bool Current
// draw track id
osd->DrawRectangle(xListLeft, y, xListRight, y + lineHeight, ColorBg);
if (EnigmaConfig.showMarker) {
- osd->DrawEllipse(xListLeft + MarkerGap, y + MarkerGap,
- xListLeft + lineHeight - MarkerGap,
- y + lineHeight - MarkerGap,
+ osd->DrawEllipse(xListLeft + nMarkerGap, y + nMarkerGap,
+ xListLeft + lineHeight - nMarkerGap,
+ y + lineHeight - nMarkerGap,
Current ? ColorFg : ColorBg);
}
- osd->DrawText(xItemLeft, y, Text, ColorFg, ColorBg, pFontListItem, xListRight - xItemLeft - SmallGap, lineHeight);
+ osd->DrawText(xItemLeft, y, Text, ColorFg, ColorBg, pFontListItem, xItemRight - xItemLeft, lineHeight);
+ osd->DrawRectangle(xItemRight, y, xListRight - 1, y + lineHeight - 1, ColorBg);
}
void cSkinEnigmaDisplayTracks::SetAudioChannel(int AudioChannel)
@@ -3415,6 +3558,7 @@ void cSkinEnigmaDisplayTracks::SetTrack(int Index, const char *const *Tracks)
void cSkinEnigmaDisplayTracks::Flush(void)
{
+ /* TODO? remove date
time_t now = time(NULL);
if (now != lastTime) {
lastTime = now;
@@ -3425,14 +3569,14 @@ void cSkinEnigmaDisplayTracks::Flush(void)
xBottomRight - Roundness - xBottomLeft - Roundness - 1,
yBottomBottom - yBottomTop - 1, taRight);
}
+ */
osd->Flush();
}
// --- cSkinEnigmaDisplayMessage --------------------------------------------
-class cSkinEnigmaDisplayMessage : public cSkinDisplayMessage {
+class cSkinEnigmaDisplayMessage : public cSkinDisplayMessage, public cSkinEnigmaBaseOsd {
private:
- cOsd *osd;
const cFont *pFontMessage;
int xTitleLeft, xTitleRight, yTitleTop, yTitleBottom, yTitleDecoTop, yTitleDecoBottom;
@@ -3455,6 +3599,8 @@ public:
cSkinEnigmaDisplayMessage::cSkinEnigmaDisplayMessage()
{
+ INIT_FONTS;
+
struct EnigmaOsdSize OsdSize;
EnigmaConfig.GetOsdSize(&OsdSize);
@@ -3585,7 +3731,7 @@ void cSkinEnigmaDisplayMessage::SetMessage(eMessageType Type, const char *Text)
idMessage = TE_MARQUEE(osd, idMessage, xMessageLeft, yMessageTop + 2 * SmallGap, Text,
Theme.Color(clrMessageStatusFg + 2 * Type),
Theme.Color(clrMessageStatusBg + 2 * Type),
- FONT_MESSAGE,
+ pFontMessage,
xMessageRight - xMessageLeft,
yMessageBottom - 2 * SmallGap - yMessageTop - 2 * SmallGap, taCenter);
else
@@ -3628,6 +3774,124 @@ void cSkinEnigmaDisplayMessage::Flush(void)
#endif
}
+// --- cSkinEnigmaOsd ----------------------------------------------------------
+
+bool cSkinEnigmaBaseOsd::HasChannelTimerRecording(const cChannel *Channel)
+{
+ // try to find current channel from timers
+ for (cTimer * t = Timers.First(); t; t = Timers.Next(t)) {
+ if ((t->Channel() == Channel) && t->Recording())
+ return true;
+ }
+ return false;
+}
+
+int cSkinEnigmaBaseOsd::DrawStatusSymbols(int x0, int xs, int top, int bottom, const cChannel *Channel /* = NULL */)
+{
+ if (!EnigmaConfig.showStatusSymbols)
+ return xs;
+
+ int ys = top + (bottom - top - SymbolHeight) / 2;
+ const cFont *pFontLanguage = EnigmaConfig.GetFont(FONT_CILANGUAGE);
+
+ cDevice *Device = cDevice::PrimaryDevice();
+ eTrackType TrackType = Device->GetCurrentAudioTrack();
+ const tTrackId *Track = Device->GetTrack(TrackType);
+ if (Track) {
+ int AudioMode = Device->GetAudioChannel();
+ if (!(AudioMode >= 0 && AudioMode < MAX_AUDIO_BITMAPS))
+ AudioMode = 0;
+
+ char *strFile = NULL;
+ asprintf(&strFile, "flags/%s%s", Track->language, IS_DOLBY_TRACK(TrackType) ? "DD" : (AudioMode > 0 ? "MONO" : ""));
+ bool fFlagFound = false;
+ if (EnigmaConfig.showFlags) {
+ if (EnigmaLogoCache.LoadSymbol(strFile)) {
+ xs -= (EnigmaLogoCache.Get().Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, EnigmaLogoCache.Get());
+ fFlagFound = true;
+ }
+ }
+
+ if (!fFlagFound) {
+ const char *strLang = Track->description ? Track->description : (strFile + strlen("flags/")); //don't show "flags/" in OSD
+ xs -= (pFontLanguage->Width(strLang) + SmallGap);
+ osd->DrawText(xs, top + SmallGap , strLang,
+ Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage,
+ pFontLanguage->Width(strLang), bottom - SmallGap);
+ }
+ free(strFile);
+ }
+
+ // draw recording symbol
+ if (cRecordControls::Active()) {
+ xs -= (bmRecording.Width() + SmallGap);
+ //TODO? get current channel on primary device: Channel = Device->CurrentChannel()
+ bool fRecording = Channel && HasChannelTimerRecording(Channel);
+ osd->DrawBitmap(xs, ys, bmRecording,
+ Theme.Color(fRecording ? clrSymbolRecordBg : clrBottomBg),
+ Theme.Color(fRecording ? clrSymbolRecord : clrSymbolActive));
+ }
+ /* TODO? else {
+ xs -= (bmRecording.Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, bmRecording,
+ Theme.Color(clrBottomBg), Theme.Color(clrSymbolInactive));
+ }
+ */
+
+#ifdef USE_PLUGIN_MAILBOX
+ if (EnigmaConfig.showMailIcon) {
+ cPlugin *MailBoxPlugin = cPluginManager::GetPlugin("mailbox");
+ bool fHasNewMail = false;
+ if (MailBoxPlugin && MailBoxPlugin->Service(MailBox_HasNewMail_v1_0_NAME, &fHasNewMail)) {
+ if (fHasNewMail || EnigmaConfig.showMailIcon > 1) {
+ xs -= (bmMail.Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, bmMail, Theme.Color(clrBottomBg),
+ Theme.Color(fHasNewMail ? clrSymbolActive : clrSymbolInactive));
+ }
+ }
+ }
+#endif
+
+#ifdef USE_PLUGIN_AVARDS
+ cPlugin *AvardsPlugin = cPluginManager::GetPlugin("avards");
+ if (AvardsPlugin) {
+ avards_CurrentVideoFormat_v1_0 avardsData;
+ if (AvardsPlugin->Service(AVARDS_CURRENT_VIDEO_FORMAT_SERVICE_STRING_ID, &avardsData)) {
+ if (EnigmaConfig.showWssSymbols) {
+ if (avardsData.Mode > 0) {
+ if (avardsData.Mode < MAX_AVARDS_MODES) {
+ xs -= (bmWSS[avardsData.Mode].Width() + SmallGap);
+ osd->DrawBitmap(xs, ys, bmWSS[avardsData.Mode], Theme.Color(clrBottomBg), Theme.Color(clrSymbolActive));
+ } else {
+ esyslog("ERROR: Unknown Avards mode %d", avardsData.Mode);
+ }
+ }
+ } else {
+ if (avardsData.Mode > 0 && avardsData.ModeString) {
+ xs -= (pFontLanguage->Width(avardsData.ModeString) + SmallGap);
+ osd->DrawText(xs, top + SmallGap , avardsData.ModeString,
+ Theme.Color(clrSymbolActive), Theme.Color(clrBottomBg), pFontLanguage,
+ pFontLanguage->Width(avardsData.ModeString), bottom - SmallGap);
+ }
+ }
+ }
+ }
+#endif
+
+ return xs;
+}
+
+int cSkinEnigmaBaseOsd::FixWidth(int w, int bpp, bool enlarge /* = true */)
+{
+ int a = 8 / bpp;
+ int r = w & (a - 1);
+ if (r == 0)
+ return w;
+
+ return enlarge ? (w + a -r) : (w - r);
+}
+
// --- cSkinEnigma ----------------------------------------------------------
cSkinEnigma::cSkinEnigma() : cSkin("EnigmaNG", &::Theme)
diff --git a/enigma.h b/enigma.h
index 7bf4356..559152f 100644
--- a/enigma.h
+++ b/enigma.h
@@ -27,16 +27,26 @@ public:
};
-// common interface
-class cSkinEnigmaOsd {
+// interface for use texteffects (=threads)
+class cSkinEnigmaThreadedOsd {
friend class cEnigmaTextEffects;
public:
- virtual ~cSkinEnigmaOsd(void)
+ virtual ~cSkinEnigmaThreadedOsd(void)
{};
virtual void DrawTitle(const char *Title) = 0;
};
+// interface for common functions
+class cSkinEnigmaBaseOsd {
+
+protected:
+ cOsd *osd;
+ bool HasChannelTimerRecording(const cChannel *Channel);
+ int DrawStatusSymbols(int x0, int xs, int top, int bottom, const cChannel *Channel = NULL);
+ int FixWidth(int w, int bpp, bool enlarge = true);
+};
+
#endif //__ENIGMA_H
// vim:et:sw=2:ts=2:
diff --git a/font.c b/font.c
index 902db0b..1401b86 100644
--- a/font.c
+++ b/font.c
@@ -52,7 +52,7 @@ bool cGraphtftFont::Load(string Filename, string CacheName, int Size, int Langua
#if VDRVERSNUM >= 10504
//TODO: "Width" not yet in VDR
-# ifdef VDRVERSNUM >= 10505
+# if VDRVERSNUM >= 10505
cFont *newFont = cFont::CreateFont(Filename.c_str(), Size, Width > 0 ? (Size * Width / 100) : 0);
# else
cFont *newFont = cFont::CreateFont(Filename.c_str(), Size);
diff --git a/i18n-template.c b/i18n-template.c
new file mode 100644
index 0000000..83f92e1
--- /dev/null
+++ b/i18n-template.c
@@ -0,0 +1,34 @@
+/*
+ * i18n.c: 'EnigmaNG' skin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ *
+ * Translations submitted by:
+ * - English: Andreas Mair <andreas _@_ vdr-developer.org>
+ * - Deutsch: Andreas Mair <andreas _@_ vdr-developer.org>
+ * - Italiano: Gringo <vdr-italian _@_ tiscali.it>
+ * - Nederlands: Johan Schuring <dorpsgek @vdr-portal.de>
+ * - Français: Patrice Staudt <pat @vdr-portal.de>
+ * - Finnish: Rolf Ahrenberg <rofafor @vdr-portal.de>
+ * - Polski: ???
+ * - Español: bittor from open7x0.org <bittor7x0 _at_ gmail.com>
+ * - Svenska: ???
+ * - Russian: SergArb @vdr-portal.de / neptunvasja @vdr-portal.de
+ * - Eesti: ???
+ * - Dansk: ???
+ * - Czech: ???
+ * - Türkçe: n/a
+ *
+ */
+
+#include "common.h"
+#include "i18n.h"
+
+#if VDRVERSNUM < 10507
+const tI18nPhrase Phrases[] = {
+// START I18N
+// END I18N
+ { NULL }
+ };
+#endif
diff --git a/i18n.c b/i18n.c
index 087e661..e3d5a2e 100644
--- a/i18n.c
+++ b/i18n.c
@@ -8,2647 +8,4192 @@
* - English: Andreas Mair <andreas _@_ vdr-developer.org>
* - Deutsch: Andreas Mair <andreas _@_ vdr-developer.org>
* - Italiano: Gringo <vdr-italian _@_ tiscali.it>
- * - Nederlands: dorpsgek @vdr-portal.de
+ * - Nederlands: Johan Schuring <dorpsgek @vdr-portal.de>
* - Français: Patrice Staudt <pat @vdr-portal.de>
* - Finnish: Rolf Ahrenberg <rofafor @vdr-portal.de>
* - Polski: ???
- * - Español: ???
+ * - Español: bittor from open7x0.org <bittor7x0 _at_ gmail.com>
* - Svenska: ???
* - Russian: SergArb @vdr-portal.de / neptunvasja @vdr-portal.de
* - Eesti: ???
* - Dansk: ???
* - Czech: ???
+ * - Türkçe: n/a
*
*/
#include "common.h"
#include "i18n.h"
+#if VDRVERSNUM < 10507
const tI18nPhrase Phrases[] = {
- {"en_US", // English
- "de_DE", // Deutsch
- "sl_SI", // Slovenski
- "it_IT", // Italiano
- "nl_NL", // Nederlands
- "pt_PT", // Português
- "fr_FR", // Français Patrice Staudt 18.05.2007
- "no_NO", // Norsk
- "fi_FI", // suomi (Finnish)
- "pl_PL", // Polski
- "es_ES", // Español
- "el_GR", // ÅëëçíéêÜ (Greek)
- "sv_SE", // Svenska
- "ro_RO", // Românã
- "hu_HU", // Magyar
- "ca_AD", // Català
- "ru_RU", // ÀãááÚØÙ (Russian)
- "hr_HR", // Hrvatski
- "et_EE", // Eesti
- "da_DK", // Dansk
- "cs_CZ", // Èesky (Czech)
- },
- {"Monday", // English Patrice Staudt 21.06.2007 Alle Sprache umgesetzt von LC_TIME
- "Montag", // Deutsch
- "ponedeljek", // Slovenski
- "Lunedì", // Italiano
- "maandag", // Nederlands
- "Segunda", // Português
- "Lundi", // Français
- "Manday", // Norsk
- "Maanantai", // suomi (Finnish)
- "poniedzia³ek", // Polski
- "Lunes", // Español
- "ÄåõôÝñá", // ÅëëçíéêÜ (Greek)
- "Måndag", // Svenska
- "Luni", // Românã
- "Hétfõ", // Magyar
- "Dilluns", // Català
- "¿ÞÝÕÔÕÛìÝØÚ", // ÀãááÚØÙ (Russian)
- "Ponedjeljak", // Hrvatski
- "Esmaspäev", // Eesti
- "Mandag", // Dansk
- "Pondìlí", // Èesky (Czech)
- },
- {"Tuesday", // English
- "Dienstag", // Deutsch
- "Torek", // Slovenski
- "Martedì", // Italiano
- "Dinsdag", // Nederlands
- "Terça", // Português
- "Mardi", // Français
- "Tirsday", // Norsk
- "Tiistai", // suomi (Finnish)
- "Wtorek", // Polski
- "Martes", // Español
- "Ôñßôç", // ÅëëçíéêÜ (Greek)
- "Tisdag", // Svenska
- "Marþi", // Românã
- "Kedd", // Magyar
- "Dimarts", // Català
- "²âÞàÝØÚ", // ÀãááÚØÙ (Russian)
- "Utorak", // Hrvatski
- "Teisipäev", // Eesti
- "Tirsdag", // Dansk
- "Úterý", // Èesky (Czech)
- },
- {"Wednesday", // English
- "Mittwoch", // Deutsch
- "sreda", // Slovenski
- "mercoledì", // Italiano
- "woensdag", // Nederlands
- "Quarta", // Português
- "Mercredi", // Français
- "Onsday", // Norsk
- "Keskiviikko", // suomi (Finnish)
- "¶roda", // Polski
- "Miércoles", // Español
- "ÔåôÜñôç", // ÅëëçíéêÜ (Greek)
- "Onsdag", // Svenska
- "Miercuri", // Românã
- "Szerda", // Magyar
- "Dimecres", // Català
- "ÁàÕÔÐ", // ÀãááÚØÙ (Russian)
- "Srijeda", // Hrvatski
- "Kolmapäev", // Eesti
- "Onsdag", // Dansk
- "Støeda", // Èesky (Czech)
- },
- {"Thursday", // English
- "Donnerstag", // Deutsch
- "èetrtek", // Slovenski
- "Giovedì", // Italiano
- "Donderdag", // Nederlands
- "Quinta", // Português
- "Jeudi", // Français
- "Torsdag", // Norsk
- "Torstai", // suomi (Finnish)
- "Czwartek", // Polski
- "Jueves", // Español
- "ÐÝìðôç", // ÅëëçíéêÜ (Greek)
- "Torsdag", // Svenska
- "Joi", // Românã
- "Csütörtök", // Magyar
- "Dijous", // Català
- "ÇÕâÒÕàÓ", // ÀãááÚØÙ (Russian)
- "Èetvrtak", // Hrvatski
- "Neljapäev", // Eesti
- "Torsdag", // Dansk
- "Ètvrtek", // Èesky (Czech)
- },
- {"Friday", // English
- "Freitag", // Deutsch
- "Petek", // Slovenski
- "Venerdì", // Italiano
- "Vrijdag", // Nederlands
- "Sexta", // Português
- "Vendredi", // Français
- "Fredag", // Norsk
- "Perjantai", // suomi (Finnish)
- "Pi±tek", // Polski
- "Viernes", // Español
- "ÐáñáóêåõÞ", // ÅëëçíéêÜ (Greek)
- "Fredag", // Svenska
- "Vineri", // Românã
- "Péntek", // Magyar
- "Divendres", // Català
- "¿ïâÝØæÐ", // ÀãááÚØÙ (Russian)
- "Petak", // Hrvatski
- "Reede", // Eesti
- "Fredag", // Dansk
- "Pátek", // Èesky (Czech)
- },
- {"Saturday", // English
- "Samstag", // Deutsch
- "Sobota", // Slovenski
- "Sabato", // Italiano
- "Zaterdag", // Nederlands
- "Sábado", // Português
- "Samedi", // Français
- "Lørdag", // Norsk
- "Lauantai", // suomi (Finnish)
- "Sobota", // Polski
- "Sábado", // Español
- "ÓÜââáôï", // ÅëëçíéêÜ (Greek)
- "Lördag", // Svenska
- "Sâmbãtã", // Românã
- "Szombat", // Magyar
- "Dissabte", // Català
- "ÁãÑÑÞâÐ", // ÀãááÚØÙ (Russian)
- "Subota", // Hrvatski
- "Laupäev", // Eesti
- "Lørdag", // Dansk
- "Sobota", // Èesky (Czech)
- },
- {"Sunday", // English
- "Sonntag", // Deutsch
- "Nedelja", // Slovenski
- "Domenica", // Italiano
- "Zondag", // Nederlands
- "Domingo", // Português
- "Dimanche", // Français
- "Søndag", // Norsk
- "Sunnuntai", // suomi (Finnish)
- "Niedziela", // Polski
- "Domingo", // Español
- "ÊõñéáêÞ", // ÅëëçíéêÜ (Greek)
- "Söndag", // Svenska
- "Duminicã", // Românã
- "Vasárnap", // Magyar
- "Diumenge", // Català
- "²ÞáÚàÕáÕÝìÕ", // ÀãááÚØÙ (Russian)
- "Nedjelja", // Hrvatski
- "Pühapäev", // Eesti
- "Søndag", // Dansk
- "Nedìle", // Èesky (Czech)
- },
- {"EnigmaNG skin", // English
- "EnigmaNG Oberfläche", // Deutsch
- "", // Slovenski
- "Interfaccia EnigmaNG", // Italiano
- "EnigmaNG skin", // Nederlands
- "", // Português
- "Skin EnigmaNG", // Français
- "", // Norsk
- "EnigmaNG-ulkoasu", // suomi (Finnish)
- "Skin EnigmaNG", // Polski
- "Piel EnigmaNG", // Español
- "", // ÅëëçíéêÜ (Greek)
- "EnigmaNG-temat", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "EnigmaNG áÚØÝ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "EnigmaNG kest", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"EnigmaNG", // English
- "EnigmaNG", // Deutsch
- "", // Slovenski
- "EnigmaNG", // Italiano
- "EnigmaNG", // Nederlands
- "", // Português
- "EnigmaNG", // Français
- "", // Norsk
- "EnigmaNG", // suomi (Finnish)
- "EnigmaNG", // Polski
- "EnigmaNG", // Español
- "", // ÅëëçíéêÜ (Greek)
- "EnigmaNG", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "EnigmaNG", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "EnigmaNG", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"min", // English
- "min", // Deutsch
- "", // Slovenski
- "min", // Italiano
- "min", // Nederlands
- "", // Português
- "min", // Français
- "", // Norsk
- "min", // suomi (Finnish)
- "min", // Polski
- "min", // Español
- "", // ÅëëçíéêÜ (Greek)
- "min", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÜØÝ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "min", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Stereo", // English
- "Stereo", // Deutsch
- "", // Slovenski
- "Stereo", // Italiano
- "Stereo", // Nederlands
- "", // Português
- "Stéréo", // Français
- "", // Norsk
- "Stereo", // suomi (Finnish)
- "Stereo", // Polski
- "Estereo", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Stereo", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÁâÕàÕÞ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Stereo", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Left", // English
- "Links", // Deutsch
- "", // Slovenski
- "Sinistra", // Italiano
- "Links", // Nederlands
- "", // Português
- "Gauche", // Français
- "", // Norsk
- "Vasen", // suomi (Finnish)
- "W lewo", // Polski
- "Izquierda", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Vänster", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "»ÕÒëÙ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Vasak", // Eesti
- "", // Danske
- "", // Èesky (Czech)
- },
- {"Right", // English
- "Rechts", // Deutsch
- "", // Slovenski
- "Destra", // Italiano
- "Rechts", // Nederlands
- "", // Português
- "Droite", // Français
- "", // Norsk
- "Oikea", // suomi (Finnish)
- "W prawo", // Polski
- "Derecha", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Höger", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿àÐÒëÙ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Parem", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Mute", // English
- "Stumm", // Deutsch
- "", // Slovenski
- "Muto", // Italiano
- "Geluid uit", // Nederlands
- "", // Português
- "Muet", // Français
- "", // Norsk
- "Mykistetty", // suomi (Finnish)
- "Wycisz", // Polski
- "Silenciar", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Dämpa", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "²ëÚÛ. ×ÒãÚ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Hääletu", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Volume", // English
- "Lautstärke", // Deutsch
- "", // Slovenski
- "Volume", // Italiano
- "Volume", // Nederlands
- "", // Português
- "Volume", // Français
- "", // Norsk
- "Äänenvoimakkuus", // suomi (Finnish)
- "G³o¶no¶æ", // Polski
- "Volumen", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Volym", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "³àÞÜÚÞáâì", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Helitugevus", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show channel logos", // English
- "Kanal-Logos anzeigen", // Deutsch
- "", // Slovenski
- "Mostra loghi canali", // Italiano
- "Toon kanaallogo's", // Nederlands
- "", // Português
- "Afficher logos des chaînes", // Français
- "", // Norsk
- "Näytä kanavalogot", // suomi (Finnish)
- "Pokazuj logo kana³u", // Polski
- "Mostrar los logos de los canales", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Visa kanallogotyper", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì ÛÞÓÞ ÚÐÝÐÛÞÒ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Kanalilogo näitamine", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Identify channel by", // English
- " Kanal-Identifikation durch", // Deutsch
- "", // Slovenski
- " Identifica canale per", // Italiano
- " Kanaalidentificatie door", // Nederlands
- "", // Português
- " Identifier chaîne par", // Français
- "", // Norsk
- " Tunnista kanava", // suomi (Finnish)
- " Rozpoznaj kana³ po", // Polski
- " Identificar el canal por...", // Español
- "", // ÅëëçíéêÜ (Greek)
- " Identifiera kanal med", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- " ¾ßàÕÔÕÛïâì ÚÐÝÐÛ ßÞ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- " Kanali tuvastamise meetod", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"name", // English
- "Name", // Deutsch
- "", // Slovenski
- "nome", // Italiano
- "naam", // Nederlands
- "", // Português
- "Nom", // Français
- "", // Norsk
- "nimestä", // suomi (Finnish)
- "nazwa", // Polski
- "Nombre", // Español
- "", // ÅëëçíéêÜ (Greek)
- "namn", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÝÐ×ÒÐÝØî", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "nimi", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"data", // English
- "ID", // Deutsch
- "", // Slovenski
- "dati", // Italiano
- "data", // Nederlands
- "", // Português
- "Donnée", // Français
- "", // Norsk
- "tiedoista", // suomi (Finnish)
- "parametry", // Polski
- "Datos", // Español
- "", // ÅëëçíéêÜ (Greek)
- "data", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÔÐÝÝëÜ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "andmed", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Channel logo cache size", // English
- "Größe des Logo-Caches", // Deutsch
- "", // Slovenski
- "Dimensione cache dei loghi",// Italiano
- "Kanaallogo cache", // Nederlands
- "", // Português
- "Taille du cache des logos", // Français
- "", // Norsk
- "Välimuistin koko kanavalogoille", // suomi (Finnish)
- "Rozmiar cache dla logo kana³u", // Polski
- "Tamaño de la cache de los logos", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Cachestorlek för logotyper", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÀÐ×ÜÕà ÚÕèÐ ÛÞÓoâØßÞÒ ÚÐÝÐÛÞÒ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Kanalilogo vahemälu suurus", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Button$Flush cache", // English
- "Cache leeren", // Deutsch
- "", // Slovenski
- "Pulisci cache", // Italiano
- "Cache legen", // Nederlands
- "", // Português
- "Supprimer cache", // Français
- "", // Norsk
- "Tyhjennä", // suomi (Finnish)
- "Opró¿nij cache", // Polski
- "Limpiar la cache", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Töm cachen", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¾çØáâØâì ÚÕè", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Tühjenda", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Flushing channel logo cache...", // English
- "Logo-Cache wird geleert...", // Deutsch
- "", // Slovenski
- "Pulendo la cache...", // Italiano
- "Kanaallogo cache legen...", // Nederlands
- "", // Português
- "Suppression du cache...", // Français
- "", // Norsk
- "Tyhjennetään välimuistia...", // suomi (Finnish)
- "Opró¿niam cache logo kana³u...", // Polski
- "Limpiando la cache...", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Tömmer cachen...", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¾çØéÐî ÚÕè...", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Kanalilogo vahemälu tühjendamine...", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Languages", // English
- "Sprachen", // Deutsch
- "", // Slovenski
- "Lingue", // Italiano
- "Talen", // Nederlands
- "", // Português
- "Langues", // Français
- "", // Norsk
- "Kielet", // suomi (Finnish)
- "Jêzyki", // Polski
- "Lenguajes", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Språk", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "Ï×ëÚØ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Keeled", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Auxiliary information", // English
- "Zusatzinformation", // Deutsch
- "", // Slovenski
- "Informazione ausiliare", // Italiano
- "Hulp informatie", // Nederlands
- "", // Português
- "Information auxiliare", // Français
- "", // Norsk
- "Lisätiedot", // suomi (Finnish)
- "Informacje pomocnicze", // Polski
- "Información auxiliar", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Extrainformation", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÀÐáè. ØÝäÞàÜÐæØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Lisainfo", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show auxiliary information", // English
- "Zusatzinfo anzeigen", // Deutsch
- "", // Slovenski
- "Mostra informazione ausiliare", // Italiano
- "Toon hulp informatie", // Nederlands
- "", // Português
- "Afficher informations auxiliaires", // Français
- "", // Norsk
- "Näytä lisätiedot", // suomi (Finnish)
- "Pokazuj informacje pomocnicze", // Polski
- "Mostrar información auxiliar", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Visa extrainformation", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì àÐáè. ØÝäÞàÜÐæØî", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Lisainfo näitamine", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show remaining/elapsed time", // English
- "Zeige abgel./restl. Zeit", // Deutsch
- "", // Slovenski
- "Mostra tempo rimasto/trascorso", // Italiano
- "Toon resterend/gedane tijd", // Nederlands
- "", // Português
- "Afficher le temps écoulé/restant", // Français
- "", // Norsk
- "Näytä tapahtuman aika", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì ÞáâÐÒ./ßàÞèÕÔ. ÒàÕÜï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"remaining", // English
- "restliche", // Deutsch
- "", // Slovenski
- "rimasto", // Italiano
- "resterend", // Nederlands
- "", // Português
- "restant", // Français
- "", // Norsk
- "jäljellä oleva", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÞáâÐÛìÝëÕ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"elapsed", // English
- "abgelaufene", // Deutsch
- "", // Slovenski
- "trascorso", // Italiano
- "gedane", // Nederlands
- "", // Português
- "écoulé", // Français
- "", // Norsk
- "kulunut", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ØáâÕÚèØÕ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show info area in main menu", // English
- "Infobereich im Hauptmenü", // Deutsch
- "", // Slovenski
- "Mostra area info nel menu principale", // Italiano
- "Info in hoofdmenu", // Nederlands
- "", // Português
- "Surface d'infos dans le menu principal", // Français
- "", // Norsk
- "Näytä infoalue päävalikossa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì ØÝä. ÞÑÛÐáìâ Ò ÓÛ. ÜÕÝî", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show marker in lists", // English
- "Symbol vor Listeneinträgen", // Deutsch
- "", // Slovenski
- "Mostra indicatore negli elenchi", // Italiano
- "Markering in lijsten tonen", // Nederlands
- "", // Português
- "Marque devant les listes", // Français
- "", // Norsk
- "Näytä valintasymboli", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì ÜÕâÚã Ò áߨáÚÐå", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show progressbar", // English
- "Fortschrittbalken anzeigen", // Deutsch
- "", // Slovenski
- "Mostra barra avanzamento", // Italiano
- "Progressiebalk tonen", // Nederlands
- "", // Português
- "Afficher barre de progression", // Français
- "", // Norsk
- "Näytä aikajana", // suomi (Finnish)
- "Pokazuj pasek postêpu", // Polski
- "Mostrar barra de progreso", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Visa framsteg", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì ØÝÔØÚÐâÞà ßàÞÔÒØÖÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Edenemisriba näitamine", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show symbols", // English
- "Symbole anzeigen", // Deutsch
- "", // Slovenski
- "Mostra simboli", // Italiano
- "Symbolen tonen", // Nederlands
- "", // Português
- "Afficher symbole", // Français
- "", // Norsk
- "Näytä symbolit", // suomi (Finnish)
- "Pokazuj symbole", // Polski
- "Mostrar símbolos", // Español
- "", // ÅëëçíéêÜ (Greek)
- "Visa symboler", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "Sümbolite näitamine", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show VPS", // English
- "VPS anzeigen", // Deutsch
- "", // Slovenski
- "Mostra VPS", // Italiano
- "VPS tonen", // Nederlands
- "", // Português
- "Afficher le VPS", // Français
- "", // Norsk
- "Näytä VPS-tieto", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì VPS", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"WARNING", // English
- "WARNUNG", // Deutsch
- "", // Slovenski
- "ATTENZIONE", // Italiano
- "WAARSCHUWING", // Nederlands
- "", // Português
- "ATTENTION", // Français
- "", // Norsk
- "VAROITUS", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿Àµ´Ã¿Àµ¶´µ½¸µ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Timer conflict", // English
- "Timerkonflikt", // Deutsch
- "", // Slovenski
- "Conflitto timer", // Italiano
- "Timerconflict", // Nederlands
- "", // Português
- "Conflit de programmation", // Français
- "", // Norsk
- "Päällekkäinen ajastin", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ºÞÝäÛØÚâ âÐÙÜÕàÐ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Timer conflicts", // English
- "Timerkonflikte", // Deutsch
- "", // Slovenski
- "Conflitti timer", // Italiano
- "Timerconflicten", // Nederlands
- "", // Português
- "Conflits de programmation", // Français
- "", // Norsk
- "Päällekkäisiä ajastimia", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ºÞÝäÛØÚâë âÐÙÜÕàÞÒ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"TIMERS", // English
- "TIMER", // Deutsch
- "", // Slovenski
- "TIMER", // Italiano
- "TIMER", // Nederlands
- "", // Português
- "PROGRAMMATION", // Français
- "", // Norsk
- "AJASTIMET", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "°¹¼µÀË", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"RERUNS OF THIS SHOW", // English
- "WIEDERHOLUNGEN", // Deutsch
- "", // Slovenski
- "RIPETI QUESTO SHOW", // Italiano
- "HERHALINGEN", // Nederlands
- "", // Português
- "REPETITION", // Français
- "", // Norsk
- "TOISTUVAT TAPAHTUMAT", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿¾²Â¾Àµ½¸Ï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"*** Invalid Channel ***", // English
- "*** Ungültiger Kanal ***", // Deutsch
- "", // Slovenski
- "*** Canale non valido ***", // Italiano
- "*** Ongeldig Kanaal ***", // Nederlands
- "", // Português
- "*** Chaîne non valable ***", // Français
- "", // Norsk
- "*** Virheellinen kanava ***", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Size", // English
- "Größe", // Deutsch
- "", // Slovenski
- "Dimensione", // Italiano
- "Grootte", // Nederlands
- "", // Português
- "Taille", // Français
- "", // Norsk
- "Koko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÀÐ×ÜÕà", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Mute", // English
- "Stumm", // Deutsch
- "", // Slovenski
- "Muto", // Italiano
- "Geluid uit", // Nederlands
- "Muet", // Português
- "", // Français
- "", // Norsk
- "Mykistetty", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "²ëÚÛ.×ÒãÚ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Volume", // English
- "Lautstärke", // Deutsch
- "", // Slovenski
- "Volume", // Italiano
- "Volume", // Nederlands
- "", // Português
- "Volume", // Français
- "", // Norsk
- "Äänenvoimakkuus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "³àÞÜÚÞáâì", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show symbols in lists", // English
- "Symbole in Listen", // Deutsch
- "", // Slovenski
- "Mostra simboli negli elenchi", // Italiano
- "Symbolen in lijsten", // Nederlands
- "", // Português
- "Symboles dans les listes", // Français
- "", // Norsk
- "Näytä tapahtumien symbolit",// suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë Ò áߨáÚÐå", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Try 8bpp single area", // English
- "Einen 8bpp Bereich versuchen", // Deutsch
- "", // Slovenski
- "Prova area singola a 8bpp", // Italiano
- "Op 8bpp bereik testen", // Nederlands
- "", // Português
- "Essayer une surface à 8bpp",// Français
- "", // Norsk
- "Suosi yhtä 8bpp kuva-aluetta", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show flags", // English
- "Fahnen anzeigen", // Deutsch
- "", // Slovenski
- "Mostra segni", // Italiano
- "Vlaggen tonen", // Nederlands
- "", // Português
- "Afficher drapeau", // Français
- "", // Norsk
- "Näytä liput", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×Ðâì äÛÐÓØ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show symbols in menu", // English
- "Symbole im Menü", // Deutsch
- "", // Slovenski
- "Mostra simboli nel menu", // Italiano
- "Symbolen in menu", // Nederlands
- "", // Português
- "Symboles dans le menu", // Français
- "", // Norsk
- "Näytä valikkosymbolit", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×Ðâì áØÜÒÞÛë Ò ÜÕÝî", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"never", // English
- "nie", // Deutsch
- "", // Slovenski
- "mai", // Italiano
- "nooit", // Nederlands
- "", // Português
- "jamais", // Français
- "", // Norsk
- "ei koskaan", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÝØÚÞÓÔÐ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"always", // English
- "immer", // Deutsch
- "", // Slovenski
- "sempre", // Italiano
- "Altijd", // Nederlands
- "", // Português
- "toujours", // Français
- "", // Norsk
- "aina", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÒáÕÓÔÐ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"percent", // English
- "Prozent", // Deutsch
- "", // Slovenski
- "percentuale", // Italiano
- "procent", // Nederlands
- "", // Português
- "Pourcentage", // Français
- "", // Norsk
- "prosentti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ßàÞæÕÝâ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"if exists", // English
- "wenn vorhanden", // Deutsch
- "", // Slovenski
- "se esiste", // Italiano
- "wanneer aanwezig", // Nederlands
- "", // Português
- "si existant", // Français
- "", // Norsk
- "jos olemassa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÕáÛØ Ò ÝÐÛØçØØ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Number of Reruns", // English
- "Anzahl Wiederholungen", // Deutsch
- "", // Slovenski
- "Numero di ripetizioni", // Italiano
- "aantal herhalingen", // Nederlands
- "", // Português
- "Nombre de répétitions", // Français
- "", // Norsk
- "Uusintojen lukumäärä", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ºÞÛØçÕáâÒÞ ßÞÒâÞàÕÝØÙ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Use Subtitle for reruns", // English
- "Verw. Untertitel für Wdh.", // Deutsch
- "", // Slovenski
- "Usa sottotitolo per ripetizioni", // Italiano
- "Gebr. ondertitlel voor herh.", // Nederlands
- "", // Português
- "Utilise sous-titres pour les répétitions", // Français
- "", // Norsk
- "Käytä lyhyttä kuvausta uusinnoille", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¸áßÞÛì×. ßÞÔ×ÐÓÞÛÞÒÚØ ÔÛï ßÞÒâÞàÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show timer conflicts", // English
- "Timerkonflikte anzeigen", // Deutsch
- "", // Slovenski
- "Mostra conflitti timer", // Italiano
- "Timerconflict tonen", // Nederlands
- "", // Português
- "Afficher les conflits de programmation", // Français
- "", // Norsk
- "Näytä päällekkäiset ajastimet", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×Ðâì ÚÞÝäÛØÚâë âÐÙÜÕàÞÒ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Timer check", // English
- "Überwachung", // Deutsch
- "", // Slovenski
- "Verifica timer", // Italiano
- "Monitoren", // Nederlands
- "", // Português
- "Observation de la programmation", // Français
- "", // Norsk
- "Ajastimien valvonta", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿àÞÒÕàÚÐ âÐÙÜÕàÞÒ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"EPGSearch", // English
- "EPGSearch", // Deutsch
- "", // Slovenski
- "Ricerca EPG", // Italiano
- "EPGsearch", // Nederlands
- "", // Português
- "Recherche EPG", // Français
- "", // Norsk
- "EPGSearch", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Logos & Symbols", // English
- "Logos & Symbole", // Deutsch
- "", // Slovenski
- "Loghi e simboli", // Italiano
- "Logo's & Symbolen", // Nederlands
- "", // Português
- "Logos et symboles", // Français
- "", // Norsk
- "Logot ja symbolit", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "»ÞÓÞâØßë & áØÜÒÞÛë", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"use size.vdr only", // English
- "nur size.vdr verwenden", // Deutsch
- "", // Slovenski
- "usa solo size.vdr", // Italiano
- "alleen size.vdr gebruiken", // Nederlands
- "", // Português
- "utiliser seulement size.vdr", // Français Patrice Staudt 29.03.2007
- "", // Norsk
- "vain jos size.vdr", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ØáßÞÛì×ÞÒÐâì âÞÛìÚÞ size.vdr", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show recording's size", // English
- "Aufnahmengröße anzeigen", // Deutsch
- "", // Slovenski
- "Mostra dimensione delle registrazioni", // Italiano
- "Opnamegrootte tonen", // Nederlands
- "", // Português
- "Afficher la taille des enregistrements", // Français
- "", // Norsk
- "Näytä tallenteen koko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×ëÒÐâì àÐ×ÜÕàë ×ÐߨáÕÙ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"pixel algo", // English
- "Pixel-Algorithmus", // Deutsch
- "", // Slovenski
- "algoritmo pixel", // Italiano
- "pixelalgoritme", // Nederlands
- "", // Português
- "Algorithme pixel", // Français
- "", // Norsk
- "näytteistys", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÐÛÓÞàØâÜ ßØÚáÕÛï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"ratio algo", // English
- "Ratio-Algorithmus", // Deutsch
- "", // Slovenski
- "algoritmo ratio", // Italiano
- "algoritmeratio", // Nederlands
- "", // Português
- "Algorithme ratio", // Français
- "", // Norsk
- "skaalaus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÐÛÓÞàØâÜ áÞÞâÝÞèÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"zoom image", // English
- "Zoomen", // Deutsch
- "", // Slovenski
- "ingrandisci immagine", // Italiano
- "zoomen", // Nederlands
- "", // Português
- "Agrandir image", // Français
- "", // Norsk
- "zoomaus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "ÃÒÕÛØçØâì", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Show event/recording images", // English
- "Bilder in EPG/Aufnahmendetails", // Deutsch
- "", // Slovenski
- "Mostra immagini evento/registrazione", // Italiano
- "EPG/opnamedetails tonen", // Nederlands
- "", // Português
- "Images dans les EPG et détails d'enregistrements", // Français
- "", // Norsk
- "Näytä kuvat lisätietovalikossa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¸×ÞÑàÐÖÕÝØï Ò EPG", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Resize images", // English
- " Bildberechnung benutzt", // Deutsch
- "", // Slovenski
- " Ridimensiona immagini", // Italiano
- " Aanpassen beeldgrootte", // Nederlands
- "", // Português
- " Redimensionne les images", // Français
- "", // Norsk
- " Muokkaa kuvien kokoa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- " ¿ÕàÕàÕèÐâì ØáßÞÛì×ãï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Image width", // English
- " Bildbreite", // Deutsch
- "", // Slovenski
- " Lunghezza immagine", // Italiano
- " Beeldbreedte", // Nederlands
- "", // Português
- " Largeur", // Français
- "", // Norsk
- " Kuvien leveys", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- " ÈØàØÝÐ Ø×ÞÑàÐÖÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Image height", // English
- " Bildhöhe", // Deutsch
- "", // Slovenski
- " Altezza immagine", // Italiano
- " Beeldhoogte", // Nederlands
- "", // Português
- " Hauteur", // Français
- "", // Norsk
- " Kuvien korkeus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- " ²ëáÞâÐ Ø×ÞÑàÐÖÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Image format", // English
- " Bildformat", // Deutsch
- "", // Slovenski
- " Formato immagine", // Italiano
- " Beeldformaat", // Nederlands
- "", // Português
- " Format d'image", // Français
- "", // Norsk
- " Kuvaformaatti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- " ÄÞàÜÐâ Ø×ÞÑàÐÖÕÝØï", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Full title width", // English
- "Volle Titelbreite", // Deutsch
- "", // Slovenski
- "Lunghezza titolo completo", // Italiano
- "Volle titelbreedte", // Nederlands
- "", // Português
- "Largeur totale pour le titre", // Français
- "", // Norsk
- "Levitä otsikkopalkki", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÛÝÐï èØàØÝÐ ×ÐÓÞÛÞÒÚÐ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
-#ifdef USE_PLUGIN_MAILBOX
- {"Show mail icon", // English
- "Zeige Mail-Icon", // Deutsch
- "", // Slovenski
- "Mostra icona email", // Italiano
- "Mail-ikoon tonen", // Nederlands
- "", // Português
- "Afficher l'icône courriel", // Français
- "", // Norsk
- "Näytä sähköpostikuvake", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "¿ÞÚÐ×Ðâì ×ÝÐçÞÚ íÛÕÚâ. ßÞçâë", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"only if new mail present", // English
- "nur bei neuer Mail", // Deutsch
- "", // Slovenski
- "solo se presenti nuove email", // Italiano
- "alleen bij nieuwe mail", // Nederlands
- "", // Português
- "juste lors d'un courriel", // Français
- "", // Norsk
- "jos uutta postia", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "âÞÛìÚÞ ßàØ ÝÞÒÞÜ áÞÞÑéÕÝØØ", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
-#endif
-#ifndef DISABLE_ANIMATED_TEXT
- {"Animated Text", // English
- "Bewegter Text", // Deutsch
- "", // Slovenski
- "Testo animato", // Italiano
- "Geanimeerde tekst", // Nederlands
- "", // Português
- "Texte défilant", // Français
- "", // Norsk
- "Tekstien elävöinti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Enable", // English
- "Verwenden", // Deutsch
- "", // Slovenski
- "Abilita", // Italiano
- "Toelaten", // Nederlands
- "", // Português
- "Permettre", // Français
- "", // Norsk
- "Käytä elävöintiä", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scoll behaviour", // English
- " Scroll-Verhalten", // Deutsch
- "", // Slovenski
- " Comportamento scorrimento",// Italiano
- " Scroll gedrag", // Nederlands
- "", // Português
- " Comportement de défilement", // Français
- "", // Norsk
- " Vieritystapa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"to the left", // English
- "nach links", // Deutsch
- "", // Slovenski
- "verso la sinistra", // Italiano
- "naar links", // Nederlands
- "", // Português
- "vers la gauche", // Français
- "", // Norsk
- "vasemmalle", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"left and right", // English
- "links und rechts", // Deutsch
- "", // Slovenski
- "sinistra e destra", // Italiano
- "links en rechts", // Nederlands
- "", // Português
- "gauche et droite", // Français
- "", // Norsk
- "edestakaisin", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll delay (ms)", // English
- " Scroll-Verzögerung (ms)", // Deutsch
- "", // Slovenski
- " Ritardo scorrimento (ms)",// Italiano
- " Scrollvertraging (ms)", // Nederlands
- "", // Português
- " Délai de défilement (ms)",// Français
- "", // Norsk
- " Vierityksen viive (ms)", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll pause (ms)", // English
- " Scroll-Pause (ms)", // Deutsch
- "", // Slovenski
- " Pausa scorrimento (ms)", // Italiano
- " Scrollpause (ms)", // Nederlands
- "", // Português
- " Pause de défilement (ms)",// Français
- "", // Norsk
- " Vierityksen tauko (ms)", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Blink pause (ms)", // English
- " Blink-Pause (ms)", // Deutsch
- "", // Slovenski
- " Pausa lampeggiante (ms)", // Italiano
- " Blinkpauze (ms)", // Nederlands
- "", // Português
- " Pause de clignotement (ms)",// Français
- "", // Norsk
- " Vilkutuksen tauko (ms)", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll OSD title", // English
- " OSD Titel scrollen", // Deutsch
- "", // Slovenski
- " Scorri titolo OSD", // Italiano
- " OSD titel scrollen", // Nederlands
- "", // Português
- " Défilement dans le titre du OSD", // Français
- "", // Norsk
- " Vieritä valikon otsikkoa",// suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll info area", // English
- " Infobereich scrollen", // Deutsch
- "", // Slovenski
- " Scorri informazioni area",// Italiano
- " Infobereik scrollen", // Nederlands
- "", // Português
- " Barre de défilement dans la surface info", // Français
- "", // Norsk
- " Vieritä infoaluetta", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll active list items", // English
- " Aktive Listenzeile scrollen", // Deutsch
- "", // Slovenski
- " Scorri valori lista attivi",// Italiano
- " Lijst aktieve punten scrollen", // Nederlands
- "", // Português
- " Barre de défilement dans la liste active", // Français
- "", // Norsk
- " Vieritä aktiivista valintaa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Scroll other items", // English
- " Andere Bereiche scrollen", // Deutsch
- "", // Slovenski
- " Scorri altri valori", // Italiano
- " Ander bereik scrollen", // Nederlands
- "", // Português
- " Barre de défilement dans d'autres parties", // Français
- "", // Norsk
- " Vieritä muita alueita", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
-#endif
- {" Show symbols in menu", // English
- " Symbole im Menü", // Deutsch
- "", // Slovenski
- " Mostra simboli nel menu", // Italiano
- " Symbolen in menu", // Nederlands
- "", // Português
- " dans le menu", // Français
- "", // Norsk
- " Näytä symbolit valikossa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Show symbols in replay", // English
- " Symbole bei der Wiedergabe", // Deutsch
- "", // Slovenski
- " Mostra simboli in esecuzione",// Italiano
- " Symbolen bij weergave", // Nederlands
- "", // Português
- " dans lecture", // Français
- "", // Norsk
- " Näytä symbolit toistettaessa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Show symbols in messages", // English
- " Symbole bei den Meldungen", // Deutsch
- "", // Slovenski
- " Mostra simboli nei messaggi",// Italiano
- " Symbolen bij berichten", // Nederlands
- "", // Português
- " dans les messages", // Français
- "", // Norsk
- " Näytä symbolit viesteissä", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {" Show symbols in audio", // English
- " Symbole bei Audio", // Deutsch
- "", // Slovenski
- " Mostra simboli in audio", // Italiano
- " Symbolen bij audio", // Nederlands
- "", // Português
- " dans audio", // Français
- "", // Norsk
- " Näytä symbolit äänivalikossa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Fonts", // English
- "Fonts", // Deutsch
- "", // Slovenski
- "Caratteri", // Italiano
- "Fonts", // Nederlands
- "", // Português
- "Les polices", // Français
- "", // Norsk
- "Kirjasintyypit", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"OSD title", // English
- "OSD Titel", // Deutsch
- "", // Slovenski
- "Titolo OSD", // Italiano
- "OSD titel", // Nederlands
- "", // Português
- "Titre OSD", // Français
- "", // Norsk
- "Valikon otsikko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Date", // English
- "Datum", // Deutsch
- "", // Slovenski
- "Data", // Italiano
- "Datum", // Nederlands
- "", // Português
- "Date", // Français
- "", // Norsk
- "Päiväys", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Messages", // English
- "Meldungen", // Deutsch
- "", // Slovenski
- "Messaggi", // Italiano
- "Meldingen", // Nederlands
- "", // Português
- "Message", // Français
- "", // Norsk
- "Viestit", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Help keys", // English
- "Farb-Tasten", // Deutsch
- "", // Slovenski
- "Tasti d'aiuto", // Italiano
- "Help toetsen", // Nederlands
- "", // Português
- "Touche couleur", // Français
- "", // Norsk
- "Värinäppäimet", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Channelinfo: title", // English
- "Kanalinfo: Titel", // Deutsch
- "", // Slovenski
- "Info canale: titolo", // Italiano
- "Kanaalinfo: titel", // Nederlands
- "", // Português
- "Chaîne info: titre ", // Français
- "", // Norsk
- "Kanavatieto: ohjelman nimi",// suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Channelinfo: subtitle", // English
- "Kanalinfo: Untertitel", // Deutsch
- "", // Slovenski
- "Info canale: sottotitolo", // Italiano
- "Kanaalinfo: ondertitel", // Nederlands
- "", // Português
- "Chaîne info: sous-titres", // Français
- "", // Norsk
- "Kanavatieto: ohjelman kuvaus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Channelinfo: language", // English
- "Kanalinfo: Sprache", // Deutsch
- "", // Slovenski
- "Info canale: lingua", // Italiano
- "Kanaalinfo: taal", // Nederlands
- "", // Português
- "Chaîne info: langue", // Français
- "", // Norsk
- "Kanavatieto: kieli", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"List items", // English
- "Listen", // Deutsch
- "", // Slovenski
- "Elenco", // Italiano
- "Lijsten", // Nederlands
- "", // Português
- "Liste", // Français
- "", // Norsk
- "Listat", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Info area: timers title", // English
- "Infobereich: Timer Titel", // Deutsch
- "", // Slovenski
- "Info area: titoli timer", // Italiano
- "Infobereik: Timertitel", // Nederlands
- "", // Português
- "Barre d'information: Titre Progammation", // Français
- "", // Norsk
- "Infoalue: ajastimen otsikko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Info area: timers text", // English
- "Infobereich: Timer Text", // Deutsch
- "", // Slovenski
- "Info area: testo timer", // Italiano
- "Infobereik: Timertekst", // Nederlands
- "", // Português
- "Barre d'information: Text programmation", // Français
- "", // Norsk
- "Infoalue: ajastimen leipäteksti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Info area: warning title", // English
- "Infobereich: Warnung Titel", // Deutsch
- "", // Slovenski
- "Info area: titolo avviso", // Italiano
- "Infobereik: waarschuwing titel", // Nederlands
- "", // Português
- "Barre d'information: avertissement titre", // Français
- "", // Norsk
- "Infoalue: varoituksen otsikko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Info area: warning text", // English
- "Infobereich: Warnung Text", // Deutsch
- "", // Slovenski
- "Info area: testo avviso", // Italiano
- "Infobereik: waarschuwing tekst", // Nederlands
- "", // Português
- "Barre d'information: texte d'avertissement", // Français
- "", // Norsk
- "Infoalue: varoituksen leipäteksti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Details: title", // English
- "Details: Titel", // Deutsch
- "", // Slovenski
- "Dettagli: titolo", // Italiano
- "Details: titel", // Nederlands
- "", // Português
- "Détails: Titre", // Français
- "", // Norsk
- "Lisätiedot: ohjelman nimi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Details: subtitle", // English
- "Details: Untertitel", // Deutsch
- "", // Slovenski
- "Dettagli: sottotitolo", // Italiano
- "Details: ondertitel", // Nederlands
- "", // Português
- "Détails: Sous-titre", // Français
- "", // Norsk
- "Lisätiedot: ohjelman kuvaus", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Details: date", // English
- "Details: Datumszeile", // Deutsch
- "", // Slovenski
- "Dettagli: data", // Italiano
- "Details: datum", // Nederlands
- "", // Português
- "Détails: date", // Français
- "", // Norsk
- "Lisätiedot: päivämäärä", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Details: text", // English
- "Details: Text", // Deutsch
- "", // Slovenski
- "Dettagli: testo", // Italiano
- "Details: tekst", // Nederlands
- "", // Português
- "Détails: Texte", // Français
- "", // Norsk
- "Lisätiedot: leipäteksti", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Replay: times", // English
- "Wiedergabe: Zeiten", // Deutsch
- "", // Slovenski
- "Esecuzione: volte", // Italiano
- "Weergave: tijden", // Nederlands
- "", // Português
- "Rejouer : périodes", // Français
- "", // Norsk
- "Toisto: kellonajat", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Default OSD Font", // English
- "Std. OSD Font", // Deutsch
- "", // Slovenski
- "Carattere OSD predefinito", // Italiano
- "Standaard OSDfont", // Nederlands
- "", // Português
- "OSD standard", // Français
- "", // Norsk
- "oletuskirjasintyyppi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Default Fixed Size Font", // English
- "Std. Schrift mit fester Breite", // Deutsch
- "", // Slovenski
- "Carattere dimensione fissa pred.",// Italiano
- "Standaardwaarde font", // Nederlands
- "", // Português
- "Largeur fixe standard", // Français
- "", // Norsk
- "tasavälinen kirjasintyyppi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Default Small Font", // English
- "Std. kleine Schrift", // Deutsch
- "", // Slovenski
- "Carattere piccolo pred.", // Italiano
- "Standaard klein font", // Nederlands
- "", // Português
- "Petite police standard", // Français
- "", // Norsk
- "pieni kirjasintyyppi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Channel:", // English
- "Kanal:", // Deutsch
- "", // Slovenski
- "Canale:", // Italiano
- "Kanaal:", // Nederlands
- "", // Português
- "Chaîne:", // Français
- "", // Norsk
- "Kanava:", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Search pattern:", // English
- "Suchmuster:", // Deutsch
- "", // Slovenski
- "Modello di ricerca:", // Italiano
- "Zoekpatroon:", // Nederlands
- "", // Português
- "Modèle de recherche", // Français
- "", // Norsk
- "Hakutapa:", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"No timer check", // English
- "Ohne Überwachung", // Deutsch
- "", // Slovenski
- "Nessun timer verifica", // Italiano
- "Geen controle", // Nederlands
- "", // Português
- "Sans surveillance", // Français
- "", // Norsk
- "Ei valvontaa", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"General", // English
- "Allgemein", // Deutsch
- "", // Slovenski
- "Generale", // Italiano
- "Algemeen", // Nederlands
- "", // Português
- "Généralité", // Français
- "", // Norsk
- "Yleiset", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Name", // English
- "Name", // Deutsch
- "", // Slovenski
- "Nome", // Italiano
- "Naam", // Nederlands
- "", // Português
- "Nom", // Français
- "", // Norsk
- "Nimi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Width", // English
- "Weite", // Deutsch
- "", // Slovenski
- "Larghezza", // Italiano
- "Breedte", // Nederlands
- "", // Português
- "Largeur", // Français
- "", // Norsk
- "Leveys", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Button$Set", // English
- "Ändern", // Deutsch
- "", // Slovenski
- "Imposta", // Italiano
- "Veranderen", // Nederlands
- "", // Português
- "Changer", // Français
- "", // Norsk
- "Aseta", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"TrueType Font", // English
- "TrueType Schrift", // Deutsch
- "", // Slovenski
- "Carattere TrueType", // Italiano
- "TrueType Font", // Nederlands
- "", // Português
- "TrueType", // Français
- "", // Norsk
- "TrueType-kirjasin", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"No TTF support!", // English
- "TTF nicht unterstützt!", // Deutsch
- "", // Slovenski
- "Nessun supporto TTF!", // Italiano
- "TTF niet ondersteund!", // Nederlands
- "", // Português
- "Les polices TrueType ne sont pas supportées!", // Français
- "", // Norsk
- "Ei TrueType-kirjasintyyppi tukea!", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {"Fixed Font", // English
- "Schrift mit fester Breite", // Deutsch
- "", // Slovenski
- "Carattere fisso", // Italiano
- "Vaste waarde font", // Nederlands
- "", // Português
- "Police avec une largeur fixe", // Français
- "", // Norsk
- "Tasavälinen kirjasintyyppi", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
-#ifdef USE_PLUGIN_AVARDS
- {"Dynamic OSD size", // English
- "Dynamische OSD-Größe", // Deutsch
- "", // Slovenski
- "Dimensione OSD dinamica", // Italiano
- "Dynamisch OSDgrootte", // Nederlands
- "", // Português
- "Taille OSD dynamique", // Français
- "", // Norsk
- "Vaihtuva kuvaruutunäytön koko", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
-#endif
- {"No TrueType fonts installed!", // English
- "Keine TrueType Schriften installiert!", // Deutsch
- "", // Slovenski
- "Nessun carattere TrueType installato!", // Italiano
- "Geen TrueType fonten geinstalleerd!", // Nederlands
- "", // Português
- "Il n'y a pas de police TrueType d'installé!", // Français
- "", // Norsk
- "TrueType-kirjasintyyppejä ei löydy!", // suomi (Finnish)
- "", // Polski
- "", // Español
- "", // ÅëëçíéêÜ (Greek)
- "", // Svenska
- "", // Românã
- "", // Magyar
- "", // Català
- "", // ÀãááÚØÙ (Russian)
- "", // Hrvatski
- "", // Eesti
- "", // Dansk
- "", // Èesky (Czech)
- },
- {NULL}
-};
-// vim:et:sw=2:ts=2:
+// START I18N - automatically generated by po2i18n.pl
+ { " Blink pause (ms)",
+ " Blink-Pause (ms)",
+ "",
+ " Pausa lampeggiante (ms)",
+ " Blinkpauze (ms)",
+ "",
+ " Pause de clignotement (ms)",
+ "",
+ " Vilkutuksen tauko (ms)",
+ "",
+ " Pausa del parpadeo (ms)",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Identify channel by",
+ " Kanal-Identifikation durch",
+ "",
+ " Identifica canale per",
+ " Identificeer kanaal door",
+ "",
+ " Identifier chaîne par",
+ "",
+ " Tunnista kanava",
+ " Rozpoznaj kana³ po",
+ " Identificar el canal por",
+ "",
+ " Identifiera kanal med",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ¾ßàÕÔÕÛïâì ÚÐÝÐÛ ßÞ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ " Kanali tuvastamise meetod",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Image format",
+ " Bildformat",
+ "",
+ " Formato immagine",
+ " Beeldformaat",
+ "",
+ " Format d'image",
+ "",
+ " Kuvaformaatti",
+ "",
+ " Formato de imagen",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ÄÞàÜÐâ Ø×ÞÑàÐÖÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Image height",
+ " Bildhöhe",
+ "",
+ " Altezza immagine",
+ " Beeldhoogte",
+ "",
+ " Hauteur",
+ "",
+ " Kuvien korkeus",
+ "",
+ " Altura de imagen",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ²ëáÞâÐ Ø×ÞÑàÐÖÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Image width",
+ " Bildbreite",
+ "",
+ " Larghezza immagine",
+ " Beeldbreedte",
+ "",
+ " Largeur",
+ "",
+ " Kuvien leveys",
+ "",
+ " Anchura de imagen",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ÈØàØÝÐ Ø×ÞÑàÐÖÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Resize images",
+ " Bildberechnung benutzt",
+ "",
+ " Ridimensiona immagini",
+ " Aanpassen beeldgrootte",
+ "",
+ " Redimensionne les images",
+ "",
+ " Muokkaa kuvien kokoa",
+ "",
+ " Redimensionar imágenes",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ¿ÕàÕàÕèÐâì ØáßÞÛì×ãï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scoll behaviour",
+ " Scroll-Verhalten",
+ "",
+ " Modalità scorrimento",
+ " Scroll gedrag",
+ "",
+ " Comportement de défilement",
+ "",
+ " Vieritystapa",
+ "",
+ " Comportamiento del scroll",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll OSD title",
+ " OSD Titel scrollen",
+ "",
+ " Scorri titolo OSD",
+ " OSD titel scrollen",
+ "",
+ " Défilement dans le titre du OSD",
+ "",
+ " Vieritä valikon otsikkoa",
+ "",
+ " Título OSD del scroll",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll active list items",
+ " Aktive Listenzeile scrollen",
+ "",
+ " Scorri elenco valori attivi",
+ " Lijst aktieve punten scrollen",
+ "",
+ " Barre de défilement dans la liste active",
+ "",
+ " Vieritä aktiivista valintaa",
+ "",
+ " Scroll para la lista activa",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll delay (ms)",
+ " Scroll-Verzögerung (ms)",
+ "",
+ " Ritardo scorrimento (ms)",
+ " Scrollvertraging (ms)",
+ "",
+ " Délai de défilement (ms)",
+ "",
+ " Vierityksen viive (ms)",
+ "",
+ " Retardo del scroll (ms)",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll info area",
+ " Infobereich scrollen",
+ "",
+ " Scorri info area",
+ " Infobereik scrollen",
+ "",
+ " Barre de défilement dans la surface info",
+ "",
+ " Vieritä infoaluetta",
+ "",
+ " Scroll para el área info",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll other items",
+ " Andere Bereiche scrollen",
+ "",
+ " Scorri altri valori",
+ " Andere punten scrollen",
+ "",
+ " Barre de défilement dans d'autres parties",
+ "",
+ " Vieritä muita alueita",
+ "",
+ " Scroll para otros datos",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Scroll pause (ms)",
+ " Scroll-Pause (ms)",
+ "",
+ " Pausa scorrimento (ms)",
+ " Scrollpause (ms)",
+ "",
+ " Pause de défilement (ms)",
+ "",
+ " Vierityksen tauko (ms)",
+ "",
+ " Pausa del scroll (ms)",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show WSS mode symbols",
+ " Symbol für WSS Modus",
+ "",
+ " Mostra simboli mod. WSS",
+ "WSS modus symbolen tonen",
+ "",
+ " Afficher mode symboles WSS",
+ "",
+ " Näytä WSS-symbolit",
+ "",
+ " Mostrar símbolos modo WSS",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show flags",
+ " Fahnen anzeigen",
+ "",
+ " Mostra segni",
+ " Vlaggen tonen",
+ "",
+ " Afficher drapeau",
+ "",
+ " Näytä liput",
+ "",
+ " Mostrar banderas",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ¿ÞÚÐ×Ðâì äÛÐÓØ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show mail icon",
+ " Zeige Mail-Icon",
+ "",
+ " Mostra icona email",
+ " Mail-ikoon tonen",
+ "",
+ " Afficher l'icône courriel",
+ "",
+ " Näytä sähköpostikuvake",
+ "",
+ " Mostrar icono correo",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ¿ÞÚÐ×Ðâì ×ÝÐçÞÚ íÛÕÚâ. ßÞçâë",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show symbols in audio",
+ " Symbole bei Audio",
+ "",
+ " Mostra simboli audio",
+ " Symbolen bij audio tonen",
+ "",
+ " dans audio",
+ "",
+ " Näytä symbolit äänivalikossa",
+ "",
+ " Mostrar símbolos en audio",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show symbols in menu",
+ " Symbole im Menü",
+ "",
+ " Mostra simboli menu",
+ " Symbolen in menu tonen",
+ "",
+ " dans le menu",
+ "",
+ " Näytä symbolit valikossa",
+ "",
+ " Mostrar símbolos en menú",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ " ¿ÞÚÐ×Ðâì áØÜÒÞÛë Ò ÜÕÝî",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show symbols in messages",
+ " Symbole bei den Meldungen",
+ "",
+ " Mostra simboli messaggi",
+ " Symbolen bij berichten tonen",
+ "",
+ " dans les messages",
+ "",
+ " Näytä symbolit viesteissä",
+ "",
+ " Mostrar símbolos en mensajes",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { " Show symbols in replay",
+ " Symbole bei der Wiedergabe",
+ "",
+ " Mostra simboli esecuzione",
+ " Symbolen bij weergave tonen",
+ "",
+ " dans lecture",
+ "",
+ " Näytä symbolit toistettaessa",
+ "",
+ " Mostrar símbolos en reproducción",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "*** Invalid Channel ***",
+ "*** Ungültiger Kanal ***",
+ "",
+ "*** Canale non valido ***",
+ "*** Ongeldig Kanaal ***",
+ "",
+ "*** Chaîne non valable ***",
+ "",
+ "*** Virheellinen kanava ***",
+ "",
+ "*** Canal no válido ***",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Animated Text",
+ "Bewegter Text",
+ "",
+ "Testo animato",
+ "Geanimeerde tekst",
+ "",
+ "Texte défilant",
+ "",
+ "Tekstien elävöinti",
+ "",
+ "Texto animado",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Auxiliary information",
+ "Zusatzinformation",
+ "",
+ "Informazione ausiliare",
+ "Hulp informatie",
+ "",
+ "Information auxiliare",
+ "",
+ "Lisätiedot",
+ "Informacje pomocnicze",
+ "Información adicional",
+ "",
+ "Extrainformation",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÀÐáè. ØÝäÞàÜÐæØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Lisainfo",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Button$Flush cache",
+ "Cache leeren",
+ "",
+ "Pulisci cache",
+ "Cache legen",
+ "",
+ "Supprimer cache",
+ "",
+ "Tyhjennä",
+ "Opró¿nij cache",
+ "Limpiar caché",
+ "",
+ "Töm cachen",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¾çØáâØâì ÚÕè",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Tühjenda",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Button$Set",
+ "Ändern",
+ "",
+ "Imposta",
+ "Veranderen",
+ "",
+ "Changer",
+ "",
+ "Aseta",
+ "",
+ "Cambiar",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Channel logo cache size",
+ "Größe des Logo-Caches",
+ "",
+ "Dim. cache logo canale",
+ "Kanaallogo cache",
+ "",
+ "Taille du cache des logos",
+ "",
+ "Välimuistin koko kanavalogoille",
+ "Rozmiar cache dla logo kana³u",
+ "Tamaño de caché para los logos",
+ "",
+ "Cachestorlek för logotyper",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÀÐ×ÜÕà ÚÕèÐ ÛÞÓoâØßÞÒ ÚÐÝÐÛÞÒ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Kanalilogo vahemälu suurus",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Channel:",
+ "Kanal:",
+ "",
+ "Canale:",
+ "Kanaal:",
+ "",
+ "Chaîne:",
+ "",
+ "Kanava:",
+ "",
+ "Canal:",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Channelinfo: language",
+ "Kanalinfo: Sprache",
+ "",
+ "Info canale: lingua",
+ "Kanaalinfo: taal",
+ "",
+ "Chaîne info: langue",
+ "",
+ "Kanavatieto: kieli",
+ "",
+ "Info canal: idioma",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Channelinfo: subtitle",
+ "Kanalinfo: Untertitel",
+ "",
+ "Info canale: sottotitolo",
+ "Kanaalinfo: ondertitel",
+ "",
+ "Chaîne info: sous-titres",
+ "",
+ "Kanavatieto: ohjelman kuvaus",
+ "",
+ "Info canal: subtítulo",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Channelinfo: title",
+ "Kanalinfo: Titel",
+ "",
+ "Info canale: titolo",
+ "Kanaalinfo: titel",
+ "",
+ "Chaîne info: titre ",
+ "",
+ "Kanavatieto: ohjelman nimi",
+ "",
+ "Info canal: título",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Date",
+ "Datum",
+ "",
+ "Data",
+ "Datum",
+ "",
+ "Date",
+ "",
+ "Päiväys",
+ "",
+ "Fecha",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Default Fixed Size Font",
+ "Std. Schrift mit fester Breite",
+ "",
+ "Car. dim. fissa pred.",
+ "Standaardwaarde font",
+ "",
+ "Largeur fixe standard",
+ "",
+ "tasavälinen kirjasintyyppi",
+ "",
+ "Fuente tamaño fijo defecto",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Default OSD Font",
+ "Std. OSD Font",
+ "",
+ "Car. OSD pred.",
+ "Standaard OSDfont",
+ "",
+ "OSD standard",
+ "",
+ "oletuskirjasintyyppi",
+ "",
+ "Fuente OSD defecto",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Default Small Font",
+ "Std. kleine Schrift",
+ "",
+ "Car. piccolo pred.",
+ "Standaard klein font",
+ "",
+ "Petite police standard",
+ "",
+ "pieni kirjasintyyppi",
+ "",
+ "Fuente pequeña defecto",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Details: date",
+ "Details: Datumszeile",
+ "",
+ "Dettagli: data",
+ "Details: datum",
+ "",
+ "Détails: date",
+ "",
+ "Lisätiedot: päivämäärä",
+ "",
+ "Detalles: fecha",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Details: subtitle",
+ "Details: Untertitel",
+ "",
+ "Dettagli: sottotitolo",
+ "Details: ondertitel",
+ "",
+ "Détails: Sous-titre",
+ "",
+ "Lisätiedot: ohjelman kuvaus",
+ "",
+ "Detalles: subtítulo",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Details: text",
+ "Details: Text",
+ "",
+ "Dettagli: testo",
+ "Details: tekst",
+ "",
+ "Détails: Texte",
+ "",
+ "Lisätiedot: leipäteksti",
+ "",
+ "Detalles: texto",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Details: title",
+ "Details: Titel",
+ "",
+ "Dettagli: titolo",
+ "Details: titel",
+ "",
+ "Détails: Titre",
+ "",
+ "Lisätiedot: ohjelman nimi",
+ "",
+ "Detalles: título",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Dynamic OSD size",
+ "Dynamische OSD-Größe",
+ "",
+ "Dimensione OSD dinamica",
+ "Dynamische OSD grootte",
+ "",
+ "Taille dynamique de OSD",
+ "",
+ "Mukauta kuvaruutunäytön kokoa",
+ "",
+ "Tamaño OSD dinámico",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "EPGSearch",
+ "EPGSearch",
+ "",
+ "EPGSearch",
+ "EPGsearch",
+ "",
+ "Recherche EPG",
+ "",
+ "EPGSearch",
+ "",
+ "EPGSearch",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Enable",
+ "Verwenden",
+ "",
+ "Abilita",
+ "Toelaten",
+ "",
+ "Permettre",
+ "",
+ "Käytä elävöintiä",
+ "",
+ "Activar",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "EnigmaNG",
+ "EnigmaNG",
+ "",
+ "EnigmaNG",
+ "EnigmaNG",
+ "",
+ "EnigmaNG",
+ "",
+ "EnigmaNG",
+ "EnigmaNG",
+ "EnigmaNG",
+ "",
+ "EnigmaNG",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "EnigmaNG",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "EnigmaNG",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "EnigmaNG skin",
+ "EnigmaNG Oberfläche",
+ "",
+ "Interfaccia EnigmaNG",
+ "EnigmaNG skin",
+ "",
+ "Skin EnigmaNG",
+ "",
+ "EnigmaNG-ulkoasu",
+ "Skin EnigmaNG",
+ "Piel EnigmaNG",
+ "",
+ "EnigmaNG-temat",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "EnigmaNG áÚØÝ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "EnigmaNG kest",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Fixed Font",
+ "Schrift mit fester Breite",
+ "",
+ "Carattere fisso",
+ "Vaste waarde font",
+ "",
+ "Police avec une largeur fixe",
+ "",
+ "Tasavälinen kirjasintyyppi",
+ "",
+ "Fuente Fija",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Flushing channel logo cache...",
+ "Logo-Cache wird geleert...",
+ "",
+ "Pulizia cache logo canale...",
+ "Kanaallogo cache legen...",
+ "",
+ "Suppression du cache...",
+ "",
+ "Tyhjennetään välimuistia...",
+ "Opró¿niam cache logo kana³u...",
+ "Limpiando la caché...",
+ "",
+ "Tömmer cachen...",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¾çØéÐî ÚÕè...",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Kanalilogo vahemälu tühjendamine...",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Fonts",
+ "Fonts",
+ "",
+ "Caratteri",
+ "Fonts",
+ "",
+ "Les polices",
+ "",
+ "Kirjasintyypit",
+ "",
+ "Fuentes",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Free last line",
+ "freie letzte Zeile",
+ "",
+ "Ultima riga libera",
+ "Vrije laatste lijn",
+ "",
+ "Dernière ligne libre",
+ "",
+ "alimmalla vapaalla rivillä",
+ "",
+ "Última línea libre",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Friday",
+ "Freitag",
+ "Petek",
+ "Venerdì",
+ "Vrijdag",
+ "Sexta",
+ "Vendredi",
+ "Fredag",
+ "Perjantai",
+ "Pi±tek",
+ "Viernes",
+ "ÐáñáóêåõÞ",
+ "Fredag",
+ "Vineri",
+ "Péntek",
+ "Divendres",
+#if VDRVERSNUM >= 10302
+ "¿ïâÝØæÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Petak",
+#endif
+#if VDRVERSNUM >= 10313
+ "Reede",
+#endif
+#if VDRVERSNUM >= 10316
+ "Fredag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Pátek",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Full title width",
+ "Volle Titelbreite",
+ "",
+ "Lunghezza titolo completo",
+ "Volle titelbreedte",
+ "",
+ "Largeur totale pour le titre",
+ "",
+ "Levitä otsikkopalkki",
+ "",
+ "Ancho completo para título",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÛÝÐï èØàØÝÐ ×ÐÓÞÛÞÒÚÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "General",
+ "Allgemein",
+ "",
+ "Generale",
+ "Algemeen",
+ "",
+ "Généralité",
+ "",
+ "Yleiset",
+ "",
+ "General",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Help buttons",
+ "Hilfe Tasten",
+ "",
+ "Tasti aiuto",
+ "Help knoppen",
+ "",
+ "Button aide",
+ "",
+ "värinäppäinrivillä",
+ "",
+ "Botones de ayuda",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Help keys",
+ "Farb-Tasten",
+ "",
+ "Tasti aiuto",
+ "Help toetsen",
+ "",
+ "Touche couleur",
+ "",
+ "Värinäppäimet",
+ "",
+ "Botones de ayuda",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Info area: timers text",
+ "Infobereich: Timer Text",
+ "",
+ "Info area: testo timer",
+ "Infobereik: Timertekst",
+ "",
+ "Barre d'information: Text programmation",
+ "",
+ "Infoalue: ajastimen leipäteksti",
+ "",
+ "Área info: texto programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Info area: timers title",
+ "Infobereich: Timer Titel",
+ "",
+ "Info area: titoli timer",
+ "Infobereik: Timertitel",
+ "",
+ "Barre d'information: Titre Progammation",
+ "",
+ "Infoalue: ajastimen otsikko",
+ "",
+ "Área info: título programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Info area: warning text",
+ "Infobereich: Warnung Text",
+ "",
+ "Info area: testo avviso",
+ "Infobereik: waarschuwing tekst",
+ "",
+ "Barre d'information: texte d'avertissement",
+ "",
+ "Infoalue: varoituksen leipäteksti",
+ "",
+ "Área info: texto aviso",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Info area: warning title",
+ "Infobereich: Warnung Titel",
+ "",
+ "Info area: titolo avviso",
+ "Infobereik: waarschuwing titel",
+ "",
+ "Barre d'information: avertissement titre",
+ "",
+ "Infoalue: varoituksen otsikko",
+ "",
+ "Área info: título aviso",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Languages",
+ "Sprachen",
+ "",
+ "Lingue",
+ "Talen",
+ "",
+ "Langues",
+ "",
+ "Kielet",
+ "Jêzyki",
+ "Idiomas",
+ "",
+ "Språk",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "Ï×ëÚØ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Keeled",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Last line",
+ "Letzter Zeile",
+ "",
+ "Ultima riga",
+ "Laatste lijn",
+ "",
+ "Dernière ligne",
+ "",
+ "alimmalla rivillä",
+ "",
+ "Última línea",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "List items",
+ "Listen",
+ "",
+ "Elenco valori",
+ "Lijsten",
+ "",
+ "Liste",
+ "",
+ "Listat",
+ "",
+ "Listado",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Logos & Symbols",
+ "Logos & Symbole",
+ "",
+ "Loghi e simboli",
+ "Logo's & Symbolen",
+ "",
+ "Logos et symboles",
+ "",
+ "Logot ja symbolit",
+ "",
+ "Logos y símbolos",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "»ÞÓÞâØßë & áØÜÒÞÛë",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Messages",
+ "Meldungen",
+ "",
+ "Messaggi",
+ "Meldingen",
+ "",
+ "Message",
+ "",
+ "Viestit",
+ "",
+ "Mensajes",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Monday",
+ "Montag",
+ "ponedeljek",
+ "Lunedì",
+ "maandag",
+ "Segunda",
+ "Lundi",
+ "Manday",
+ "Maanantai",
+ "poniedzia³ek",
+ "Lunes",
+ "ÄåõôÝñá",
+ "Måndag",
+ "Luni",
+ "Hétfõ",
+ "Dilluns",
+#if VDRVERSNUM >= 10302
+ "¿ÞÝÕÔÕÛìÝØÚ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Ponedjeljak",
+#endif
+#if VDRVERSNUM >= 10313
+ "Esmaspäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Mandag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Pondìlí",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Mute",
+ "Stumm",
+ "",
+ "Muto",
+ "Geluid uit",
+ "Muet",
+ "Silence",
+ "",
+ "Mykistetty",
+ "",
+ "Silenciar",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "²ëÚÛ.×ÒãÚ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Name",
+ "Name",
+ "",
+ "Nome",
+ "Naam",
+ "",
+ "Nom",
+ "",
+ "Nimi",
+ "",
+ "Nombre",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "No TTF support!",
+ "TTF nicht unterstützt!",
+ "",
+ "Nessun supporto TTF!",
+ "TTF niet ondersteund!",
+ "",
+ "Les polices TrueType ne sont pas supportées!",
+ "",
+ "Ei TrueType-kirjasintyyppi tukea!",
+ "",
+ "¡Sin soporte TTF!",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "No TrueType fonts installed!",
+ "Keine TrueType Schriften installiert!",
+ "",
+ "Nessun carattere TrueType installato!",
+ "Geen TrueType fonten geinstalleerd!",
+ "",
+ "Il n'y a pas de police TrueType d'installé!",
+ "",
+ "TrueType-kirjasintyyppejä ei löydy!",
+ "",
+ "¡Ninguna fuente TrueType instalada!",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "No timer check",
+ "Ohne Überwachung",
+ "",
+ "Nessuna verifica timer",
+ "Geen controle",
+ "",
+ "Sans surveillance",
+ "",
+ "Ei valvontaa",
+ "",
+ "No comprobar programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Number of Reruns",
+ "Anzahl Wiederholungen",
+ "",
+ "Numero di repliche",
+ "aantal herhalingen",
+ "",
+ "Nombre de répétitions",
+ "",
+ "Uusintojen lukumäärä",
+ "",
+ "Número de repeticiones",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ºÞÛØçÕáâÒÞ ßÞÒâÞàÕÝØÙ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "OSD title",
+ "OSD Titel",
+ "",
+ "Titolo OSD",
+ "OSD titel",
+ "",
+ "Titre OSD",
+ "",
+ "Valikon otsikko",
+ "",
+ "Título OSD",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "RERUNS OF THIS SHOW",
+ "WIEDERHOLUNGEN",
+ "",
+ "REPLICHE DI QUESTO SPETTACOLO",
+ "HERHALINGEN",
+ "",
+ "REPETITION",
+ "",
+ "TOISTUVAT TAPAHTUMAT",
+ "",
+ "REPETICIONES",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿¾²Â¾Àµ½¸Ï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Replay: times",
+ "Wiedergabe: Zeiten",
+ "",
+ "Riproduzione: volte",
+ "Weergave: tijden",
+ "",
+ "Rejouer : périodes",
+ "",
+ "Toisto: kellonajat",
+ "",
+ "Reproducir: veces",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Saturday",
+ "Samstag",
+ "Sobota",
+ "Sabato",
+ "Zaterdag",
+ "Sábado",
+ "Samedi",
+ "Lørdag",
+ "Lauantai",
+ "Sobota",
+ "Sábado",
+ "ÓÜââáôï",
+ "Lördag",
+ "Sâmbãtã",
+ "Szombat",
+ "Dissabte",
+#if VDRVERSNUM >= 10302
+ "ÁãÑÑÞâÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Subota",
+#endif
+#if VDRVERSNUM >= 10313
+ "Laupäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Lørdag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Sobota",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Search pattern:",
+ "Suchmuster:",
+ "",
+ "Modello di ricerca:",
+ "Zoekpatroon:",
+ "",
+ "Modèle de recherche",
+ "",
+ "Hakutapa:",
+ "",
+ "Buscar patrón:",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show VPS",
+ "VPS anzeigen",
+ "",
+ "Mostra VPS",
+ "VPS tonen",
+ "",
+ "Afficher le VPS",
+ "",
+ "Näytä VPS-tieto",
+ "",
+ "Mostrar VPS",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì VPS",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show auxiliary information",
+ "Zusatzinfo anzeigen",
+ "",
+ "Mostra info ausiliare",
+ "Toon hulp informatie",
+ "",
+ "Afficher informations auxiliaires",
+ "",
+ "Näytä lisätiedot",
+ "Pokazuj informacje pomocnicze",
+ "Mostrar información adicional",
+ "",
+ "Visa extrainformation",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì àÐáè. ØÝäÞàÜÐæØî",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Lisainfo näitamine",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show channel logos",
+ "Kanal-Logos anzeigen",
+ "",
+ "Mostra loghi canali",
+ "Toon kanaallogo's",
+ "",
+ "Afficher logos des chaînes",
+ "",
+ "Näytä kanavalogot",
+ "Pokazuj logo kana³u",
+ "Mostrar logos de los canales",
+ "",
+ "Visa kanallogotyper",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì ÛÞÓÞ ÚÐÝÐÛÞÒ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Kanalilogo näitamine",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show event/recording images",
+ "Bilder in EPG/Aufnahmendetails",
+ "",
+ "Mostra immagini evento/reg.",
+ "Voorstelling/opname figuren tonen",
+ "",
+ "Images dans les EPG et détails d'enregistrements",
+ "",
+ "Näytä kuvat lisätietovalikossa",
+ "",
+ "Mostrar imágenes grabación/suceso",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¸×ÞÑàÐÖÕÝØï Ò EPG",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show info area in main menu",
+ "Infobereich im Hauptmenü",
+ "",
+ "Mostra area info nel menu",
+ "Info in hoofdmenu",
+ "",
+ "Surface d'infos dans le menu principal",
+ "",
+ "Näytä infoalue päävalikossa",
+ "",
+ "Mostrar info en menú principal",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì ØÝä. ÞÑÛÐáìâ Ò ÓÛ. ÜÕÝî",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show marker in lists",
+ "Symbol vor Listeneinträgen",
+ "",
+ "Mostra indicatore elenchi",
+ "Markering in lijsten tonen",
+ "",
+ "Marque devant les listes",
+ "",
+ "Näytä valintasymboli",
+ "",
+ "Mostrar marcador en listas",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì ÜÕâÚã Ò áߨáÚÐå",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show messages in menu on",
+ "Meldungen im Menü über",
+ "",
+ "Mostra messaggi nel menu",
+ "Toon berichten in menu aan",
+ "",
+ "Afficher les messages dans le menu",
+ "",
+ "Näytä viestit valikossa",
+ "",
+ "Mostrar mensajes en el menú",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show progressbar",
+ "Fortschrittbalken anzeigen",
+ "",
+ "Mostra barra avanzamento",
+ "Progressiebalk tonen",
+ "",
+ "Afficher barre de progression",
+ "",
+ "Näytä aikajana",
+ "Pokazuj pasek postêpu",
+ "Mostrar barra de progreso",
+ "",
+ "Visa framsteg",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì ØÝÔØÚÐâÞà ßàÞÔÒØÖÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Edenemisriba näitamine",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show recording's size",
+ "Aufnahmengröße anzeigen",
+ "",
+ "Mostra dimensione reg.",
+ "Opnamegrootte tonen",
+ "",
+ "Afficher la taille des enregistrements",
+ "",
+ "Näytä tallenteen koko",
+ "",
+ "Mostrar tamaño de grabación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì àÐ×ÜÕàë ×ÐߨáÕÙ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show remaining/elapsed time",
+ "Zeige abgel./restl. Zeit",
+ "",
+ "Mostra tempo rimasto/trascorso",
+ "Toon resterend/gedane tijd",
+ "",
+ "Afficher le temps écoulé/restant",
+ "",
+ "Näytä tapahtuman aika",
+ "",
+ "Mostrar tiempo restante/transcurrido",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì ÞáâÐÒ./ßàÞèÕÔ. ÒàÕÜï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show status symbols",
+ "Statussymbole anzeigen",
+ "",
+ "Mostra simboli stato",
+ "Status symbolen tonen",
+ "",
+ "Afficher symbole de status",
+ "",
+ "Näytä symbolit",
+ "Pokazuj symbole",
+ "Mostrar símbolos de estado",
+ "",
+ "Visa symboler",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Sümbolite näitamine",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show symbols",
+ "Symbole anzeigen",
+ "",
+ "Mostra simboli",
+ "Symbolen tonen",
+ "",
+ "Afficher symbole",
+ "",
+ "Näytä symbolit",
+ "Pokazuj symbole",
+ "Mostrar símbolos",
+ "",
+ "Visa symboler",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "Sümbolite näitamine",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show symbols in lists",
+ "Symbole in Listen",
+ "",
+ "Mostra simboli elenchi",
+ "Symbolen in lijsten tonen",
+ "",
+ "Symboles dans les listes",
+ "",
+ "Näytä tapahtumien symbolit",
+ "",
+ "Mostrar símbolos en listas",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë Ò áߨáÚÐå",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Show timer conflicts",
+ "Timerkonflikte anzeigen",
+ "",
+ "Mostra conflitti timer",
+ "Timerconflict tonen",
+ "",
+ "Afficher les conflits de programmation",
+ "",
+ "Näytä päällekkäiset ajastimet",
+ "",
+ "Mostrar conflictos de programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿ÞÚÐ×Ðâì ÚÞÝäÛØÚâë âÐÙÜÕàÞÒ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Size",
+ "Größe",
+ "",
+ "Dim.",
+ "Grootte",
+ "",
+ "Taille",
+ "",
+ "Koko",
+ "",
+ "Tamaño",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÀÐ×ÜÕà",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Sunday",
+ "Sonntag",
+ "Nedelja",
+ "Domenica",
+ "Zondag",
+ "Domingo",
+ "Dimanche",
+ "Søndag",
+ "Sunnuntai",
+ "Niedziela",
+ "Domingo",
+ "ÊõñéáêÞ",
+ "Söndag",
+ "Duminicã",
+ "Vasárnap",
+ "Diumenge",
+#if VDRVERSNUM >= 10302
+ "²ÞáÚàÕáÕÝìÕ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Nedjelja",
+#endif
+#if VDRVERSNUM >= 10313
+ "Pühapäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Søndag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Nedìle",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "TIMERS",
+ "TIMER",
+ "",
+ "TIMER",
+ "TIMER",
+ "",
+ "PROGRAMMATION",
+ "",
+ "AJASTIMET",
+ "",
+ "PROGRAMACIONES",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "°¹¼µÀË",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Thursday",
+ "Donnerstag",
+ "èetrtek",
+ "Giovedì",
+ "Donderdag",
+ "Quinta",
+ "Jeudi",
+ "Torsdag",
+ "Torstai",
+ "Czwartek",
+ "Jueves",
+ "ÐÝìðôç",
+ "Torsdag",
+ "Joi",
+ "Csütörtök",
+ "Dijous",
+#if VDRVERSNUM >= 10302
+ "ÇÕâÒÕàÓ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Èetvrtak",
+#endif
+#if VDRVERSNUM >= 10313
+ "Neljapäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Torsdag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Ètvrtek",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Timer check",
+ "Überwachung",
+ "",
+ "Verifica timer",
+ "Monitoren",
+ "",
+ "Observation de la programmation",
+ "",
+ "Ajastimien valvonta",
+ "",
+ "Comprobar programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿àÞÒÕàÚÐ âÐÙÜÕàÞÒ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Timer conflict",
+ "Timerkonflikt",
+ "",
+ "Conflitto timer",
+ "Timerconflict",
+ "",
+ "Conflit de programmation",
+ "",
+ "Päällekkäinen ajastin",
+ "",
+ "Conflicto de programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ºÞÝäÛØÚâ âÐÙÜÕàÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Timer conflicts",
+ "Timerkonflikte",
+ "",
+ "Conflitti timer",
+ "Timerconflicten",
+ "",
+ "Conflits de programmation",
+ "",
+ "Päällekkäisiä ajastimia",
+ "",
+ "Conflictos de programación",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ºÞÝäÛØÚâë âÐÙÜÕàÞÒ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "TrueType Font",
+ "TrueType Schrift",
+ "",
+ "Car. TrueType",
+ "TrueType Font",
+ "",
+ "TrueType",
+ "",
+ "TrueType-kirjasin",
+ "",
+ "Fuente TrueType",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Try 8bpp single area",
+ "Einen 8bpp Bereich versuchen",
+ "",
+ "Prova area singola a 8bpp",
+ "Op 8bpp bereik testen",
+ "",
+ "Essayer une surface à 8bpp",
+ "",
+ "Suosi yhtä 8bpp kuva-aluetta",
+ "",
+ "Probar un área de 8bpp",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Tuesday",
+ "Dienstag",
+ "Torek",
+ "Martedì",
+ "Dinsdag",
+ "Terça",
+ "Mardi",
+ "Tirsday",
+ "Tiistai",
+ "Wtorek",
+ "Martes",
+ "Ôñßôç",
+ "Tisdag",
+ "Marþi",
+ "Kedd",
+ "Dimarts",
+#if VDRVERSNUM >= 10302
+ "²âÞàÝØÚ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Utorak",
+#endif
+#if VDRVERSNUM >= 10313
+ "Teisipäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Tirsdag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Úterý",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Use Subtitle for reruns",
+ "Verw. Untertitel für Wdh.",
+ "",
+ "Utilizza sottotitolo per repliche",
+ "Gebr. ondertitlel voor herh.",
+ "",
+ "Utilise sous-titres pour les répétitions",
+ "",
+ "Käytä lyhyttä kuvausta uusinnoille",
+ "",
+ "Usar subtítulo para repeticiones",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¸áßÞÛì×. ßÞÔ×ÐÓÞÛÞÒÚØ ÔÛï ßÞÒâÞàÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Volume",
+ "Lautstärke",
+ "",
+ "Volume",
+ "Volume",
+ "",
+ "Volume",
+ "",
+ "Äänenvoimakkuus",
+ "",
+ "Volumen",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "³àÞÜÚÞáâì",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "WARNING",
+ "WARNUNG",
+ "",
+ "ATTENZIONE",
+ "WAARSCHUWING",
+ "",
+ "ATTENTION",
+ "",
+ "VAROITUS",
+ "",
+ "AVISO",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "¿Àµ´Ã¿Àµ¶´µ½¸µ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Wednesday",
+ "Mittwoch",
+ "sreda",
+ "mercoledì",
+ "woensdag",
+ "Quarta",
+ "Mercredi",
+ "Onsday",
+ "Keskiviikko",
+ "¶roda",
+ "Miércoles",
+ "ÔåôÜñôç",
+ "Onsdag",
+ "Miercuri",
+ "Szerda",
+ "Dimecres",
+#if VDRVERSNUM >= 10302
+ "ÁàÕÔÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "Srijeda",
+#endif
+#if VDRVERSNUM >= 10313
+ "Kolmapäev",
+#endif
+#if VDRVERSNUM >= 10316
+ "Onsdag",
+#endif
+#if VDRVERSNUM >= 10342
+ "Støeda",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "Width",
+ "Weite",
+ "",
+ "Ampiezza",
+ "Breedte",
+ "",
+ "Largeur",
+ "",
+ "Leveys",
+ "",
+ "Anchura",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "always",
+ "immer",
+ "",
+ "sempre",
+ "Altijd",
+ "",
+ "toujours",
+ "",
+ "aina",
+ "",
+ "siempre",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÒáÕÓÔÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "data",
+ "ID",
+ "",
+ "dati",
+ "data",
+ "",
+ "Donnée",
+ "",
+ "tiedoista",
+ "parametry",
+ "datos",
+ "",
+ "data",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÔÐÝÝëÜ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "andmed",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "elapsed",
+ "abgelaufene",
+ "",
+ "trascorso",
+ "gedane",
+ "",
+ "écoulé",
+ "",
+ "kulunut",
+ "",
+ "transcurrido",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ØáâÕÚèØÕ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "en_US",
+ "de_DE",
+ "sl_SI",
+ "it_IT",
+ "nl_NL",
+ "pt_PT",
+ "fr_FR",
+ "no_NO",
+ "fi_FI",
+ "pl_PL",
+ "es_ES",
+ "el_GR",
+ "sv_SE",
+ "ro_RO",
+ "hu_HU",
+ "ca_AD",
+#if VDRVERSNUM >= 10302
+ "ru_RU",
+#endif
+#if VDRVERSNUM >= 10307
+ "hr_HR",
+#endif
+#if VDRVERSNUM >= 10313
+ "et_EE",
+#endif
+#if VDRVERSNUM >= 10316
+ "da_DK",
+#endif
+#if VDRVERSNUM >= 10342
+ "cs_CZ",
+#endif
+#if VDRVERSNUM >= 10502
+ "tr_TR",
+#endif
+ },
+ { "if exists",
+ "wenn vorhanden",
+ "",
+ "se esiste",
+ "wanneer aanwezig",
+ "",
+ "si existant",
+ "",
+ "jos olemassa",
+ "",
+ "si existe",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÕáÛØ Ò ÝÐÛØçØØ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "left and right",
+ "links und rechts",
+ "",
+ "sinistra e destra",
+ "links en rechts",
+ "",
+ "gauche et droite",
+ "",
+ "edestakaisin",
+ "",
+ "izquierda y derecha",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "min",
+ "min",
+ "",
+ "min",
+ "min",
+ "",
+ "min",
+ "",
+ "min",
+ "min",
+ "min",
+ "",
+ "min",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÜØÝ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "min",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "name",
+ "Name",
+ "",
+ "nome",
+ "naam",
+ "",
+ "Nom",
+ "",
+ "nimestä",
+ "nazwa",
+ "nombre",
+ "",
+ "namn",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÝÐ×ÒÐÝØî",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "nimi",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "never",
+ "nie",
+ "",
+ "mai",
+ "nooit",
+ "",
+ "jamais",
+ "",
+ "ei koskaan",
+ "",
+ "nunca",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÝØÚÞÓÔÐ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "only if new mail present",
+ "nur bei neuer Mail",
+ "",
+ "solo se presenti nuove email",
+ "alleen bij nieuwe mail",
+ "",
+ "juste lors d'un courriel",
+ "",
+ "jos uutta postia",
+ "",
+ "sólo si hay nuevo correo",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "âÞÛìÚÞ ßàØ ÝÞÒÞÜ áÞÞÑéÕÝØØ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "percent",
+ "Prozent",
+ "",
+ "percentuale",
+ "procent",
+ "",
+ "Pourcentage",
+ "",
+ "prosentti",
+ "",
+ "porcentaje",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ßàÞæÕÝâ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "pixel algo",
+ "Pixel-Algorithmus",
+ "",
+ "algoritmo pixel",
+ "pixelalgoritme",
+ "",
+ "Algorithme pixel",
+ "",
+ "näytteistys",
+ "",
+ "Algoritmo píxel",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÐÛÓÞàØâÜ ßØÚáÕÛï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "ratio algo",
+ "Ratio-Algorithmus",
+ "",
+ "algoritmo medio",
+ "algoritmeratio",
+ "",
+ "Algorithme ratio",
+ "",
+ "skaalaus",
+ "",
+ "Algoritmo ratio",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÐÛÓÞàØâÜ áÞÞâÝÞèÕÝØï",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "remaining",
+ "restliche",
+ "",
+ "rimasto",
+ "resterend",
+ "",
+ "restant",
+ "",
+ "jäljellä oleva",
+ "",
+ "restante",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÞáâÐÛìÝëÕ",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "to the left",
+ "nach links",
+ "",
+ "verso la sinistra",
+ "naar links",
+ "",
+ "vers la gauche",
+ "",
+ "vasemmalle",
+ "",
+ "a la izquierda",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "use size.vdr only",
+ "nur size.vdr verwenden",
+ "",
+ "usa solo size.vdr",
+ "alleen size.vdr gebruiken",
+ "",
+ "utiliser seulement size.vdr",
+ "",
+ "vain jos size.vdr",
+ "",
+ "sólo usar size.vdr",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ØáßÞÛì×ÞÒÐâì âÞÛìÚÞ size.vdr",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+ { "zoom image",
+ "Zoomen",
+ "",
+ "ingrandisci immagine",
+ "zoomen",
+ "",
+ "Agrandir image",
+ "",
+ "zoomaus",
+ "",
+ "Aumentar imagen",
+ "",
+ "",
+ "",
+ "",
+ "",
+#if VDRVERSNUM >= 10302
+ "ÃÒÕÛØçØâì",
+#endif
+#if VDRVERSNUM >= 10307
+ "",
+#endif
+#if VDRVERSNUM >= 10313
+ "",
+#endif
+#if VDRVERSNUM >= 10316
+ "",
+#endif
+#if VDRVERSNUM >= 10342
+ "",
+#endif
+#if VDRVERSNUM >= 10502
+ "",
+#endif
+ },
+// END I18N - automatically generated by po2i18n.pl
+ { NULL }
+ };
+#endif
diff --git a/i18n.h b/i18n.h
index 718e5b8..696e670 100644
--- a/i18n.h
+++ b/i18n.h
@@ -12,7 +12,14 @@
#include <vdr/i18n.h>
+#if VDRVERSNUM < 10507
extern const tI18nPhrase Phrases[];
+#define trNOOP(s) (s)
+#endif
+
+#if APIVERSNUM < 10509
+#define trVDR(s) tr(s)
+#endif
#endif // __ENIGMA_I18N_H
// vim:et:sw=2:ts=2:
diff --git a/logo.c b/logo.c
index e8e17bc..1427f6d 100644
--- a/logo.c
+++ b/logo.c
@@ -96,8 +96,8 @@ bool cEnigmaLogoCache::LoadChannelLogo(const cChannel *Channel)
return false;
bool fFoundLogo = false;
- char *strChannelID = EnigmaConfig.useChannelId ? strdup(*Channel->GetChannelID().ToString()) : NULL;
- const char *logoname = EnigmaConfig.useChannelId ? strChannelID : Channel->Name();
+ char *strChannelID = EnigmaConfig.useChannelId && !Channel->GroupSep() ? strdup(*Channel->GetChannelID().ToString()) : NULL;
+ const char *logoname = EnigmaConfig.useChannelId && !Channel->GroupSep() ? strChannelID : Channel->Name();
if (logoname) {
char *filename = (char *)malloc(strlen(logoname) + 20 /* should be enough for folder */);
if (filename == NULL) return false;
diff --git a/po/ca_ES.po b/po/ca_ES.po
new file mode 100644
index 0000000..a247e06
--- /dev/null
+++ b/po/ca_ES.po
@@ -0,0 +1,375 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
+# Ramon Roca <ramon.roca@xcombo.com>, 2003
+# Jordi Vilà <jvila@tinet.org>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Jordi Vilà <jvila@tinet.org>\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"
+
+msgid "Sunday"
+msgstr "Diumenge"
+
+msgid "Monday"
+msgstr "Dilluns"
+
+msgid "Tuesday"
+msgstr "Dimarts"
+
+msgid "Wednesday"
+msgstr "Dimecres"
+
+msgid "Thursday"
+msgstr "Dijous"
+
+msgid "Friday"
+msgstr "Divendres"
+
+msgid "Saturday"
+msgstr "Dissabte"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "ca_AD"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
new file mode 100644
index 0000000..cd691fc
--- /dev/null
+++ b/po/cs_CZ.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Nedìle"
+
+msgid "Monday"
+msgstr "Pondìlí"
+
+msgid "Tuesday"
+msgstr "Úterý"
+
+msgid "Wednesday"
+msgstr "Støeda"
+
+msgid "Thursday"
+msgstr "Ètvrtek"
+
+msgid "Friday"
+msgstr "Pátek"
+
+msgid "Saturday"
+msgstr "Sobota"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "cs_CZ"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/da_DK.po b/po/da_DK.po
new file mode 100644
index 0000000..fb5a211
--- /dev/null
+++ b/po/da_DK.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Mogens Elneff <mogens@elneff.dk>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Mogens Elneff <mogens@elneff.dk>\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"
+
+msgid "Sunday"
+msgstr "Søndag"
+
+msgid "Monday"
+msgstr "Mandag"
+
+msgid "Tuesday"
+msgstr "Tirsdag"
+
+msgid "Wednesday"
+msgstr "Onsdag"
+
+msgid "Thursday"
+msgstr "Torsdag"
+
+msgid "Friday"
+msgstr "Fredag"
+
+msgid "Saturday"
+msgstr "Lørdag"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "da_DK"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/de_DE.po b/po/de_DE.po
new file mode 100644
index 0000000..5a1e14e
--- /dev/null
+++ b/po/de_DE.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Klaus Schmidinger <kls@cadsoft.de>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Andreas Mair <andreas _@_ vdr-developer.org>\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"
+
+msgid "Sunday"
+msgstr "Sonntag"
+
+msgid "Monday"
+msgstr "Montag"
+
+msgid "Tuesday"
+msgstr "Dienstag"
+
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+msgid "Thursday"
+msgstr "Donnerstag"
+
+msgid "Friday"
+msgstr "Freitag"
+
+msgid "Saturday"
+msgstr "Samstag"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Ungültiger Kanal ***"
+
+msgid "en_US"
+msgstr "de_DE"
+
+msgid "WARNING"
+msgstr "WARNUNG"
+
+msgid "Timer conflict"
+msgstr "Timerkonflikt"
+
+msgid "Timer conflicts"
+msgstr "Timerkonflikte"
+
+msgid "TIMERS"
+msgstr "TIMER"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Sprachen"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "WIEDERHOLUNGEN"
+
+msgid "Size"
+msgstr "Größe"
+
+msgid "Auxiliary information"
+msgstr "Zusatzinformation"
+
+msgid "Mute"
+msgstr "Stumm"
+
+msgid "Volume"
+msgstr "Lautstärke"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "TrueType Schrift"
+
+msgid "No TTF support!"
+msgstr "TTF nicht unterstützt!"
+
+msgid "Default OSD Font"
+msgstr "Std. OSD Font"
+
+msgid "Default Fixed Size Font"
+msgstr "Std. Schrift mit fester Breite"
+
+msgid "Default Small Font"
+msgstr "Std. kleine Schrift"
+
+msgid "General"
+msgstr "Allgemein"
+
+msgid "Logos & Symbols"
+msgstr "Logos & Symbole"
+
+msgid "Animated Text"
+msgstr "Bewegter Text"
+
+msgid "Fonts"
+msgstr "Fonts"
+
+msgid "EPGSearch"
+msgstr "EPGSearch"
+
+msgid "elapsed"
+msgstr "abgelaufene"
+
+msgid "remaining"
+msgstr "restliche"
+
+msgid "percent"
+msgstr "Prozent"
+
+msgid "never"
+msgstr "nie"
+
+msgid "use size.vdr only"
+msgstr "nur size.vdr verwenden"
+
+msgid "always"
+msgstr "immer"
+
+msgid "Last line"
+msgstr "Letzter Zeile"
+
+msgid "Help buttons"
+msgstr "Hilfe Tasten"
+
+msgid "Free last line"
+msgstr "freie letzte Zeile"
+
+msgid "Try 8bpp single area"
+msgstr "Einen 8bpp Bereich versuchen"
+
+msgid "Show info area in main menu"
+msgstr "Infobereich im Hauptmenü"
+
+msgid "Show auxiliary information"
+msgstr "Zusatzinfo anzeigen"
+
+msgid "Show recording's size"
+msgstr "Aufnahmengröße anzeigen"
+
+msgid "Full title width"
+msgstr "Volle Titelbreite"
+
+msgid "Show remaining/elapsed time"
+msgstr "Zeige abgel./restl. Zeit"
+
+msgid "Show VPS"
+msgstr "VPS anzeigen"
+
+msgid "Show progressbar"
+msgstr "Fortschrittbalken anzeigen"
+
+msgid "Dynamic OSD size"
+msgstr "Dynamische OSD-Größe"
+
+msgid "Show messages in menu on"
+msgstr "Meldungen im Menü über"
+
+msgid "pixel algo"
+msgstr "Pixel-Algorithmus"
+
+msgid "ratio algo"
+msgstr "Ratio-Algorithmus"
+
+msgid "zoom image"
+msgstr "Zoomen"
+
+msgid "only if new mail present"
+msgstr "nur bei neuer Mail"
+
+msgid "Flushing channel logo cache..."
+msgstr "Logo-Cache wird geleert..."
+
+msgid "Show symbols"
+msgstr "Symbole anzeigen"
+
+msgid " Show symbols in menu"
+msgstr " Symbole im Menü"
+
+msgid " Show symbols in replay"
+msgstr " Symbole bei der Wiedergabe"
+
+msgid " Show symbols in messages"
+msgstr " Symbole bei den Meldungen"
+
+msgid " Show symbols in audio"
+msgstr " Symbole bei Audio"
+
+msgid "Show symbols in lists"
+msgstr "Symbole in Listen"
+
+msgid "Show marker in lists"
+msgstr "Symbol vor Listeneinträgen"
+
+msgid "Show status symbols"
+msgstr "Statussymbole anzeigen"
+
+msgid " Show flags"
+msgstr " Fahnen anzeigen"
+
+msgid " Show WSS mode symbols"
+msgstr " Symbol für WSS Modus"
+
+msgid " Show mail icon"
+msgstr " Zeige Mail-Icon"
+
+msgid "Show event/recording images"
+msgstr "Bilder in EPG/Aufnahmendetails"
+
+msgid " Resize images"
+msgstr " Bildberechnung benutzt"
+
+msgid " Image width"
+msgstr " Bildbreite"
+
+msgid " Image height"
+msgstr " Bildhöhe"
+
+msgid " Image format"
+msgstr " Bildformat"
+
+msgid "Show channel logos"
+msgstr "Kanal-Logos anzeigen"
+
+msgid " Identify channel by"
+msgstr " Kanal-Identifikation durch"
+
+msgid "name"
+msgstr "Name"
+
+msgid "data"
+msgstr "ID"
+
+msgid "Channel logo cache size"
+msgstr "Größe des Logo-Caches"
+
+msgid "Button$Flush cache"
+msgstr "Cache leeren"
+
+msgid "left and right"
+msgstr "links und rechts"
+
+msgid "to the left"
+msgstr "nach links"
+
+msgid "Enable"
+msgstr "Verwenden"
+
+msgid " Scroll OSD title"
+msgstr " OSD Titel scrollen"
+
+msgid " Scroll info area"
+msgstr " Infobereich scrollen"
+
+msgid " Scroll active list items"
+msgstr " Aktive Listenzeile scrollen"
+
+msgid " Scroll other items"
+msgstr " Andere Bereiche scrollen"
+
+msgid " Scoll behaviour"
+msgstr " Scroll-Verhalten"
+
+msgid " Scroll delay (ms)"
+msgstr " Scroll-Verzögerung (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Scroll-Pause (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Blink-Pause (ms)"
+
+msgid "Name"
+msgstr "Name"
+
+msgid "Width"
+msgstr "Weite"
+
+msgid "No TrueType fonts installed!"
+msgstr "Keine TrueType Schriften installiert!"
+
+msgid "Fixed Font"
+msgstr "Schrift mit fester Breite"
+
+msgid "Button$Set"
+msgstr "Ändern"
+
+msgid "OSD title"
+msgstr "OSD Titel"
+
+msgid "Messages"
+msgstr "Meldungen"
+
+msgid "Date"
+msgstr "Datum"
+
+msgid "Help keys"
+msgstr "Farb-Tasten"
+
+msgid "Channelinfo: title"
+msgstr "Kanalinfo: Titel"
+
+msgid "Channelinfo: subtitle"
+msgstr "Kanalinfo: Untertitel"
+
+msgid "Channelinfo: language"
+msgstr "Kanalinfo: Sprache"
+
+msgid "List items"
+msgstr "Listen"
+
+msgid "Info area: timers title"
+msgstr "Infobereich: Timer Titel"
+
+msgid "Info area: timers text"
+msgstr "Infobereich: Timer Text"
+
+msgid "Info area: warning title"
+msgstr "Infobereich: Warnung Titel"
+
+msgid "Info area: warning text"
+msgstr "Infobereich: Warnung Text"
+
+msgid "Details: title"
+msgstr "Details: Titel"
+
+msgid "Details: subtitle"
+msgstr "Details: Untertitel"
+
+msgid "Details: date"
+msgstr "Details: Datumszeile"
+
+msgid "Details: text"
+msgstr "Details: Text"
+
+msgid "Replay: times"
+msgstr "Wiedergabe: Zeiten"
+
+msgid "if exists"
+msgstr "wenn vorhanden"
+
+msgid "Number of Reruns"
+msgstr "Anzahl Wiederholungen"
+
+msgid "Use Subtitle for reruns"
+msgstr "Verw. Untertitel für Wdh."
+
+msgid "Show timer conflicts"
+msgstr "Timerkonflikte anzeigen"
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG Oberfläche"
+
+msgid "Channel:"
+msgstr "Kanal:"
+
+msgid "Search pattern:"
+msgstr "Suchmuster:"
+
+msgid "Timer check"
+msgstr "Überwachung"
+
+msgid "No timer check"
+msgstr "Ohne Überwachung"
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100644
index 0000000..1237611
--- /dev/null
+++ b/po/el_GR.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-7\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "ÊõñéáêÞ"
+
+msgid "Monday"
+msgstr "ÄåõôÝñá"
+
+msgid "Tuesday"
+msgstr "Ôñßôç"
+
+msgid "Wednesday"
+msgstr "ÔåôÜñôç"
+
+msgid "Thursday"
+msgstr "ÐÝìðôç"
+
+msgid "Friday"
+msgstr "ÐáñáóêåõÞ"
+
+msgid "Saturday"
+msgstr "ÓÜââáôï"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "el_GR"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/es_ES.po b/po/es_ES.po
new file mode 100644
index 0000000..e685e3f
--- /dev/null
+++ b/po/es_ES.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# bittor from open7x0.org <bittor7x0 _at_ gmail.com>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2008-02-19 17:15+0100\n"
+"Last-Translator: bittor from open7x0.org <bittor7x0 _at_ gmail.com>\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"
+
+msgid "Sunday"
+msgstr "Domingo"
+
+msgid "Monday"
+msgstr "Lunes"
+
+msgid "Tuesday"
+msgstr "Martes"
+
+msgid "Wednesday"
+msgstr "Miércoles"
+
+msgid "Thursday"
+msgstr "Jueves"
+
+msgid "Friday"
+msgstr "Viernes"
+
+msgid "Saturday"
+msgstr "Sábado"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Canal no válido ***"
+
+msgid "en_US"
+msgstr "es_ES"
+
+msgid "WARNING"
+msgstr "AVISO"
+
+msgid "Timer conflict"
+msgstr "Conflicto de programación"
+
+msgid "Timer conflicts"
+msgstr "Conflictos de programación"
+
+msgid "TIMERS"
+msgstr "PROGRAMACIONES"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Idiomas"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "REPETICIONES"
+
+msgid "Size"
+msgstr "Tamaño"
+
+msgid "Auxiliary information"
+msgstr "Información adicional"
+
+msgid "Mute"
+msgstr "Silenciar"
+
+msgid "Volume"
+msgstr "Volumen"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "Fuente TrueType"
+
+msgid "No TTF support!"
+msgstr "¡Sin soporte TTF!"
+
+msgid "Default OSD Font"
+msgstr "Fuente OSD defecto"
+
+msgid "Default Fixed Size Font"
+msgstr "Fuente tamaño fijo defecto"
+
+msgid "Default Small Font"
+msgstr "Fuente pequeña defecto"
+
+msgid "General"
+msgstr "General"
+
+msgid "Logos & Symbols"
+msgstr "Logos y símbolos"
+
+msgid "Animated Text"
+msgstr "Texto animado"
+
+msgid "Fonts"
+msgstr "Fuentes"
+
+msgid "EPGSearch"
+msgstr "EPGSearch"
+
+msgid "elapsed"
+msgstr "transcurrido"
+
+msgid "remaining"
+msgstr "restante"
+
+msgid "percent"
+msgstr "porcentaje"
+
+msgid "never"
+msgstr "nunca"
+
+msgid "use size.vdr only"
+msgstr "sólo usar size.vdr"
+
+msgid "always"
+msgstr "siempre"
+
+msgid "Last line"
+msgstr "Última línea"
+
+msgid "Help buttons"
+msgstr "Botones de ayuda"
+
+msgid "Free last line"
+msgstr "Última línea libre"
+
+msgid "Try 8bpp single area"
+msgstr "Probar un área de 8bpp"
+
+msgid "Show info area in main menu"
+msgstr "Mostrar info en menú principal"
+
+msgid "Show auxiliary information"
+msgstr "Mostrar información adicional"
+
+msgid "Show recording's size"
+msgstr "Mostrar tamaño de grabación"
+
+msgid "Full title width"
+msgstr "Ancho completo para título"
+
+msgid "Show remaining/elapsed time"
+msgstr "Mostrar tiempo restante/transcurrido"
+
+msgid "Show VPS"
+msgstr "Mostrar VPS"
+
+msgid "Show progressbar"
+msgstr "Mostrar barra de progreso"
+
+msgid "Dynamic OSD size"
+msgstr "Tamaño OSD dinámico"
+
+msgid "Show messages in menu on"
+msgstr "Mostrar mensajes en el menú"
+
+msgid "pixel algo"
+msgstr "Algoritmo píxel"
+
+msgid "ratio algo"
+msgstr "Algoritmo ratio"
+
+msgid "zoom image"
+msgstr "Aumentar imagen"
+
+msgid "only if new mail present"
+msgstr "sólo si hay nuevo correo"
+
+msgid "Flushing channel logo cache..."
+msgstr "Limpiando la caché..."
+
+msgid "Show symbols"
+msgstr "Mostrar símbolos"
+
+msgid " Show symbols in menu"
+msgstr " Mostrar símbolos en menú"
+
+msgid " Show symbols in replay"
+msgstr " Mostrar símbolos en reproducción"
+
+msgid " Show symbols in messages"
+msgstr " Mostrar símbolos en mensajes"
+
+msgid " Show symbols in audio"
+msgstr " Mostrar símbolos en audio"
+
+msgid "Show symbols in lists"
+msgstr "Mostrar símbolos en listas"
+
+msgid "Show marker in lists"
+msgstr "Mostrar marcador en listas"
+
+msgid "Show status symbols"
+msgstr "Mostrar símbolos de estado"
+
+msgid " Show flags"
+msgstr " Mostrar banderas"
+
+msgid " Show WSS mode symbols"
+msgstr " Mostrar símbolos modo WSS"
+
+msgid " Show mail icon"
+msgstr " Mostrar icono correo"
+
+msgid "Show event/recording images"
+msgstr "Mostrar imágenes grabación/suceso"
+
+msgid " Resize images"
+msgstr " Redimensionar imágenes"
+
+msgid " Image width"
+msgstr " Anchura de imagen"
+
+msgid " Image height"
+msgstr " Altura de imagen"
+
+msgid " Image format"
+msgstr " Formato de imagen"
+
+msgid "Show channel logos"
+msgstr "Mostrar logos de los canales"
+
+msgid " Identify channel by"
+msgstr " Identificar el canal por"
+
+msgid "name"
+msgstr "nombre"
+
+msgid "data"
+msgstr "datos"
+
+msgid "Channel logo cache size"
+msgstr "Tamaño de caché para los logos"
+
+msgid "Button$Flush cache"
+msgstr "Limpiar caché"
+
+msgid "left and right"
+msgstr "izquierda y derecha"
+
+msgid "to the left"
+msgstr "a la izquierda"
+
+msgid "Enable"
+msgstr "Activar"
+
+msgid " Scroll OSD title"
+msgstr " Título OSD del scroll"
+
+msgid " Scroll info area"
+msgstr " Scroll para el área info"
+
+msgid " Scroll active list items"
+msgstr " Scroll para la lista activa"
+
+msgid " Scroll other items"
+msgstr " Scroll para otros datos"
+
+msgid " Scoll behaviour"
+msgstr " Comportamiento del scroll"
+
+msgid " Scroll delay (ms)"
+msgstr " Retardo del scroll (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Pausa del scroll (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Pausa del parpadeo (ms)"
+
+msgid "Name"
+msgstr "Nombre"
+
+msgid "Width"
+msgstr "Anchura"
+
+msgid "No TrueType fonts installed!"
+msgstr "¡Ninguna fuente TrueType instalada!"
+
+msgid "Fixed Font"
+msgstr "Fuente Fija"
+
+msgid "Button$Set"
+msgstr "Cambiar"
+
+msgid "OSD title"
+msgstr "Título OSD"
+
+msgid "Messages"
+msgstr "Mensajes"
+
+msgid "Date"
+msgstr "Fecha"
+
+msgid "Help keys"
+msgstr "Botones de ayuda"
+
+msgid "Channelinfo: title"
+msgstr "Info canal: título"
+
+msgid "Channelinfo: subtitle"
+msgstr "Info canal: subtítulo"
+
+msgid "Channelinfo: language"
+msgstr "Info canal: idioma"
+
+msgid "List items"
+msgstr "Listado"
+
+msgid "Info area: timers title"
+msgstr "Área info: título programación"
+
+msgid "Info area: timers text"
+msgstr "Área info: texto programación"
+
+msgid "Info area: warning title"
+msgstr "Área info: título aviso"
+
+msgid "Info area: warning text"
+msgstr "Área info: texto aviso"
+
+msgid "Details: title"
+msgstr "Detalles: título"
+
+msgid "Details: subtitle"
+msgstr "Detalles: subtítulo"
+
+msgid "Details: date"
+msgstr "Detalles: fecha"
+
+msgid "Details: text"
+msgstr "Detalles: texto"
+
+msgid "Replay: times"
+msgstr "Reproducir: veces"
+
+msgid "if exists"
+msgstr "si existe"
+
+msgid "Number of Reruns"
+msgstr "Número de repeticiones"
+
+msgid "Use Subtitle for reruns"
+msgstr "Usar subtítulo para repeticiones"
+
+msgid "Show timer conflicts"
+msgstr "Mostrar conflictos de programación"
+
+msgid "EnigmaNG skin"
+msgstr "Piel EnigmaNG"
+
+msgid "Channel:"
+msgstr "Canal:"
+
+msgid "Search pattern:"
+msgstr "Buscar patrón:"
+
+msgid "Timer check"
+msgstr "Comprobar programación"
+
+msgid "No timer check"
+msgstr "No comprobar programación"
diff --git a/po/et_EE.po b/po/et_EE.po
new file mode 100644
index 0000000..3c013d7
--- /dev/null
+++ b/po/et_EE.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Arthur Konovalov <kasjas@hot.ee>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-13\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Pühapäev"
+
+msgid "Monday"
+msgstr "Esmaspäev"
+
+msgid "Tuesday"
+msgstr "Teisipäev"
+
+msgid "Wednesday"
+msgstr "Kolmapäev"
+
+msgid "Thursday"
+msgstr "Neljapäev"
+
+msgid "Friday"
+msgstr "Reede"
+
+msgid "Saturday"
+msgstr "Laupäev"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "et_EE"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Keeled"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr "Lisainfo"
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr "Lisainfo näitamine"
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr "Edenemisriba näitamine"
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr "Kanalilogo vahemälu tühjendamine..."
+
+msgid "Show symbols"
+msgstr "Sümbolite näitamine"
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+#, fuzzy
+msgid "Show status symbols"
+msgstr "Sümbolite näitamine"
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr "Kanalilogo näitamine"
+
+msgid " Identify channel by"
+msgstr " Kanali tuvastamise meetod"
+
+msgid "name"
+msgstr "nimi"
+
+msgid "data"
+msgstr "andmed"
+
+msgid "Channel logo cache size"
+msgstr "Kanalilogo vahemälu suurus"
+
+msgid "Button$Flush cache"
+msgstr "Tühjenda"
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG kest"
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/fi_FI.po b/po/fi_FI.po
new file mode 100644
index 0000000..1f51a61
--- /dev/null
+++ b/po/fi_FI.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\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"
+
+msgid "Sunday"
+msgstr "Sunnuntai"
+
+msgid "Monday"
+msgstr "Maanantai"
+
+msgid "Tuesday"
+msgstr "Tiistai"
+
+msgid "Wednesday"
+msgstr "Keskiviikko"
+
+msgid "Thursday"
+msgstr "Torstai"
+
+msgid "Friday"
+msgstr "Perjantai"
+
+msgid "Saturday"
+msgstr "Lauantai"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Virheellinen kanava ***"
+
+msgid "en_US"
+msgstr "fi_FI"
+
+msgid "WARNING"
+msgstr "VAROITUS"
+
+msgid "Timer conflict"
+msgstr "Päällekkäinen ajastin"
+
+msgid "Timer conflicts"
+msgstr "Päällekkäisiä ajastimia"
+
+msgid "TIMERS"
+msgstr "AJASTIMET"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Kielet"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "TOISTUVAT TAPAHTUMAT"
+
+msgid "Size"
+msgstr "Koko"
+
+msgid "Auxiliary information"
+msgstr "Lisätiedot"
+
+msgid "Mute"
+msgstr "Mykistetty"
+
+msgid "Volume"
+msgstr "Äänenvoimakkuus"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "TrueType-kirjasin"
+
+msgid "No TTF support!"
+msgstr "Ei TrueType-kirjasintyyppi tukea!"
+
+msgid "Default OSD Font"
+msgstr "oletuskirjasintyyppi"
+
+msgid "Default Fixed Size Font"
+msgstr "tasavälinen kirjasintyyppi"
+
+msgid "Default Small Font"
+msgstr "pieni kirjasintyyppi"
+
+msgid "General"
+msgstr "Yleiset"
+
+msgid "Logos & Symbols"
+msgstr "Logot ja symbolit"
+
+msgid "Animated Text"
+msgstr "Tekstien elävöinti"
+
+msgid "Fonts"
+msgstr "Kirjasintyypit"
+
+msgid "EPGSearch"
+msgstr "EPGSearch"
+
+msgid "elapsed"
+msgstr "kulunut"
+
+msgid "remaining"
+msgstr "jäljellä oleva"
+
+msgid "percent"
+msgstr "prosentti"
+
+msgid "never"
+msgstr "ei koskaan"
+
+msgid "use size.vdr only"
+msgstr "vain jos size.vdr"
+
+msgid "always"
+msgstr "aina"
+
+msgid "Last line"
+msgstr "alimmalla rivillä"
+
+msgid "Help buttons"
+msgstr "värinäppäinrivillä"
+
+msgid "Free last line"
+msgstr "alimmalla vapaalla rivillä"
+
+msgid "Try 8bpp single area"
+msgstr "Suosi yhtä 8bpp kuva-aluetta"
+
+msgid "Show info area in main menu"
+msgstr "Näytä infoalue päävalikossa"
+
+msgid "Show auxiliary information"
+msgstr "Näytä lisätiedot"
+
+msgid "Show recording's size"
+msgstr "Näytä tallenteen koko"
+
+msgid "Full title width"
+msgstr "Levitä otsikkopalkki"
+
+msgid "Show remaining/elapsed time"
+msgstr "Näytä tapahtuman aika"
+
+msgid "Show VPS"
+msgstr "Näytä VPS-tieto"
+
+msgid "Show progressbar"
+msgstr "Näytä aikajana"
+
+msgid "Dynamic OSD size"
+msgstr "Mukauta kuvaruutunäytön kokoa"
+
+msgid "Show messages in menu on"
+msgstr "Näytä viestit valikossa"
+
+msgid "pixel algo"
+msgstr "näytteistys"
+
+msgid "ratio algo"
+msgstr "skaalaus"
+
+msgid "zoom image"
+msgstr "zoomaus"
+
+msgid "only if new mail present"
+msgstr "jos uutta postia"
+
+msgid "Flushing channel logo cache..."
+msgstr "Tyhjennetään välimuistia..."
+
+msgid "Show symbols"
+msgstr "Näytä symbolit"
+
+msgid " Show symbols in menu"
+msgstr " Näytä symbolit valikossa"
+
+msgid " Show symbols in replay"
+msgstr " Näytä symbolit toistettaessa"
+
+msgid " Show symbols in messages"
+msgstr " Näytä symbolit viesteissä"
+
+msgid " Show symbols in audio"
+msgstr " Näytä symbolit äänivalikossa"
+
+msgid "Show symbols in lists"
+msgstr "Näytä tapahtumien symbolit"
+
+msgid "Show marker in lists"
+msgstr "Näytä valintasymboli"
+
+msgid "Show status symbols"
+msgstr "Näytä symbolit"
+
+msgid " Show flags"
+msgstr " Näytä liput"
+
+msgid " Show WSS mode symbols"
+msgstr " Näytä WSS-symbolit"
+
+msgid " Show mail icon"
+msgstr " Näytä sähköpostikuvake"
+
+msgid "Show event/recording images"
+msgstr "Näytä kuvat lisätietovalikossa"
+
+msgid " Resize images"
+msgstr " Muokkaa kuvien kokoa"
+
+msgid " Image width"
+msgstr " Kuvien leveys"
+
+msgid " Image height"
+msgstr " Kuvien korkeus"
+
+msgid " Image format"
+msgstr " Kuvaformaatti"
+
+msgid "Show channel logos"
+msgstr "Näytä kanavalogot"
+
+msgid " Identify channel by"
+msgstr " Tunnista kanava"
+
+msgid "name"
+msgstr "nimestä"
+
+msgid "data"
+msgstr "tiedoista"
+
+msgid "Channel logo cache size"
+msgstr "Välimuistin koko kanavalogoille"
+
+msgid "Button$Flush cache"
+msgstr "Tyhjennä"
+
+msgid "left and right"
+msgstr "edestakaisin"
+
+msgid "to the left"
+msgstr "vasemmalle"
+
+msgid "Enable"
+msgstr "Käytä elävöintiä"
+
+msgid " Scroll OSD title"
+msgstr " Vieritä valikon otsikkoa"
+
+msgid " Scroll info area"
+msgstr " Vieritä infoaluetta"
+
+msgid " Scroll active list items"
+msgstr " Vieritä aktiivista valintaa"
+
+msgid " Scroll other items"
+msgstr " Vieritä muita alueita"
+
+msgid " Scoll behaviour"
+msgstr " Vieritystapa"
+
+msgid " Scroll delay (ms)"
+msgstr " Vierityksen viive (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Vierityksen tauko (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Vilkutuksen tauko (ms)"
+
+msgid "Name"
+msgstr "Nimi"
+
+msgid "Width"
+msgstr "Leveys"
+
+msgid "No TrueType fonts installed!"
+msgstr "TrueType-kirjasintyyppejä ei löydy!"
+
+msgid "Fixed Font"
+msgstr "Tasavälinen kirjasintyyppi"
+
+msgid "Button$Set"
+msgstr "Aseta"
+
+msgid "OSD title"
+msgstr "Valikon otsikko"
+
+msgid "Messages"
+msgstr "Viestit"
+
+msgid "Date"
+msgstr "Päiväys"
+
+msgid "Help keys"
+msgstr "Värinäppäimet"
+
+msgid "Channelinfo: title"
+msgstr "Kanavatieto: ohjelman nimi"
+
+msgid "Channelinfo: subtitle"
+msgstr "Kanavatieto: ohjelman kuvaus"
+
+msgid "Channelinfo: language"
+msgstr "Kanavatieto: kieli"
+
+msgid "List items"
+msgstr "Listat"
+
+msgid "Info area: timers title"
+msgstr "Infoalue: ajastimen otsikko"
+
+msgid "Info area: timers text"
+msgstr "Infoalue: ajastimen leipäteksti"
+
+msgid "Info area: warning title"
+msgstr "Infoalue: varoituksen otsikko"
+
+msgid "Info area: warning text"
+msgstr "Infoalue: varoituksen leipäteksti"
+
+msgid "Details: title"
+msgstr "Lisätiedot: ohjelman nimi"
+
+msgid "Details: subtitle"
+msgstr "Lisätiedot: ohjelman kuvaus"
+
+msgid "Details: date"
+msgstr "Lisätiedot: päivämäärä"
+
+msgid "Details: text"
+msgstr "Lisätiedot: leipäteksti"
+
+msgid "Replay: times"
+msgstr "Toisto: kellonajat"
+
+msgid "if exists"
+msgstr "jos olemassa"
+
+msgid "Number of Reruns"
+msgstr "Uusintojen lukumäärä"
+
+msgid "Use Subtitle for reruns"
+msgstr "Käytä lyhyttä kuvausta uusinnoille"
+
+msgid "Show timer conflicts"
+msgstr "Näytä päällekkäiset ajastimet"
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG-ulkoasu"
+
+msgid "Channel:"
+msgstr "Kanava:"
+
+msgid "Search pattern:"
+msgstr "Hakutapa:"
+
+msgid "Timer check"
+msgstr "Ajastimien valvonta"
+
+msgid "No timer check"
+msgstr "Ei valvontaa"
diff --git a/po/fr_FR.po b/po/fr_FR.po
new file mode 100644
index 0000000..e6673ab
--- /dev/null
+++ b/po/fr_FR.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Patrice Staudt <patrice.staudt@laposte.net>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Patrice Staudt <patrice.staudt@laposte.net>\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"
+
+msgid "Sunday"
+msgstr "Dimanche"
+
+msgid "Monday"
+msgstr "Lundi"
+
+msgid "Tuesday"
+msgstr "Mardi"
+
+msgid "Wednesday"
+msgstr "Mercredi"
+
+msgid "Thursday"
+msgstr "Jeudi"
+
+msgid "Friday"
+msgstr "Vendredi"
+
+msgid "Saturday"
+msgstr "Samedi"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Chaîne non valable ***"
+
+msgid "en_US"
+msgstr "fr_FR"
+
+msgid "WARNING"
+msgstr "ATTENTION"
+
+msgid "Timer conflict"
+msgstr "Conflit de programmation"
+
+msgid "Timer conflicts"
+msgstr "Conflits de programmation"
+
+msgid "TIMERS"
+msgstr "PROGRAMMATION"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Langues"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "REPETITION"
+
+msgid "Size"
+msgstr "Taille"
+
+msgid "Auxiliary information"
+msgstr "Information auxiliare"
+
+msgid "Mute"
+msgstr "Silence"
+
+msgid "Volume"
+msgstr "Volume"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "TrueType"
+
+msgid "No TTF support!"
+msgstr "Les polices TrueType ne sont pas supportées!"
+
+msgid "Default OSD Font"
+msgstr "OSD standard"
+
+msgid "Default Fixed Size Font"
+msgstr "Largeur fixe standard"
+
+msgid "Default Small Font"
+msgstr "Petite police standard"
+
+msgid "General"
+msgstr "Généralité"
+
+msgid "Logos & Symbols"
+msgstr "Logos et symboles"
+
+msgid "Animated Text"
+msgstr "Texte défilant"
+
+msgid "Fonts"
+msgstr "Les polices"
+
+msgid "EPGSearch"
+msgstr "Recherche EPG"
+
+msgid "elapsed"
+msgstr "écoulé"
+
+msgid "remaining"
+msgstr "restant"
+
+msgid "percent"
+msgstr "Pourcentage"
+
+msgid "never"
+msgstr "jamais"
+
+msgid "use size.vdr only"
+msgstr "utiliser seulement size.vdr"
+
+msgid "always"
+msgstr "toujours"
+
+msgid "Last line"
+msgstr "Dernière ligne"
+
+msgid "Help buttons"
+msgstr "Button aide"
+
+msgid "Free last line"
+msgstr "Dernière ligne libre"
+
+msgid "Try 8bpp single area"
+msgstr "Essayer une surface à 8bpp"
+
+msgid "Show info area in main menu"
+msgstr "Surface d'infos dans le menu principal"
+
+msgid "Show auxiliary information"
+msgstr "Afficher informations auxiliaires"
+
+msgid "Show recording's size"
+msgstr "Afficher la taille des enregistrements"
+
+msgid "Full title width"
+msgstr "Largeur totale pour le titre"
+
+msgid "Show remaining/elapsed time"
+msgstr "Afficher le temps écoulé/restant"
+
+msgid "Show VPS"
+msgstr "Afficher le VPS"
+
+msgid "Show progressbar"
+msgstr "Afficher barre de progression"
+
+msgid "Dynamic OSD size"
+msgstr "Taille dynamique de OSD"
+
+msgid "Show messages in menu on"
+msgstr "Afficher les messages dans le menu"
+
+msgid "pixel algo"
+msgstr "Algorithme pixel"
+
+msgid "ratio algo"
+msgstr "Algorithme ratio"
+
+msgid "zoom image"
+msgstr "Agrandir image"
+
+msgid "only if new mail present"
+msgstr "juste lors d'un courriel"
+
+msgid "Flushing channel logo cache..."
+msgstr "Suppression du cache..."
+
+msgid "Show symbols"
+msgstr "Afficher symbole"
+
+msgid " Show symbols in menu"
+msgstr " dans le menu"
+
+msgid " Show symbols in replay"
+msgstr " dans lecture"
+
+msgid " Show symbols in messages"
+msgstr " dans les messages"
+
+msgid " Show symbols in audio"
+msgstr " dans audio"
+
+msgid "Show symbols in lists"
+msgstr "Symboles dans les listes"
+
+msgid "Show marker in lists"
+msgstr "Marque devant les listes"
+
+msgid "Show status symbols"
+msgstr "Afficher symbole de status"
+
+msgid " Show flags"
+msgstr " Afficher drapeau"
+
+msgid " Show WSS mode symbols"
+msgstr " Afficher mode symboles WSS"
+
+msgid " Show mail icon"
+msgstr " Afficher l'icône courriel"
+
+msgid "Show event/recording images"
+msgstr "Images dans les EPG et détails d'enregistrements"
+
+msgid " Resize images"
+msgstr " Redimensionne les images"
+
+msgid " Image width"
+msgstr " Largeur"
+
+msgid " Image height"
+msgstr " Hauteur"
+
+msgid " Image format"
+msgstr " Format d'image"
+
+msgid "Show channel logos"
+msgstr "Afficher logos des chaînes"
+
+msgid " Identify channel by"
+msgstr " Identifier chaîne par"
+
+msgid "name"
+msgstr "Nom"
+
+msgid "data"
+msgstr "Donnée"
+
+msgid "Channel logo cache size"
+msgstr "Taille du cache des logos"
+
+msgid "Button$Flush cache"
+msgstr "Supprimer cache"
+
+msgid "left and right"
+msgstr "gauche et droite"
+
+msgid "to the left"
+msgstr "vers la gauche"
+
+msgid "Enable"
+msgstr "Permettre"
+
+msgid " Scroll OSD title"
+msgstr " Défilement dans le titre du OSD"
+
+msgid " Scroll info area"
+msgstr " Barre de défilement dans la surface info"
+
+msgid " Scroll active list items"
+msgstr " Barre de défilement dans la liste active"
+
+msgid " Scroll other items"
+msgstr " Barre de défilement dans d'autres parties"
+
+msgid " Scoll behaviour"
+msgstr " Comportement de défilement"
+
+msgid " Scroll delay (ms)"
+msgstr " Délai de défilement (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Pause de défilement (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Pause de clignotement (ms)"
+
+msgid "Name"
+msgstr "Nom"
+
+msgid "Width"
+msgstr "Largeur"
+
+msgid "No TrueType fonts installed!"
+msgstr "Il n'y a pas de police TrueType d'installé!"
+
+msgid "Fixed Font"
+msgstr "Police avec une largeur fixe"
+
+msgid "Button$Set"
+msgstr "Changer"
+
+msgid "OSD title"
+msgstr "Titre OSD"
+
+msgid "Messages"
+msgstr "Message"
+
+msgid "Date"
+msgstr "Date"
+
+msgid "Help keys"
+msgstr "Touche couleur"
+
+msgid "Channelinfo: title"
+msgstr "Chaîne info: titre "
+
+msgid "Channelinfo: subtitle"
+msgstr "Chaîne info: sous-titres"
+
+msgid "Channelinfo: language"
+msgstr "Chaîne info: langue"
+
+msgid "List items"
+msgstr "Liste"
+
+msgid "Info area: timers title"
+msgstr "Barre d'information: Titre Progammation"
+
+msgid "Info area: timers text"
+msgstr "Barre d'information: Text programmation"
+
+msgid "Info area: warning title"
+msgstr "Barre d'information: avertissement titre"
+
+msgid "Info area: warning text"
+msgstr "Barre d'information: texte d'avertissement"
+
+msgid "Details: title"
+msgstr "Détails: Titre"
+
+msgid "Details: subtitle"
+msgstr "Détails: Sous-titre"
+
+msgid "Details: date"
+msgstr "Détails: date"
+
+msgid "Details: text"
+msgstr "Détails: Texte"
+
+msgid "Replay: times"
+msgstr "Rejouer : périodes"
+
+msgid "if exists"
+msgstr "si existant"
+
+msgid "Number of Reruns"
+msgstr "Nombre de répétitions"
+
+msgid "Use Subtitle for reruns"
+msgstr "Utilise sous-titres pour les répétitions"
+
+msgid "Show timer conflicts"
+msgstr "Afficher les conflits de programmation"
+
+msgid "EnigmaNG skin"
+msgstr "Skin EnigmaNG"
+
+msgid "Channel:"
+msgstr "Chaîne:"
+
+msgid "Search pattern:"
+msgstr "Modèle de recherche"
+
+msgid "Timer check"
+msgstr "Observation de la programmation"
+
+msgid "No timer check"
+msgstr "Sans surveillance"
diff --git a/po/hr_HR.po b/po/hr_HR.po
new file mode 100644
index 0000000..e686c8c
--- /dev/null
+++ b/po/hr_HR.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Drazen Dupor <drazen.dupor@dupor.com>, 2004
+# Dino Ravnic <dino.ravnic@fer.hr>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Nedjelja"
+
+msgid "Monday"
+msgstr "Ponedjeljak"
+
+msgid "Tuesday"
+msgstr "Utorak"
+
+msgid "Wednesday"
+msgstr "Srijeda"
+
+msgid "Thursday"
+msgstr "Èetvrtak"
+
+msgid "Friday"
+msgstr "Petak"
+
+msgid "Saturday"
+msgstr "Subota"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "hr_HR"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/hu_HU.po b/po/hu_HU.po
new file mode 100644
index 0000000..1480caf
--- /dev/null
+++ b/po/hu_HU.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Istvan Koenigsberger <istvnko@hotmail.com>, 2002
+# Guido Josten <guido.josten@t-online.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Vasárnap"
+
+msgid "Monday"
+msgstr "Hétfõ"
+
+msgid "Tuesday"
+msgstr "Kedd"
+
+msgid "Wednesday"
+msgstr "Szerda"
+
+msgid "Thursday"
+msgstr "Csütörtök"
+
+msgid "Friday"
+msgstr "Péntek"
+
+msgid "Saturday"
+msgstr "Szombat"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "hu_HU"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/it_IT.po b/po/it_IT.po
new file mode 100755
index 0000000..a68e842
--- /dev/null
+++ b/po/it_IT.po
@@ -0,0 +1,375 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Alberto Carraro <bertocar@tin.it>, 2001
+# Antonio Ospite <ospite@studenti.unina.it>, 2003
+# Sean Carlos <seanc@libero.it>, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-03-09 06:37+0100\n"
+"PO-Revision-Date: 2008-03-09 01:09+0100\n"
+"Last-Translator: Gringo <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"
+
+msgid "Sunday"
+msgstr "Domenica"
+
+msgid "Monday"
+msgstr "Lunedì"
+
+msgid "Tuesday"
+msgstr "Martedì"
+
+msgid "Wednesday"
+msgstr "mercoledì"
+
+msgid "Thursday"
+msgstr "Giovedì"
+
+msgid "Friday"
+msgstr "Venerdì"
+
+msgid "Saturday"
+msgstr "Sabato"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Canale non valido ***"
+
+msgid "en_US"
+msgstr "it_IT"
+
+msgid "WARNING"
+msgstr "ATTENZIONE"
+
+msgid "Timer conflict"
+msgstr "Conflitto timer"
+
+msgid "Timer conflicts"
+msgstr "Conflitti timer"
+
+msgid "TIMERS"
+msgstr "TIMER"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Lingue"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "REPLICHE DI QUESTO SPETTACOLO"
+
+msgid "Size"
+msgstr "Dim."
+
+msgid "Auxiliary information"
+msgstr "Informazione ausiliare"
+
+msgid "Mute"
+msgstr "Muto"
+
+msgid "Volume"
+msgstr "Volume"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "Car. TrueType"
+
+msgid "No TTF support!"
+msgstr "Nessun supporto TTF!"
+
+msgid "Default OSD Font"
+msgstr "Car. OSD pred."
+
+msgid "Default Fixed Size Font"
+msgstr "Car. dim. fissa pred."
+
+msgid "Default Small Font"
+msgstr "Car. piccolo pred."
+
+msgid "General"
+msgstr "Generale"
+
+msgid "Logos & Symbols"
+msgstr "Loghi e simboli"
+
+msgid "Animated Text"
+msgstr "Testo animato"
+
+msgid "Fonts"
+msgstr "Caratteri"
+
+msgid "EPGSearch"
+msgstr "EPGSearch"
+
+msgid "elapsed"
+msgstr "trascorso"
+
+msgid "remaining"
+msgstr "rimasto"
+
+msgid "percent"
+msgstr "percentuale"
+
+msgid "never"
+msgstr "mai"
+
+msgid "use size.vdr only"
+msgstr "usa solo size.vdr"
+
+msgid "always"
+msgstr "sempre"
+
+msgid "Last line"
+msgstr "Ultima riga"
+
+msgid "Help buttons"
+msgstr "Tasti aiuto"
+
+msgid "Free last line"
+msgstr "Ultima riga libera"
+
+msgid "Try 8bpp single area"
+msgstr "Prova area singola a 8bpp"
+
+msgid "Show info area in main menu"
+msgstr "Mostra area info nel menu"
+
+msgid "Show auxiliary information"
+msgstr "Mostra info ausiliare"
+
+msgid "Show recording's size"
+msgstr "Mostra dimensione reg."
+
+msgid "Full title width"
+msgstr "Lunghezza titolo completo"
+
+msgid "Show remaining/elapsed time"
+msgstr "Mostra tempo rimasto/trascorso"
+
+msgid "Show VPS"
+msgstr "Mostra VPS"
+
+msgid "Show progressbar"
+msgstr "Mostra barra avanzamento"
+
+msgid "Dynamic OSD size"
+msgstr "Dimensione OSD dinamica"
+
+msgid "Show messages in menu on"
+msgstr "Mostra messaggi nel menu"
+
+msgid "pixel algo"
+msgstr "algoritmo pixel"
+
+msgid "ratio algo"
+msgstr "algoritmo medio"
+
+msgid "zoom image"
+msgstr "ingrandisci immagine"
+
+msgid "only if new mail present"
+msgstr "solo se presenti nuove email"
+
+msgid "Flushing channel logo cache..."
+msgstr "Pulizia cache logo canale..."
+
+msgid "Show symbols"
+msgstr "Mostra simboli"
+
+msgid " Show symbols in menu"
+msgstr " Mostra simboli menu"
+
+msgid " Show symbols in replay"
+msgstr " Mostra simboli esecuzione"
+
+msgid " Show symbols in messages"
+msgstr " Mostra simboli messaggi"
+
+msgid " Show symbols in audio"
+msgstr " Mostra simboli audio"
+
+msgid "Show symbols in lists"
+msgstr "Mostra simboli elenchi"
+
+msgid "Show marker in lists"
+msgstr "Mostra indicatore elenchi"
+
+msgid "Show status symbols"
+msgstr "Mostra simboli stato"
+
+msgid " Show flags"
+msgstr " Mostra segni"
+
+msgid " Show WSS mode symbols"
+msgstr " Mostra simboli mod. WSS"
+
+msgid " Show mail icon"
+msgstr " Mostra icona email"
+
+msgid "Show event/recording images"
+msgstr "Mostra immagini evento/reg."
+
+msgid " Resize images"
+msgstr " Ridimensiona immagini"
+
+msgid " Image width"
+msgstr " Larghezza immagine"
+
+msgid " Image height"
+msgstr " Altezza immagine"
+
+msgid " Image format"
+msgstr " Formato immagine"
+
+msgid "Show channel logos"
+msgstr "Mostra loghi canali"
+
+msgid " Identify channel by"
+msgstr " Identifica canale per"
+
+msgid "name"
+msgstr "nome"
+
+msgid "data"
+msgstr "dati"
+
+msgid "Channel logo cache size"
+msgstr "Dim. cache logo canale"
+
+msgid "Button$Flush cache"
+msgstr "Pulisci cache"
+
+msgid "left and right"
+msgstr "sinistra e destra"
+
+msgid "to the left"
+msgstr "verso la sinistra"
+
+msgid "Enable"
+msgstr "Abilita"
+
+msgid " Scroll OSD title"
+msgstr " Scorri titolo OSD"
+
+msgid " Scroll info area"
+msgstr " Scorri info area"
+
+msgid " Scroll active list items"
+msgstr " Scorri elenco valori attivi"
+
+msgid " Scroll other items"
+msgstr " Scorri altri valori"
+
+msgid " Scoll behaviour"
+msgstr " Modalità scorrimento"
+
+msgid " Scroll delay (ms)"
+msgstr " Ritardo scorrimento (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Pausa scorrimento (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Pausa lampeggiante (ms)"
+
+msgid "Name"
+msgstr "Nome"
+
+msgid "Width"
+msgstr "Ampiezza"
+
+msgid "No TrueType fonts installed!"
+msgstr "Nessun carattere TrueType installato!"
+
+msgid "Fixed Font"
+msgstr "Carattere fisso"
+
+msgid "Button$Set"
+msgstr "Imposta"
+
+msgid "OSD title"
+msgstr "Titolo OSD"
+
+msgid "Messages"
+msgstr "Messaggi"
+
+msgid "Date"
+msgstr "Data"
+
+msgid "Help keys"
+msgstr "Tasti aiuto"
+
+msgid "Channelinfo: title"
+msgstr "Info canale: titolo"
+
+msgid "Channelinfo: subtitle"
+msgstr "Info canale: sottotitolo"
+
+msgid "Channelinfo: language"
+msgstr "Info canale: lingua"
+
+msgid "List items"
+msgstr "Elenco valori"
+
+msgid "Info area: timers title"
+msgstr "Info area: titoli timer"
+
+msgid "Info area: timers text"
+msgstr "Info area: testo timer"
+
+msgid "Info area: warning title"
+msgstr "Info area: titolo avviso"
+
+msgid "Info area: warning text"
+msgstr "Info area: testo avviso"
+
+msgid "Details: title"
+msgstr "Dettagli: titolo"
+
+msgid "Details: subtitle"
+msgstr "Dettagli: sottotitolo"
+
+msgid "Details: date"
+msgstr "Dettagli: data"
+
+msgid "Details: text"
+msgstr "Dettagli: testo"
+
+msgid "Replay: times"
+msgstr "Riproduzione: volte"
+
+msgid "if exists"
+msgstr "se esiste"
+
+msgid "Number of Reruns"
+msgstr "Numero di repliche"
+
+msgid "Use Subtitle for reruns"
+msgstr "Utilizza sottotitolo per repliche"
+
+msgid "Show timer conflicts"
+msgstr "Mostra conflitti timer"
+
+msgid "EnigmaNG skin"
+msgstr "Interfaccia EnigmaNG"
+
+msgid "Channel:"
+msgstr "Canale:"
+
+msgid "Search pattern:"
+msgstr "Modello di ricerca:"
+
+msgid "Timer check"
+msgstr "Verifica timer"
+
+msgid "No timer check"
+msgstr "Nessuna verifica timer"
diff --git a/po/nl_NL.po b/po/nl_NL.po
new file mode 100644
index 0000000..52476aa
--- /dev/null
+++ b/po/nl_NL.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Johan Schuring <dorpsgek @vdr-portal.de>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: dorpsgek @vdr-portal.de\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"
+
+msgid "Sunday"
+msgstr "Zondag"
+
+msgid "Monday"
+msgstr "maandag"
+
+msgid "Tuesday"
+msgstr "Dinsdag"
+
+msgid "Wednesday"
+msgstr "woensdag"
+
+msgid "Thursday"
+msgstr "Donderdag"
+
+msgid "Friday"
+msgstr "Vrijdag"
+
+msgid "Saturday"
+msgstr "Zaterdag"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** Ongeldig Kanaal ***"
+
+msgid "en_US"
+msgstr "nl_NL"
+
+msgid "WARNING"
+msgstr "WAARSCHUWING"
+
+msgid "Timer conflict"
+msgstr "Timerconflict"
+
+msgid "Timer conflicts"
+msgstr "Timerconflicten"
+
+msgid "TIMERS"
+msgstr "TIMER"
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Talen"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "HERHALINGEN"
+
+msgid "Size"
+msgstr "Grootte"
+
+msgid "Auxiliary information"
+msgstr "Hulp informatie"
+
+msgid "Mute"
+msgstr "Geluid uit"
+
+msgid "Volume"
+msgstr "Volume"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr "TrueType Font"
+
+msgid "No TTF support!"
+msgstr "TTF niet ondersteund!"
+
+msgid "Default OSD Font"
+msgstr "Standaard OSDfont"
+
+msgid "Default Fixed Size Font"
+msgstr "Standaardwaarde font"
+
+msgid "Default Small Font"
+msgstr "Standaard klein font"
+
+msgid "General"
+msgstr "Algemeen"
+
+msgid "Logos & Symbols"
+msgstr "Logo's & Symbolen"
+
+msgid "Animated Text"
+msgstr "Geanimeerde tekst"
+
+msgid "Fonts"
+msgstr "Fonts"
+
+msgid "EPGSearch"
+msgstr "EPGsearch"
+
+msgid "elapsed"
+msgstr "gedane"
+
+msgid "remaining"
+msgstr "resterend"
+
+msgid "percent"
+msgstr "procent"
+
+msgid "never"
+msgstr "nooit"
+
+msgid "use size.vdr only"
+msgstr "alleen size.vdr gebruiken"
+
+msgid "always"
+msgstr "Altijd"
+
+msgid "Last line"
+msgstr "Laatste lijn"
+
+msgid "Help buttons"
+msgstr "Help knoppen"
+
+msgid "Free last line"
+msgstr "Vrije laatste lijn"
+
+msgid "Try 8bpp single area"
+msgstr "Op 8bpp bereik testen"
+
+msgid "Show info area in main menu"
+msgstr "Info in hoofdmenu"
+
+msgid "Show auxiliary information"
+msgstr "Toon hulp informatie"
+
+msgid "Show recording's size"
+msgstr "Opnamegrootte tonen"
+
+msgid "Full title width"
+msgstr "Volle titelbreedte"
+
+msgid "Show remaining/elapsed time"
+msgstr "Toon resterend/gedane tijd"
+
+msgid "Show VPS"
+msgstr "VPS tonen"
+
+msgid "Show progressbar"
+msgstr "Progressiebalk tonen"
+
+msgid "Dynamic OSD size"
+msgstr "Dynamische OSD grootte"
+
+msgid "Show messages in menu on"
+msgstr "Toon berichten in menu aan"
+
+msgid "pixel algo"
+msgstr "pixelalgoritme"
+
+msgid "ratio algo"
+msgstr "algoritmeratio"
+
+msgid "zoom image"
+msgstr "zoomen"
+
+msgid "only if new mail present"
+msgstr "alleen bij nieuwe mail"
+
+msgid "Flushing channel logo cache..."
+msgstr "Kanaallogo cache legen..."
+
+msgid "Show symbols"
+msgstr "Symbolen tonen"
+
+msgid " Show symbols in menu"
+msgstr " Symbolen in menu tonen"
+
+msgid " Show symbols in replay"
+msgstr " Symbolen bij weergave tonen"
+
+msgid " Show symbols in messages"
+msgstr " Symbolen bij berichten tonen"
+
+msgid " Show symbols in audio"
+msgstr " Symbolen bij audio tonen"
+
+msgid "Show symbols in lists"
+msgstr "Symbolen in lijsten tonen"
+
+msgid "Show marker in lists"
+msgstr "Markering in lijsten tonen"
+
+msgid "Show status symbols"
+msgstr "Status symbolen tonen"
+
+msgid " Show flags"
+msgstr " Vlaggen tonen"
+
+msgid " Show WSS mode symbols"
+msgstr "WSS modus symbolen tonen"
+
+msgid " Show mail icon"
+msgstr " Mail-ikoon tonen"
+
+msgid "Show event/recording images"
+msgstr "Voorstelling/opname figuren tonen"
+
+msgid " Resize images"
+msgstr " Aanpassen beeldgrootte"
+
+msgid " Image width"
+msgstr " Beeldbreedte"
+
+msgid " Image height"
+msgstr " Beeldhoogte"
+
+msgid " Image format"
+msgstr " Beeldformaat"
+
+msgid "Show channel logos"
+msgstr "Toon kanaallogo's"
+
+msgid " Identify channel by"
+msgstr " Identificeer kanaal door"
+
+msgid "name"
+msgstr "naam"
+
+msgid "data"
+msgstr "data"
+
+msgid "Channel logo cache size"
+msgstr "Kanaallogo cache"
+
+msgid "Button$Flush cache"
+msgstr "Cache legen"
+
+msgid "left and right"
+msgstr "links en rechts"
+
+msgid "to the left"
+msgstr "naar links"
+
+msgid "Enable"
+msgstr "Toelaten"
+
+msgid " Scroll OSD title"
+msgstr " OSD titel scrollen"
+
+msgid " Scroll info area"
+msgstr " Infobereik scrollen"
+
+msgid " Scroll active list items"
+msgstr " Lijst aktieve punten scrollen"
+
+msgid " Scroll other items"
+msgstr " Andere punten scrollen"
+
+msgid " Scoll behaviour"
+msgstr " Scroll gedrag"
+
+msgid " Scroll delay (ms)"
+msgstr " Scrollvertraging (ms)"
+
+msgid " Scroll pause (ms)"
+msgstr " Scrollpause (ms)"
+
+msgid " Blink pause (ms)"
+msgstr " Blinkpauze (ms)"
+
+msgid "Name"
+msgstr "Naam"
+
+msgid "Width"
+msgstr "Breedte"
+
+msgid "No TrueType fonts installed!"
+msgstr "Geen TrueType fonten geinstalleerd!"
+
+msgid "Fixed Font"
+msgstr "Vaste waarde font"
+
+msgid "Button$Set"
+msgstr "Veranderen"
+
+msgid "OSD title"
+msgstr "OSD titel"
+
+msgid "Messages"
+msgstr "Meldingen"
+
+msgid "Date"
+msgstr "Datum"
+
+msgid "Help keys"
+msgstr "Help toetsen"
+
+msgid "Channelinfo: title"
+msgstr "Kanaalinfo: titel"
+
+msgid "Channelinfo: subtitle"
+msgstr "Kanaalinfo: ondertitel"
+
+msgid "Channelinfo: language"
+msgstr "Kanaalinfo: taal"
+
+msgid "List items"
+msgstr "Lijsten"
+
+msgid "Info area: timers title"
+msgstr "Infobereik: Timertitel"
+
+msgid "Info area: timers text"
+msgstr "Infobereik: Timertekst"
+
+msgid "Info area: warning title"
+msgstr "Infobereik: waarschuwing titel"
+
+msgid "Info area: warning text"
+msgstr "Infobereik: waarschuwing tekst"
+
+msgid "Details: title"
+msgstr "Details: titel"
+
+msgid "Details: subtitle"
+msgstr "Details: ondertitel"
+
+msgid "Details: date"
+msgstr "Details: datum"
+
+msgid "Details: text"
+msgstr "Details: tekst"
+
+msgid "Replay: times"
+msgstr "Weergave: tijden"
+
+msgid "if exists"
+msgstr "wanneer aanwezig"
+
+msgid "Number of Reruns"
+msgstr "aantal herhalingen"
+
+msgid "Use Subtitle for reruns"
+msgstr "Gebr. ondertitlel voor herh."
+
+msgid "Show timer conflicts"
+msgstr "Timerconflict tonen"
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG skin"
+
+msgid "Channel:"
+msgstr "Kanaal:"
+
+msgid "Search pattern:"
+msgstr "Zoekpatroon:"
+
+msgid "Timer check"
+msgstr "Monitoren"
+
+msgid "No timer check"
+msgstr "Geen controle"
diff --git a/po/nn_NO.po b/po/nn_NO.po
new file mode 100644
index 0000000..46fa909
--- /dev/null
+++ b/po/nn_NO.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Jørgen Tvedt <pjtvedt@online.no>, 2001
+# Truls Slevigen <truls@slevigen.no>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Truls Slevigen <truls@slevigen.no>\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"
+
+msgid "Sunday"
+msgstr "Søndag"
+
+msgid "Monday"
+msgstr "Manday"
+
+msgid "Tuesday"
+msgstr "Tirsday"
+
+msgid "Wednesday"
+msgstr "Onsday"
+
+msgid "Thursday"
+msgstr "Torsdag"
+
+msgid "Friday"
+msgstr "Fredag"
+
+msgid "Saturday"
+msgstr "Lørdag"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "no_NO"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/pl_PL.po b/po/pl_PL.po
new file mode 100644
index 0000000..5769e25
--- /dev/null
+++ b/po/pl_PL.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Michael Rakowski <mrak@gmx.de>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Niedziela"
+
+msgid "Monday"
+msgstr "poniedzia³ek"
+
+msgid "Tuesday"
+msgstr "Wtorek"
+
+msgid "Wednesday"
+msgstr "¶roda"
+
+msgid "Thursday"
+msgstr "Czwartek"
+
+msgid "Friday"
+msgstr "Pi±tek"
+
+msgid "Saturday"
+msgstr "Sobota"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "pl_PL"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Jêzyki"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr "Informacje pomocnicze"
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr "Pokazuj informacje pomocnicze"
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr "Pokazuj pasek postêpu"
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr "Opró¿niam cache logo kana³u..."
+
+msgid "Show symbols"
+msgstr "Pokazuj symbole"
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+#, fuzzy
+msgid "Show status symbols"
+msgstr "Pokazuj symbole"
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr "Pokazuj logo kana³u"
+
+msgid " Identify channel by"
+msgstr " Rozpoznaj kana³ po"
+
+msgid "name"
+msgstr "nazwa"
+
+msgid "data"
+msgstr "parametry"
+
+msgid "Channel logo cache size"
+msgstr "Rozmiar cache dla logo kana³u"
+
+msgid "Button$Flush cache"
+msgstr "Opró¿nij cache"
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr "Skin EnigmaNG"
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644
index 0000000..16529aa
--- /dev/null
+++ b/po/pt_PT.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paulo Lopes <pmml@netvita.pt>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Paulo Lopes <pmml@netvita.pt>\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"
+
+msgid "Sunday"
+msgstr "Domingo"
+
+msgid "Monday"
+msgstr "Segunda"
+
+msgid "Tuesday"
+msgstr "Terça"
+
+msgid "Wednesday"
+msgstr "Quarta"
+
+msgid "Thursday"
+msgstr "Quinta"
+
+msgid "Friday"
+msgstr "Sexta"
+
+msgid "Saturday"
+msgstr "Sábado"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "pt_PT"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr "Muet"
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/ro_RO.po b/po/ro_RO.po
new file mode 100644
index 0000000..0884dd1
--- /dev/null
+++ b/po/ro_RO.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Paul Lacatus <paul@campina.iiruc.ro>, 2002
+# Lucian Muresan <lucianm@users.sourceforge.net>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Duminicã"
+
+msgid "Monday"
+msgstr "Luni"
+
+msgid "Tuesday"
+msgstr "Marþi"
+
+msgid "Wednesday"
+msgstr "Miercuri"
+
+msgid "Thursday"
+msgstr "Joi"
+
+msgid "Friday"
+msgstr "Vineri"
+
+msgid "Saturday"
+msgstr "Sâmbãtã"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "ro_RO"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/ru_RU.po b/po/ru_RU.po
new file mode 100644
index 0000000..b0c25eb
--- /dev/null
+++ b/po/ru_RU.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: SergArb @vdr-portal.de / neptunvasja @vdr-portal.de\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 "Sunday"
+msgstr "²ÞáÚàÕáÕÝìÕ"
+
+msgid "Monday"
+msgstr "¿ÞÝÕÔÕÛìÝØÚ"
+
+msgid "Tuesday"
+msgstr "²âÞàÝØÚ"
+
+msgid "Wednesday"
+msgstr "ÁàÕÔÐ"
+
+msgid "Thursday"
+msgstr "ÇÕâÒÕàÓ"
+
+msgid "Friday"
+msgstr "¿ïâÝØæÐ"
+
+msgid "Saturday"
+msgstr "ÁãÑÑÞâÐ"
+
+msgid "*** Invalid Channel ***"
+msgstr "*** ½ÕßàÐÒØÛìÝëÙ ÚÐÝÐÛ ***"
+
+msgid "en_US"
+msgstr "ru_RU"
+
+msgid "WARNING"
+msgstr "¿Àµ´Ã¿Àµ¶´µ½¸µ"
+
+msgid "Timer conflict"
+msgstr "ºÞÝäÛØÚâ âÐÙÜÕàÐ"
+
+msgid "Timer conflicts"
+msgstr "ºÞÝäÛØÚâë âÐÙÜÕàÞÒ"
+
+msgid "TIMERS"
+msgstr "°¹¼µÀË"
+
+msgid "min"
+msgstr "ÜØÝ"
+
+msgid "Languages"
+msgstr "Ï×ëÚØ"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr "¿¾²Â¾Àµ½¸Ï"
+
+msgid "Size"
+msgstr "ÀÐ×ÜÕà"
+
+msgid "Auxiliary information"
+msgstr "ÀÐáè. ØÝäÞàÜÐæØï"
+
+msgid "Mute"
+msgstr "²ëÚÛ.×ÒãÚ"
+
+msgid "Volume"
+msgstr "³àÞÜÚÞáâì"
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr "»ÞÓÞâØßë & áØÜÒÞÛë"
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr "ØáâÕÚèØÕ"
+
+msgid "remaining"
+msgstr "ÞáâÐÛìÝëÕ"
+
+msgid "percent"
+msgstr "ßàÞæÕÝâ"
+
+msgid "never"
+msgstr "ÝØÚÞÓÔÐ"
+
+msgid "use size.vdr only"
+msgstr "ØáßÞÛì×ÞÒÐâì âÞÛìÚÞ size.vdr"
+
+msgid "always"
+msgstr "ÒáÕÓÔÐ"
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr "¿ÞÚÐ×ëÒÐâì ØÝä. ÞÑÛÐáìâ Ò ÓÛ. ÜÕÝî"
+
+msgid "Show auxiliary information"
+msgstr "¿ÞÚÐ×ëÒÐâì àÐáè. ØÝäÞàÜÐæØî"
+
+msgid "Show recording's size"
+msgstr "¿ÞÚÐ×ëÒÐâì àÐ×ÜÕàë ×ÐߨáÕÙ"
+
+msgid "Full title width"
+msgstr "¿ÞÛÝÐï èØàØÝÐ ×ÐÓÞÛÞÒÚÐ"
+
+msgid "Show remaining/elapsed time"
+msgstr "¿ÞÚÐ×ëÒÐâì ÞáâÐÒ./ßàÞèÕÔ. ÒàÕÜï"
+
+msgid "Show VPS"
+msgstr "¿ÞÚÐ×ëÒÐâì VPS"
+
+msgid "Show progressbar"
+msgstr "¿ÞÚÐ×ëÒÐâì ØÝÔØÚÐâÞà ßàÞÔÒØÖÕÝØï"
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr "ÐÛÓÞàØâÜ ßØÚáÕÛï"
+
+msgid "ratio algo"
+msgstr "ÐÛÓÞàØâÜ áÞÞâÝÞèÕÝØï"
+
+msgid "zoom image"
+msgstr "ÃÒÕÛØçØâì"
+
+msgid "only if new mail present"
+msgstr "âÞÛìÚÞ ßàØ ÝÞÒÞÜ áÞÞÑéÕÝØØ"
+
+msgid "Flushing channel logo cache..."
+msgstr "¾çØéÐî ÚÕè..."
+
+msgid "Show symbols"
+msgstr "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë"
+
+msgid " Show symbols in menu"
+msgstr " ¿ÞÚÐ×Ðâì áØÜÒÞÛë Ò ÜÕÝî"
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë Ò áߨáÚÐå"
+
+msgid "Show marker in lists"
+msgstr "¿ÞÚÐ×ëÒÐâì ÜÕâÚã Ò áߨáÚÐå"
+
+#, fuzzy
+msgid "Show status symbols"
+msgstr "¿ÞÚÐ×ëÒÐâì áØÜÒÞÛë"
+
+msgid " Show flags"
+msgstr " ¿ÞÚÐ×Ðâì äÛÐÓØ"
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr " ¿ÞÚÐ×Ðâì ×ÝÐçÞÚ íÛÕÚâ. ßÞçâë"
+
+msgid "Show event/recording images"
+msgstr "¸×ÞÑàÐÖÕÝØï Ò EPG"
+
+msgid " Resize images"
+msgstr " ¿ÕàÕàÕèÐâì ØáßÞÛì×ãï"
+
+msgid " Image width"
+msgstr " ÈØàØÝÐ Ø×ÞÑàÐÖÕÝØï"
+
+msgid " Image height"
+msgstr " ²ëáÞâÐ Ø×ÞÑàÐÖÕÝØï"
+
+msgid " Image format"
+msgstr " ÄÞàÜÐâ Ø×ÞÑàÐÖÕÝØï"
+
+msgid "Show channel logos"
+msgstr "¿ÞÚÐ×ëÒÐâì ÛÞÓÞ ÚÐÝÐÛÞÒ"
+
+msgid " Identify channel by"
+msgstr " ¾ßàÕÔÕÛïâì ÚÐÝÐÛ ßÞ"
+
+msgid "name"
+msgstr "ÝÐ×ÒÐÝØî"
+
+msgid "data"
+msgstr "ÔÐÝÝëÜ"
+
+msgid "Channel logo cache size"
+msgstr "ÀÐ×ÜÕà ÚÕèÐ ÛÞÓoâØßÞÒ ÚÐÝÐÛÞÒ"
+
+msgid "Button$Flush cache"
+msgstr "¾çØáâØâì ÚÕè"
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr "ÕáÛØ Ò ÝÐÛØçØØ"
+
+msgid "Number of Reruns"
+msgstr "ºÞÛØçÕáâÒÞ ßÞÒâÞàÕÝØÙ"
+
+msgid "Use Subtitle for reruns"
+msgstr "¸áßÞÛì×. ßÞÔ×ÐÓÞÛÞÒÚØ ÔÛï ßÞÒâÞàÕÝØï"
+
+msgid "Show timer conflicts"
+msgstr "¿ÞÚÐ×Ðâì ÚÞÝäÛØÚâë âÐÙÜÕàÞÒ"
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG áÚØÝ"
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr "¿àÞÒÕàÚÐ âÐÙÜÕàÞÒ"
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/skinenigmang.pot b/po/skinenigmang.pot
new file mode 100644
index 0000000..2f9715e
--- /dev/null
+++ b/po/skinenigmang.pot
@@ -0,0 +1,374 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-03-09 09:39+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr ""
+
+msgid "Monday"
+msgstr ""
+
+msgid "Tuesday"
+msgstr ""
+
+msgid "Wednesday"
+msgstr ""
+
+msgid "Thursday"
+msgstr ""
+
+msgid "Friday"
+msgstr ""
+
+msgid "Saturday"
+msgstr ""
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr ""
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/sl_SI.po b/po/sl_SI.po
new file mode 100644
index 0000000..6409c08
--- /dev/null
+++ b/po/sl_SI.po
@@ -0,0 +1,374 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Miha Setina <mihasetina@softhome.net>, 2000
+# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr "Nedelja"
+
+msgid "Monday"
+msgstr "ponedeljek"
+
+msgid "Tuesday"
+msgstr "Torek"
+
+msgid "Wednesday"
+msgstr "sreda"
+
+msgid "Thursday"
+msgstr "èetrtek"
+
+msgid "Friday"
+msgstr "Petek"
+
+msgid "Saturday"
+msgstr "Sobota"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "sl_SI"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/sv_SE.po b/po/sv_SE.po
new file mode 100644
index 0000000..655fd75
--- /dev/null
+++ b/po/sv_SE.po
@@ -0,0 +1,375 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Tomas Prybil <tomas@prybil.se>, 2002
+# Jan Ekholm <chakie@infa.abo.fi>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Tomas Prybil <tomas@prybil.se>\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"
+
+msgid "Sunday"
+msgstr "Söndag"
+
+msgid "Monday"
+msgstr "Måndag"
+
+msgid "Tuesday"
+msgstr "Tisdag"
+
+msgid "Wednesday"
+msgstr "Onsdag"
+
+msgid "Thursday"
+msgstr "Torsdag"
+
+msgid "Friday"
+msgstr "Fredag"
+
+msgid "Saturday"
+msgstr "Lördag"
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "sv_SE"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr "min"
+
+msgid "Languages"
+msgstr "Språk"
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr "Extrainformation"
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr "EnigmaNG"
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr "Visa extrainformation"
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr "Visa framsteg"
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr "Tömmer cachen..."
+
+msgid "Show symbols"
+msgstr "Visa symboler"
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+#, fuzzy
+msgid "Show status symbols"
+msgstr "Visa symboler"
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr "Visa kanallogotyper"
+
+msgid " Identify channel by"
+msgstr " Identifiera kanal med"
+
+msgid "name"
+msgstr "namn"
+
+msgid "data"
+msgstr "data"
+
+msgid "Channel logo cache size"
+msgstr "Cachestorlek för logotyper"
+
+msgid "Button$Flush cache"
+msgstr "Töm cachen"
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr "EnigmaNG-temat"
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/po/tr_TR.po b/po/tr_TR.po
new file mode 100644
index 0000000..537e006
--- /dev/null
+++ b/po/tr_TR.po
@@ -0,0 +1,373 @@
+# VDR plugin language source file.
+# Copyright (C) 2007 Klaus Schmidinger <kls@cadsoft.de>
+# This file is distributed under the same license as the VDR package.
+# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: VDR 1.5.7\n"
+"Report-Msgid-Bugs-To: <andreas@vdr-developer.org>\n"
+"POT-Creation-Date: 2008-01-09 08:21+0100\n"
+"PO-Revision-Date: 2007-12-18 08:11+0100\n"
+"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
+"Language-Team: <vdr@linuxtv.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-9\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Sunday"
+msgstr ""
+
+msgid "Monday"
+msgstr ""
+
+msgid "Tuesday"
+msgstr ""
+
+msgid "Wednesday"
+msgstr ""
+
+msgid "Thursday"
+msgstr ""
+
+msgid "Friday"
+msgstr ""
+
+msgid "Saturday"
+msgstr ""
+
+msgid "*** Invalid Channel ***"
+msgstr ""
+
+msgid "en_US"
+msgstr "tr_TR"
+
+msgid "WARNING"
+msgstr ""
+
+msgid "Timer conflict"
+msgstr ""
+
+msgid "Timer conflicts"
+msgstr ""
+
+msgid "TIMERS"
+msgstr ""
+
+msgid "min"
+msgstr ""
+
+msgid "Languages"
+msgstr ""
+
+msgid "RERUNS OF THIS SHOW"
+msgstr ""
+
+msgid "Size"
+msgstr ""
+
+msgid "Auxiliary information"
+msgstr ""
+
+msgid "Mute"
+msgstr ""
+
+msgid "Volume"
+msgstr ""
+
+msgid "EnigmaNG"
+msgstr ""
+
+msgid "TrueType Font"
+msgstr ""
+
+msgid "No TTF support!"
+msgstr ""
+
+msgid "Default OSD Font"
+msgstr ""
+
+msgid "Default Fixed Size Font"
+msgstr ""
+
+msgid "Default Small Font"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Logos & Symbols"
+msgstr ""
+
+msgid "Animated Text"
+msgstr ""
+
+msgid "Fonts"
+msgstr ""
+
+msgid "EPGSearch"
+msgstr ""
+
+msgid "elapsed"
+msgstr ""
+
+msgid "remaining"
+msgstr ""
+
+msgid "percent"
+msgstr ""
+
+msgid "never"
+msgstr ""
+
+msgid "use size.vdr only"
+msgstr ""
+
+msgid "always"
+msgstr ""
+
+msgid "Last line"
+msgstr ""
+
+msgid "Help buttons"
+msgstr ""
+
+msgid "Free last line"
+msgstr ""
+
+msgid "Try 8bpp single area"
+msgstr ""
+
+msgid "Show info area in main menu"
+msgstr ""
+
+msgid "Show auxiliary information"
+msgstr ""
+
+msgid "Show recording's size"
+msgstr ""
+
+msgid "Full title width"
+msgstr ""
+
+msgid "Show remaining/elapsed time"
+msgstr ""
+
+msgid "Show VPS"
+msgstr ""
+
+msgid "Show progressbar"
+msgstr ""
+
+msgid "Dynamic OSD size"
+msgstr ""
+
+msgid "Show messages in menu on"
+msgstr ""
+
+msgid "pixel algo"
+msgstr ""
+
+msgid "ratio algo"
+msgstr ""
+
+msgid "zoom image"
+msgstr ""
+
+msgid "only if new mail present"
+msgstr ""
+
+msgid "Flushing channel logo cache..."
+msgstr ""
+
+msgid "Show symbols"
+msgstr ""
+
+msgid " Show symbols in menu"
+msgstr ""
+
+msgid " Show symbols in replay"
+msgstr ""
+
+msgid " Show symbols in messages"
+msgstr ""
+
+msgid " Show symbols in audio"
+msgstr ""
+
+msgid "Show symbols in lists"
+msgstr ""
+
+msgid "Show marker in lists"
+msgstr ""
+
+msgid "Show status symbols"
+msgstr ""
+
+msgid " Show flags"
+msgstr ""
+
+msgid " Show WSS mode symbols"
+msgstr ""
+
+msgid " Show mail icon"
+msgstr ""
+
+msgid "Show event/recording images"
+msgstr ""
+
+msgid " Resize images"
+msgstr ""
+
+msgid " Image width"
+msgstr ""
+
+msgid " Image height"
+msgstr ""
+
+msgid " Image format"
+msgstr ""
+
+msgid "Show channel logos"
+msgstr ""
+
+msgid " Identify channel by"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "data"
+msgstr ""
+
+msgid "Channel logo cache size"
+msgstr ""
+
+msgid "Button$Flush cache"
+msgstr ""
+
+msgid "left and right"
+msgstr ""
+
+msgid "to the left"
+msgstr ""
+
+msgid "Enable"
+msgstr ""
+
+msgid " Scroll OSD title"
+msgstr ""
+
+msgid " Scroll info area"
+msgstr ""
+
+msgid " Scroll active list items"
+msgstr ""
+
+msgid " Scroll other items"
+msgstr ""
+
+msgid " Scoll behaviour"
+msgstr ""
+
+msgid " Scroll delay (ms)"
+msgstr ""
+
+msgid " Scroll pause (ms)"
+msgstr ""
+
+msgid " Blink pause (ms)"
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Width"
+msgstr ""
+
+msgid "No TrueType fonts installed!"
+msgstr ""
+
+msgid "Fixed Font"
+msgstr ""
+
+msgid "Button$Set"
+msgstr ""
+
+msgid "OSD title"
+msgstr ""
+
+msgid "Messages"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Help keys"
+msgstr ""
+
+msgid "Channelinfo: title"
+msgstr ""
+
+msgid "Channelinfo: subtitle"
+msgstr ""
+
+msgid "Channelinfo: language"
+msgstr ""
+
+msgid "List items"
+msgstr ""
+
+msgid "Info area: timers title"
+msgstr ""
+
+msgid "Info area: timers text"
+msgstr ""
+
+msgid "Info area: warning title"
+msgstr ""
+
+msgid "Info area: warning text"
+msgstr ""
+
+msgid "Details: title"
+msgstr ""
+
+msgid "Details: subtitle"
+msgstr ""
+
+msgid "Details: date"
+msgstr ""
+
+msgid "Details: text"
+msgstr ""
+
+msgid "Replay: times"
+msgstr ""
+
+msgid "if exists"
+msgstr ""
+
+msgid "Number of Reruns"
+msgstr ""
+
+msgid "Use Subtitle for reruns"
+msgstr ""
+
+msgid "Show timer conflicts"
+msgstr ""
+
+msgid "EnigmaNG skin"
+msgstr ""
+
+msgid "Channel:"
+msgstr ""
+
+msgid "Search pattern:"
+msgstr ""
+
+msgid "Timer check"
+msgstr ""
+
+msgid "No timer check"
+msgstr ""
diff --git a/services/avards.h b/services/avards.h
new file mode 100644
index 0000000..e80393f
--- /dev/null
+++ b/services/avards.h
@@ -0,0 +1,37 @@
+/*
+ * avards-services.h: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id: avards.h,v 1.1 2007/11/22 09:01:05 amair Exp $
+ */
+
+#ifndef __AVARDS_SERVICES_H
+#define __AVARDS_SERVICES_H
+
+#if APIVERSNUM < 10504
+#define AVARDS_MAXOSDSIZE_SERVICE_STRING_ID "avards-MaxOSDsize-v1.0"
+
+struct avards_MaxOSDsize_v1_0 {
+ int left, top, width, height;
+};
+#endif
+
+#define AVARDS_CURRENT_WSSMODE_SERVICE_STRING_ID "avards-CurrentWSSMode-v1.0"
+
+struct avards_CurrentWssMode_v1_0 {
+ const char *ModeString;
+};
+
+
+#define AVARDS_CURRENT_VIDEO_FORMAT_SERVICE_STRING_ID "avards-CurrentVideoFormat-v1.0"
+
+struct avards_CurrentVideoFormat_v1_0 {
+ const char *ModeString;
+ int Mode;
+ int Width;
+ int Height;
+};
+
+
+#endif // __AVARDS_SERVICES_H
diff --git a/services/epgsearch.h b/services/epgsearch.h
new file mode 100644
index 0000000..de29299
--- /dev/null
+++ b/services/epgsearch.h
@@ -0,0 +1,167 @@
+/*
+Copyright (C) 2004-2007 Christian Wieninger
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+
+The author can be reached at cwieninger@gmx.de
+
+The project's page is at http://winni.vdr-developer.org/epgsearch
+*/
+
+#ifndef EPGSEARCHSERVICES_INC
+#define EPGSEARCHSERVICES_INC
+
+// Added by Andreas Mair (mail _AT_ andreas _DOT_ vdr-developer _DOT_ org)
+#define EPGSEARCH_SEARCHRESULTS_SERVICE_STRING_ID "Epgsearch-searchresults-v1.0"
+#define EPGSEARCH_LASTCONFLICTINFO_SERVICE_STRING_ID "Epgsearch-lastconflictinfo-v1.0"
+
+#include <string>
+#include <list>
+#include <memory>
+#include <set>
+#include <vdr/osdbase.h>
+
+// Data structure for service "Epgsearch-search-v1.0"
+struct Epgsearch_search_v1_0
+{
+// in
+ char* query; // search term
+ int mode; // search mode (0=phrase, 1=and, 2=or, 3=regular expression)
+ int channelNr; // channel number to search in (0=any)
+ bool useTitle; // search in title
+ bool useSubTitle; // search in subtitle
+ bool useDescription; // search in description
+// out
+ cOsdMenu* pResultMenu; // pointer to the menu of results
+};
+
+// Data structure for service "Epgsearch-exttimeredit-v1.0"
+struct Epgsearch_exttimeredit_v1_0
+{
+// in
+ cTimer* timer; // pointer to the timer to edit
+ bool bNew; // flag that indicates, if this is a new timer or an existing one
+ const cEvent* event; // pointer to the event corresponding to this timer (may be NULL)
+// out
+ cOsdMenu* pTimerMenu; // pointer to the menu of results
+};
+
+// Data structure for service "Epgsearch-updatesearchtimers-v1.0"
+struct Epgsearch_updatesearchtimers_v1_0
+{
+// in
+ bool showMessage; // inform via osd when finished?
+};
+
+// Data structure for service "Epgsearch-osdmessage-v1.0"
+struct Epgsearch_osdmessage_v1_0
+{
+// in
+ char* message; // the message to display
+ eMessageType type;
+};
+
+// Data structure for service "EpgsearchMenu-v1.0"
+struct EpgSearchMenu_v1_0
+{
+// in
+// out
+ cOsdMenu* Menu; // pointer to the menu
+};
+
+// Data structure for service "Epgsearch-lastconflictinfo-v1.0"
+struct Epgsearch_lastconflictinfo_v1_0
+{
+// in
+// out
+ time_t nextConflict; // next conflict date, 0 if none
+ int relevantConflicts; // number of relevant conflicts
+ int totalConflicts; // total number of conflicts
+};
+
+// Data structure for service "Epgsearch-searchresults-v1.0"
+struct Epgsearch_searchresults_v1_0
+{
+// in
+ char* query; // search term
+ int mode; // search mode (0=phrase, 1=and, 2=or, 3=regular expression)
+ int channelNr; // channel number to search in (0=any)
+ bool useTitle; // search in title
+ bool useSubTitle; // search in subtitle
+ bool useDescription; // search in description
+// out
+
+ class cServiceSearchResult : public cListObject
+ {
+ public:
+ const cEvent* event;
+ cServiceSearchResult(const cEvent* Event) : event(Event) {}
+ };
+
+ cList<cServiceSearchResult>* pResultList; // pointer to the results
+};
+
+// Data structure for service "Epgsearch-switchtimer-v1.0"
+struct Epgsearch_switchtimer_v1_0
+{
+// in
+ const cEvent* event;
+ int mode; // mode (0=query existance, 1=add/modify, 2=delete)
+// in/out
+ int switchMinsBefore;
+ int announceOnly;
+// out
+ bool success; // result
+};
+
+// Data structures for service "Epgsearch-services-v1.0"
+class cServiceHandler
+{
+ public:
+ virtual std::list<std::string> SearchTimerList() = 0;
+ // returns a list of search timer entries in the same format as used in epgsearch.conf
+ virtual int AddSearchTimer(const std::string&) = 0;
+ // adds a new search timer and returns its ID (-1 on error)
+ virtual bool ModSearchTimer(const std::string&) = 0;
+ // edits an existing search timer and returns success
+ virtual bool DelSearchTimer(int) = 0;
+ // deletes search timer with given ID and returns success
+ virtual std::list<std::string> QuerySearchTimer(int) = 0;
+ // returns the search result of the searchtimer with given ID in the same format as used in SVDRP command 'QRYS' (->MANUAL)
+ virtual std::list<std::string> QuerySearch(std::string) = 0;
+ // returns the search result of the searchtimer with given settings in the same format as used in SVDRP command 'QRYS' (->MANUAL)
+ virtual std::list<std::string> ExtEPGInfoList() = 0;
+ // returns a list of extended EPG categories in the same format as used in epgsearchcats.conf
+ virtual std::list<std::string> ChanGrpList() = 0;
+ // returns a list of channel groups maintained by epgsearch
+ virtual std::list<std::string> BlackList() = 0;
+ // returns a list of blacklists in the same format as used in epgsearchblacklists.conf
+ virtual std::set<std::string> DirectoryList() = 0;
+ // List of all recording directories used in recordings, timers, search timers or in epgsearchdirs.conf
+ virtual ~cServiceHandler() {}
+ // Read a setup value
+ virtual std::string ReadSetupValue(const std::string& entry) = 0;
+ // Write a setup value
+ virtual bool WriteSetupValue(const std::string& entry, const std::string& value) = 0;
+};
+
+struct Epgsearch_services_v1_0
+{
+// in/out
+ std::auto_ptr<cServiceHandler> handler;
+};
+
+#endif
diff --git a/services/mailbox.h b/services/mailbox.h
new file mode 100644
index 0000000..4d467d6
--- /dev/null
+++ b/services/mailbox.h
@@ -0,0 +1,47 @@
+//-----------------------------------------------------------------------------
+/*
+ * Description: This file contains the names & types for the service-interface
+ *
+ * See the file README in the main directory for a description of
+ * this software, copyright information, and how to reach the author.
+ *
+ * Author: alex
+ * Date: 03.03.2006
+ *
+ * Last modfied:
+ * $Author: amair $
+ * $Date: 2007/11/22 09:01:05 $
+ * $Revision: 1.1 $
+ */
+//-----------------------------------------------------------------------------
+#ifndef __AxMailBoxServiceTypes_H__
+#define __AxMailBoxServiceTypes_H__
+
+//-----------------------------------------------------------------------------
+// includes
+//-----------------------------------------------------------------------------
+
+//----- C++ -------------------------------------------------------------------
+//----- C ---------------------------------------------------------------------
+//----- AxLib -----------------------------------------------------------------
+//----- vdr -------------------------------------------------------------------
+//----- local -----------------------------------------------------------------
+
+//=============================================================================
+// Service-Names (ID)
+//=============================================================================
+#define MailBox_HasNewMail_v1_0_NAME "MailBox-HasNewMail-1.0"
+
+//=============================================================================
+// service MailBox-HasNewMail-1.0
+//=============================================================================
+/** Ask if new mails are present
+ *
+ * The Data-parameter to cPlugin::Service() is simply a pointer to a bool
+ * which - on return - is
+ * - true if at least one mail account contains an unread mail
+ * - false if none of the mail accounts cotains any unread mail
+ */
+
+#endif
+
diff --git a/setup.c b/setup.c
index b1f6171..8c38635 100644
--- a/setup.c
+++ b/setup.c
@@ -12,19 +12,31 @@
#include "setup.h"
#include "tools.h"
+#ifdef USE_PLUGIN_EPGSEARCH
+#include "services/epgsearch.h"
+#endif
+
+#ifdef USE_PLUGIN_AVARDS
+#include "services/avards.h"
+#endif
+
+#ifdef USE_PLUGIN_MAILBOX
+#include "services/mailbox.h"
+#endif
+
#ifdef HAVE_FREETYPE
#include "texteffects.h"
#endif
static const char *allVdrFonts[] = {
#ifdef HAVE_FREETYPE
- "TrueType Font",
+ trNOOP("TrueType Font"),
#else
- "No TTF support!",
+ trNOOP("No TTF support!"),
#endif
- "Default OSD Font",
- "Default Fixed Size Font",
- "Default Small Font",
+ trNOOP("Default OSD Font"),
+ trNOOP("Default Fixed Size Font"),
+ trNOOP("Default Small Font"),
SKINENIGMA_FONTS
};
@@ -67,13 +79,15 @@ void cPluginSkinEnigmaSetup::Setup(void)
if (::Setup.UseSmallFont == 1) { // only if "Use small font" = "skin dependent"
Add(new cOsdItem(tr("Fonts")));
}
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
- Add(new cOsdItem(tr("EPGSearch")));
+#ifdef USE_PLUGIN_EPGSEARCH
+ if (cPluginManager::GetPlugin("epgsearch") != NULL) {
+ Add(new cOsdItem(tr("EPGSearch")));
+ } //TODO? else display "EPGsearch plugin not found"
#endif
SetCurrent(Get(current));
Display();
- SetHelp(NULL, NULL, NULL, tr("Button$Open"));
+ SetHelp(NULL, NULL, NULL, trVDR("Button$Open"));
}
void cPluginSkinEnigmaSetup::Store(void)
@@ -120,12 +134,15 @@ void cPluginSkinEnigmaSetup::Store(void)
SetupStore("ScrollOther", EnigmaConfig.scrollOther);
SetupStore("ScrollTitle", EnigmaConfig.scrollTitle);
SetupStore("DynOSD", EnigmaConfig.dynOsd);
+ SetupStore("StatusLineMode", EnigmaConfig.statusLineMode);
+ SetupStore("ShowWssSymbols", EnigmaConfig.showWssSymbols);
+ SetupStore("ShowStatusSymbols", EnigmaConfig.showStatusSymbols);
char tmp[sizeof(EnigmaConfig.allFonts[0].Name) + 8];
for (int id = 0; id < FONT_NUMFONTS; id++) {
SetupStore(allFontConfig[id].KeyId, EnigmaConfig.allFonts[id].VdrId);
if (EnigmaConfig.allFonts[id].Name[0] != 0) {
- sprintf(tmp, "%s:%d,%d", EnigmaConfig.allFonts[id].Name, EnigmaConfig.allFonts[id].Size, EnigmaConfig.allFonts[id].Width);
+ snprintf(tmp, sizeof(tmp), "%s:%d,%d", EnigmaConfig.allFonts[id].Name, EnigmaConfig.allFonts[id].Size, EnigmaConfig.allFonts[id].Width);
SetupStore(allFontConfig[id].KeyName, tmp);
}
}
@@ -155,7 +172,7 @@ eOSState cPluginSkinEnigmaSetup::ProcessKey(eKeys Key)
#endif
else if (strcmp(ItemText, tr("Fonts")) == 0)
state = AddSubMenu(new cMenuSetupFonts(&data));
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
+#ifdef USE_PLUGIN_EPGSEARCH
else if (strcmp(ItemText, tr("EPGSearch")) == 0)
state = AddSubMenu(new cMenuSetupEpgSearch(&data));
#endif
@@ -198,6 +215,10 @@ cMenuSetupGeneral::cMenuSetupGeneral(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr
showRecSizeTexts[1] = tr("use size.vdr only");
showRecSizeTexts[2] = tr("always");
+ statusLineModeTexts[0] = tr("Last line");
+ statusLineModeTexts[1] = tr("Help buttons");
+ statusLineModeTexts[2] = tr("Free last line");
+
Set();
}
@@ -213,15 +234,28 @@ void cMenuSetupGeneral::Set(void)
Add(new cMenuEditBoolItem(tr("Try 8bpp single area"), &data->singleArea8Bpp));
Add(new cMenuEditBoolItem(tr("Show info area in main menu"), &data->showInfo));
- Add(new cMenuEditBoolItem(tr("Show auxiliary information"), &data->showAuxInfo, tr("top"), tr("bottom")));
+ Add(new cMenuEditBoolItem(tr("Show auxiliary information"), &data->showAuxInfo, trVDR("top"), trVDR("bottom")));
Add(new cMenuEditStraItem(tr("Show recording's size"), &data->showRecSize, 3, showRecSizeTexts));
Add(new cMenuEditBoolItem(tr("Full title width"), &data->fullTitleWidth));
Add(new cMenuEditStraItem(tr("Show remaining/elapsed time"), &data->showRemaining, 3, showRemainingTexts));
Add(new cMenuEditBoolItem(tr("Show VPS"), &data->showVps));
Add(new cMenuEditBoolItem(tr("Show progressbar"), &data->showProgressbar));
#ifdef USE_PLUGIN_AVARDS
- Add(new cMenuEditBoolItem(tr("Dynamic OSD size"), &data->dynOsd));
+ //TODO: USE_PLUGIN_AVARDS only if APIVERSNUM < 10504
+ cPlugin *pAvardsPlugin = cPluginManager::GetPlugin("avards");
+ if (pAvardsPlugin != NULL) {
+#if APIVERSNUM < 10504
+ if (pAvardsPlugin->Service(AVARDS_MAXOSDSIZE_SERVICE_STRING_ID)) {
#endif
+ Add(new cMenuEditBoolItem(tr("Dynamic OSD size"), &data->dynOsd));
+#if APIVERSNUM < 10504
+ } else {
+ Add(new cOsdItem(AVARDS_MAXOSDSIZE_SERVICE_STRING_ID " service not found!", osUnknown, false));
+ }
+#endif
+ } //TODO? else display "Avards not found"
+#endif
+ Add(new cMenuEditStraItem(tr("Show messages in menu on"), &data->statusLineMode, 3, statusLineModeTexts));
SetCurrent(Get(current));
Display();
@@ -250,6 +284,7 @@ eOSState cMenuSetupLogos::ProcessKey(eKeys Key)
{
int oldShowLogo = data->showLogo;
int oldShowSymbols = data->showSymbols;
+ int oldShowStatusSymbols = data->showStatusSymbols;
int oldShowSymbolsMenu = data->showSymbolsMenu;
int oldShowImages = data->showImages;
@@ -265,6 +300,7 @@ eOSState cMenuSetupLogos::ProcessKey(eKeys Key)
if (Key != kNone &&
((data->showLogo != oldShowLogo)
|| (data->showSymbols != oldShowSymbols)
+ || (data->showStatusSymbols != oldShowStatusSymbols)
|| (data->showSymbolsMenu != oldShowSymbolsMenu)
|| (data->showImages != oldShowImages)
)) {
@@ -301,14 +337,31 @@ void cMenuSetupLogos::Set(void)
Add(new cMenuEditBoolItem(tr("Show symbols in lists"), &data->showListSymbols));
Add(new cMenuEditBoolItem(tr("Show marker in lists"), &data->showMarker));
- Add(new cMenuEditBoolItem(tr("Show flags"), &data->showFlags));
+ Add(new cMenuEditBoolItem(tr("Show status symbols"), &data->showStatusSymbols));
+ if (data->showStatusSymbols) {
+ Add(new cMenuEditBoolItem(tr(" Show flags"), &data->showFlags));
+#ifdef USE_PLUGIN_AVARDS
+ cPlugin *pAvardsPlugin = cPluginManager::GetPlugin("avards");
+ if (pAvardsPlugin != NULL) {
+ if (pAvardsPlugin->Service(AVARDS_CURRENT_VIDEO_FORMAT_SERVICE_STRING_ID)) {
+ Add(new cMenuEditBoolItem(tr(" Show WSS mode symbols"), &data->showWssSymbols));
+ } else {
+ Add(new cOsdItem(AVARDS_CURRENT_VIDEO_FORMAT_SERVICE_STRING_ID " service not found!", osUnknown, false));
+ }
+ }
+#endif
#ifdef USE_PLUGIN_MAILBOX
- cPlugin *MailBoxPlugin = cPluginManager::GetPlugin("mailbox");
- if (MailBoxPlugin && MailBoxPlugin->Service("MailBox-HasNewMail-1.0", 0)) {
- Add(new cMenuEditStraItem(tr("Show mail icon"), &data->showMailIcon, 3, showMailIconTexts));
- }
+ cPlugin *MailBoxPlugin = cPluginManager::GetPlugin("mailbox");
+ if (MailBoxPlugin) {
+ if (MailBoxPlugin->Service(MailBox_HasNewMail_v1_0_NAME, 0)) {
+ Add(new cMenuEditStraItem(tr(" Show mail icon"), &data->showMailIcon, 3, showMailIconTexts));
+ } else {
+ Add(new cOsdItem(MailBox_HasNewMail_v1_0_NAME " service not found!", osUnknown, false));
+ }
+ } //TODO? else display "Plugin not found"
#endif
+ }
#ifndef SKINENIGMA_NO_MENULOGO
if (data->showSymbols && data->showSymbolsMenu) {
@@ -386,9 +439,14 @@ void cMenuSetupAnimText::Set(void)
#ifdef HAVE_FREETYPE
// Setup: TTF
+#if VDRVERSNUM < 10504
cMenuSetupTTF::cMenuSetupTTF(FontInfo* Data) : cOsdMenu(tr("TrueType Font"), 10)
+#else // VDRVERSNUM >= 10504
+cMenuSetupTTF::cMenuSetupTTF(FontInfo* Data, cStringList* fonts) : cOsdMenu(tr("TrueType Font"), 10)
+#endif // VDRVERSNUM < 10504
{
data = Data;
+#if VDRVERSNUM < 10504
availTTFs = EnigmaTextEffects.GetAvailTTFs();
if (availTTFs && data) {
nMaxTTFs = EnigmaTextEffects.GetNumAvailTTFs();
@@ -404,6 +462,15 @@ cMenuSetupTTF::cMenuSetupTTF(FontInfo* Data) : cOsdMenu(tr("TrueType Font"), 10)
nWidth = data->Width;
nSize = data->Size;
}
+#else // VDRVERSNUM >= 10504
+ if (data && fonts) {
+ fontList = fonts;
+ nFont = std::max(0, fontList->Find(data->Name));
+ nWidth = data->Width;
+ nSize = data->Size;
+ }
+#endif // VDRVERSNUM < 10504
+
SetHelp(NULL, NULL, NULL, NULL);
Set();
}
@@ -413,12 +480,17 @@ void cMenuSetupTTF::Set(void)
int current = Current();
Clear();
+#if VDRVERSNUM < 10504
if (availTTFs) {
Add(new cMenuEditStraItem(tr("Name"), &nFont, nMaxTTFs, availTTFs));
+#else // VDRVERSNUM >= 10504
+ if (fontList->Size() > 0) {
+ Add(new cMenuEditStraItem(tr("Name"), &nFont, fontList->Size(), &(*fontList)[0]));
+#endif // VDRVERSNUM < 10504
Add(new cMenuEditIntItem(tr("Size"), &nSize, 10, MAXFONTSIZE));
#if VDRVERSNUM < 10503 || VDRVERSNUM >= 10505
- //VDR >1.5.2 cant's set TTF width
- Add(new cMenuEditIntItem(tr("Width"), &nWidth, 80, 120));
+ //VDR 1.5.2 - 1.5.4 can't set TTF width
+ Add(new cMenuEditIntItem(tr("Width"), &nWidth, 50, 150));
#endif
SetCurrent(Get(current));
} else {
@@ -453,11 +525,19 @@ eOSState cMenuSetupTTF::ProcessKey(eKeys Key)
void cMenuSetupTTF::Store(void)
{
+#if VDRVERSNUM < 10504
if (data && availTTFs) {
strncpy(data->Name, availTTFs[nFont], sizeof(data->Name));
data->Width = nWidth;
data->Size = nSize;
}
+#else // VDRVERSNUM >= 10504
+ if (data) {
+ Utf8Strn0Cpy(data->Name, (*fontList)[nFont], sizeof(data->Name));
+ data->Width = nWidth;
+ data->Size = nSize;
+ }
+#endif // VDRVERSNUM < 10504
}
#endif
@@ -473,6 +553,13 @@ cMenuSetupFonts::cMenuSetupFonts(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr("Fo
allVdrFonts[2] = tr("Default Fixed Size Font");
allVdrFonts[3] = tr("Default Small Font");
+#ifdef HAVE_FREETYPE
+#if VDRVERSNUM >= 10504
+ cFont::GetAvailableFontNames(&fontMonoNames, true);
+ cFont::GetAvailableFontNames(&fontNames);
+#endif
+#endif
+
Set();
}
@@ -486,7 +573,11 @@ eOSState cMenuSetupFonts::ProcessKey(eKeys Key)
#ifdef HAVE_FREETYPE
if (state == osUnknown && Key == kBlue && data->allFonts[Current()].VdrId == FONT_TRUETYPE) {
+#if VDRVERSNUM < 10504
state = AddSubMenu(new cMenuSetupTTF(&data->allFonts[Current()]));
+#else // VDRVERSNUM >= 10504
+ state = AddSubMenu(new cMenuSetupTTF(&data->allFonts[Current()], strncmp(Get(Current())->Text(), tr("Fixed Font"), strlen(tr("Fixed Font"))) == 0 ? &fontMonoNames : &fontNames));
+#endif
} else {
if (!HasSubMenu() && data->allFonts[Current()].VdrId == FONT_TRUETYPE)
SetHelp(NULL, NULL, NULL, tr("Button$Set"));
@@ -533,7 +624,7 @@ void cMenuSetupFonts::Set(void)
SetHelp(NULL, NULL, NULL, NULL);
}
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
+#ifdef USE_PLUGIN_EPGSEARCH
// Setup: EpgSearch
cMenuSetupEpgSearch::cMenuSetupEpgSearch(cEnigmaConfig* Data) : cMenuSetupSubMenu(tr("EPGSearch"), Data)
{
@@ -554,10 +645,21 @@ void cMenuSetupEpgSearch::Set(void)
int current = Current();
Clear();
- Add(new cMenuEditIntItem(tr("Number of Reruns"), &data->numReruns, 0, 10));
- Add(new cMenuEditStraItem(tr("Use Subtitle for reruns"), &data->useSubtitleRerun, 3, useSubtitleRerunTexts));
- if (data->showInfo) {
- Add(new cMenuEditBoolItem(tr("Show timer conflicts"), &data->showTimerConflicts));
+ cPlugin *pEPGsearchPlugin = cPluginManager::GetPlugin("epgsearch");
+ if (pEPGsearchPlugin != NULL) {
+ if (pEPGsearchPlugin->Service(EPGSEARCH_SEARCHRESULTS_SERVICE_STRING_ID)) {
+ Add(new cMenuEditIntItem(tr("Number of Reruns"), &data->numReruns, 0, 10));
+ Add(new cMenuEditStraItem(tr("Use Subtitle for reruns"), &data->useSubtitleRerun, 3, useSubtitleRerunTexts));
+ } else {
+ Add(new cOsdItem(EPGSEARCH_SEARCHRESULTS_SERVICE_STRING_ID " service not found!", osUnknown, false));
+ }
+ if (data->showInfo) {
+ if (pEPGsearchPlugin->Service(EPGSEARCH_LASTCONFLICTINFO_SERVICE_STRING_ID)) {
+ Add(new cMenuEditBoolItem(tr("Show timer conflicts"), &data->showTimerConflicts));
+ } else {
+ Add(new cOsdItem(EPGSEARCH_LASTCONFLICTINFO_SERVICE_STRING_ID " service not found!", osUnknown, false));
+ }
+ }
}
SetCurrent(Get(current));
diff --git a/setup.h b/setup.h
index de4f019..bc0e195 100644
--- a/setup.h
+++ b/setup.h
@@ -35,6 +35,7 @@ class cMenuSetupGeneral : public cMenuSetupSubMenu {
private:
const char *showRemainingTexts[3];
const char *showRecSizeTexts[3];
+ const char *statusLineModeTexts[3];
protected:
virtual eOSState ProcessKey(eKeys Key);
void Set(void);
@@ -75,19 +76,35 @@ private:
int nFont;
int nWidth;
int nSize;
+#if VDRVERSNUM < 10504
const char **availTTFs;
int nMaxTTFs;
+#else // VDRVERSNUM >= 10504
+ cStringList *fontList;
+#endif // VDRVERSNUM < 10504
protected:
virtual eOSState ProcessKey(eKeys Key);
void Set(void);
void Store(void);
public:
+#if VDRVERSNUM < 10504
cMenuSetupTTF(FontInfo *fontinfo);
+#else // VDRVERSNUM >= 10504
+ cMenuSetupTTF(FontInfo *fontinfo, cStringList* fontList);
+#endif // VDRVERSNUM < 10504
};
#endif
class cMenuSetupFonts : public cMenuSetupSubMenu {
+private:
+#ifdef HAVE_FREETYPE
+#if VDRVERSNUM >= 10504
+ cStringList fontNames;
+ cStringList fontMonoNames;
+#endif
+#endif
+
protected:
virtual eOSState ProcessKey(eKeys Key);
void Set(void);
@@ -96,7 +113,7 @@ public:
virtual ~cMenuSetupFonts(void);
};
-#ifdef SKINENIGMA_HAVE_EPGSEARCH
+#ifdef USE_PLUGIN_EPGSEARCH
class cMenuSetupEpgSearch : public cMenuSetupSubMenu {
private:
const char *useSubtitleRerunTexts[3];
diff --git a/skinenigmang.c b/skinenigmang.c
index 5e207ea..000578e 100644
--- a/skinenigmang.c
+++ b/skinenigmang.c
@@ -24,8 +24,8 @@
#warning "YOU NEED A PATCHED VDR 1.5.3 OR EnigmaNG WILL CRASH!"
#endif
-static const char VERSION[] = "0.0.5";
-static const char DESCRIPTION[] = "EnigmaNG skin";
+static const char VERSION[] = "0.0.6";
+static const char DESCRIPTION[] = trNOOP("EnigmaNG skin");
class cPluginSkinEnigma : public cPlugin {
private:
@@ -140,7 +140,11 @@ bool cPluginSkinEnigma::Start(void)
{
// start any background activities the plugin shall perform.
debug("cPluginSkinEnigma::Start()");
+
+#if VDRVERSNUM < 10507
RegisterI18n(Phrases);
+#endif
+
if (!fLogodirSet) {
// set logo directory
EnigmaConfig.SetLogoDir(cPlugin::ConfigDirectory(PLUGIN_NAME_I18N));
@@ -279,6 +283,9 @@ bool cPluginSkinEnigma::SetupParse(const char *Name, const char *Value)
else if (!strcasecmp(Name, "FontFixed")) EnigmaConfig.SetFont(FONT_FIXED, atoi(Value));
else if (!strcasecmp(Name, "FontFixedName")) EnigmaConfig.SetFont(FONT_FIXED, Value);
else if (!strcasecmp(Name, "DynOSD")) EnigmaConfig.dynOsd = atoi(Value);
+ else if (!strcasecmp(Name, "StatusLineMode")) EnigmaConfig.statusLineMode = atoi(Value);
+ else if (!strcasecmp(Name, "ShowWssSymbols")) EnigmaConfig.showWssSymbols = atoi(Value);
+ else if (!strcasecmp(Name, "ShowStatusSymbols")) EnigmaConfig.showStatusSymbols = atoi(Value);
else return false;
return true;
diff --git a/symbols/small/v_16_9.xpm b/symbols/small/v_16_9.xpm
new file mode 100644
index 0000000..c8152a4
--- /dev/null
+++ b/symbols/small/v_16_9.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_16_9_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" .. .. ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/symbols/small/v_4_3.xpm b/symbols/small/v_4_3.xpm
new file mode 100644
index 0000000..d837607
--- /dev/null
+++ b/symbols/small/v_4_3.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_4_3_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/symbols/small/v_l14_9.xpm b/symbols/small/v_l14_9.xpm
new file mode 100644
index 0000000..1e204aa
--- /dev/null
+++ b/symbols/small/v_l14_9.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_l14_9_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" .... .... ",
+" .... .... ",
+" .... .... ",
+" .... .... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/symbols/small/v_l16_9.xpm b/symbols/small/v_l16_9.xpm
new file mode 100644
index 0000000..2a5540e
--- /dev/null
+++ b/symbols/small/v_l16_9.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_l16_9_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ..... ..... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/symbols/small/v_l_16_9.xpm b/symbols/small/v_l_16_9.xpm
new file mode 100644
index 0000000..83a0784
--- /dev/null
+++ b/symbols/small/v_l_16_9.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_l_16_9_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" .... .... ",
+" .... .... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/symbols/small/v_unknown.xpm b/symbols/small/v_unknown.xpm
new file mode 100644
index 0000000..0bac452
--- /dev/null
+++ b/symbols/small/v_unknown.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * v_unknown_xpm[] = {
+"27 18 2 1",
+" c None",
+". c #B9C000",
+" ",
+" ",
+" ....................... ",
+" ....................... ",
+" .. .. ",
+" .. .... .. ",
+" .. .. .. ",
+" .. .. .. ",
+" .. .. .. ",
+" .. .. .. ",
+" .. .. .. ",
+" .. .. ",
+" .. .. .. ",
+" .. .. .. ",
+" ....................... ",
+" ....................... ",
+" ",
+" "};
diff --git a/texteffects.c b/texteffects.c
index 6f9e320..e8981ff 100644
--- a/texteffects.c
+++ b/texteffects.c
@@ -138,13 +138,12 @@ void cEnigmaTextEffects::DoEffect(tEffect *e, uint64_t nNow)
void cEnigmaTextEffects::DoScroll(tEffect *e, uint64_t nNow, bool fDrawItem)
{
// debug("cEnigmaTextEffects::DoScroll()");
- const cFont *Font = EnigmaConfig.GetFont(e->FontId, e->Font);
- if (Font->Width(e->strText.c_str()) <= e->Width) {
+ if (e->Font->Width(e->strText.c_str()) <= e->Width) {
if (fDrawItem) {
if (e->Skin)
e->Skin->DrawTitle(e->strText.c_str());
else
- osd->DrawText(e->x, e->y, e->strText.c_str(), e->ColorFg, e->ColorBg, Font, e->Width, e->Height, e->Alignment);
+ osd->DrawText(e->x, e->y, e->strText.c_str(), e->ColorFg, e->ColorBg, e->Font, e->Width, e->Height, e->Alignment);
}
if (nNow)
@@ -157,7 +156,7 @@ void cEnigmaTextEffects::DoScroll(tEffect *e, uint64_t nNow, bool fDrawItem)
if (fDrawItem) {
switch (e->nDirection) {
case 0: // Scroll from left to right
- if (Font->Width(e->strText.c_str() + e->nOffset) <= e->Width) {
+ if (e->Font->Width(e->strText.c_str() + e->nOffset) <= e->Width) {
if (EnigmaConfig.scrollMode)
e->nDirection = 2;
else
@@ -187,27 +186,26 @@ void cEnigmaTextEffects::DoScroll(tEffect *e, uint64_t nNow, bool fDrawItem)
}
if (fDrawItem) {
-// printf("SCROLL: %d %d %d/%d (%s) %d %lu %lu\n", e->nOffset, e->nDirection, Font->Width(e->strText.c_str() + e->nOffset), e->Width, e->strText.c_str() + e->nOffset, e->strText.length(), nNow, e->nNextUpdate);
+// printf("SCROLL: %d %d %d/%d (%s) %d %lu %lu\n", e->nOffset, e->nDirection, e->Font->Width(e->strText.c_str() + e->nOffset), e->Width, e->strText.c_str() + e->nOffset, e->strText.length(), nNow, e->nNextUpdate);
if (e->Skin)
e->Skin->DrawTitle(e->strText.c_str() + e->nOffset);
else
- osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorFg, e->ColorBg, Font, e->Width, e->Height);
+ osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorFg, e->ColorBg, e->Font, e->Width, e->Height);
}
}
void cEnigmaTextEffects::DoBlink(tEffect *e, uint64_t nNow, bool fDrawItem)
{
// debug("cEnigmaTextEffects::DoBlink()");
- const cFont *Font = EnigmaConfig.GetFont(e->FontId, e->Font);
if (fDrawItem) {
if (nNow) {
e->nDirection = (e->nDirection == 0 ? 1 : 0);
e->nNextUpdate = nNow + EnigmaConfig.blinkPause;
}
if (e->nDirection == 1)
- osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorFg, e->ColorBg, Font, e->Width, e->Height, e->Alignment);
+ osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorFg, e->ColorBg, e->Font, e->Width, e->Height, e->Alignment);
else
- osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorBg, e->ColorBg, Font, e->Width, e->Height, e->Alignment);
+ osd->DrawText(e->x, e->y, e->strText.c_str() + e->nOffset, e->ColorBg, e->ColorBg, e->Font, e->Width, e->Height, e->Alignment);
} else {
e->nNextUpdate = nNow + EnigmaConfig.blinkPause;
}
@@ -283,11 +281,10 @@ void cEnigmaTextEffects::ResetText(int i, tColor ColorFg, tColor ColorBg, bool f
tEffect *e = vecEffects[i];
if (e) {
if (fDraw && osd) {
- const cFont *Font = EnigmaConfig.GetFont(e->FontId, e->Font);
osd->DrawText(e->x, e->y, e->strText.c_str(),
ColorFg ? ColorFg : e->ColorFg,
ColorBg ? ColorBg : e->ColorBg,
- Font, e->Width, e->Height);
+ e->Font, e->Width, e->Height);
}
delete(e);
vecEffects[i] = NULL;
@@ -311,7 +308,7 @@ void cEnigmaTextEffects::UpdateTextWidth(int i, int Width)
}
}
-int cEnigmaTextEffects::DrawAnimatedTitle(int o_id, int action, const char *s, int Width, cSkinEnigmaOsd *skin)
+int cEnigmaTextEffects::DrawAnimatedTitle(int o_id, int action, const char *s, int Width, cSkinEnigmaThreadedOsd *skin)
{
//Must be TE_LOCKed by caller
@@ -349,7 +346,6 @@ int cEnigmaTextEffects::DrawAnimatedTitle(int o_id, int action, const char *s, i
effect->nAction = action;
effect->strText = std::string(s ? s : "");
effect->Width = Width;
- effect->FontId = FONT_OSDTITLE;;
effect->Font = Font;
effect->Skin = skin;
vecEffects.push_back(effect);
@@ -360,7 +356,7 @@ int cEnigmaTextEffects::DrawAnimatedTitle(int o_id, int action, const char *s, i
}
}
-int cEnigmaTextEffects::DrawAnimatedText(int o_id, int action, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int FontId, int Width, int Height, int Alignment)
+int cEnigmaTextEffects::DrawAnimatedText(int o_id, int action, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width, int Height, int Alignment)
{
//Must be TE_LOCKed by caller
@@ -386,7 +382,6 @@ int cEnigmaTextEffects::DrawAnimatedText(int o_id, int action, int x, int y, con
return -1;
}
} else {
- const cFont *Font = EnigmaConfig.GetFont(FontId);
if (Height == 0)
Height = Font->Height(s);
osd->DrawText(x, y, s ? s : "", ColorFg, ColorBg, Font, Width, Height, Alignment);
@@ -404,7 +399,6 @@ int cEnigmaTextEffects::DrawAnimatedText(int o_id, int action, int x, int y, con
effect->Height = Height;
effect->ColorFg = ColorFg;
effect->ColorBg = ColorBg;
- effect->FontId = FontId;
effect->Font = Font;
effect->Alignment = Alignment;
vecEffects.push_back(effect);
diff --git a/texteffects.h b/texteffects.h
index 0eda97e..ee7ed4b 100644
--- a/texteffects.h
+++ b/texteffects.h
@@ -65,15 +65,14 @@ private:
std::string strText;
int x, y, Width, Height;
tColor ColorFg, ColorBg;
- int FontId;
const cFont *Font;
int Alignment;
- cSkinEnigmaOsd *Skin;
+ cSkinEnigmaThreadedOsd *Skin;
public:
tEffect(void) : nAction(0), nOffset(0), nDirection(0),
nNextUpdate(0), x(0), y(0), Width(0), Height(0),
- ColorFg(0), ColorBg(0), FontId(fontOsd + 1), Font(NULL),
+ ColorFg(0), ColorBg(0), Font(NULL),
Alignment(taDefault), Skin(NULL)
{};
};
@@ -116,8 +115,8 @@ public:
void ResetText(int i, tColor ColorFg = 0, tColor ColorBg = 0, bool fDraw = true);
void PauseEffects(int y = 0);
void UpdateTextWidth(int i, int Width);
- int DrawAnimatedTitle(int o_id, int action, const char *s, int Width, cSkinEnigmaOsd *skin);
- int DrawAnimatedText(int o_id, int action, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int FontId, int Width = 0, int Height = 0, int Alignment = taDefault);
+ int DrawAnimatedTitle(int o_id, int action, const char *s, int Width, cSkinEnigmaThreadedOsd *skin);
+ int DrawAnimatedText(int o_id, int action, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width = 0, int Height = 0, int Alignment = taDefault);
void UpdateLock(void)
{
diff --git a/themes/EnigmaNG-Black.theme b/themes/EnigmaNG-Black.theme
new file mode 100644
index 0000000..7123305
--- /dev/null
+++ b/themes/EnigmaNG-Black.theme
@@ -0,0 +1,55 @@
+Description = Black
+clrBackground = EE3e4044 #496DCC
+clrAltBackground = EE25252a #393D8C
+clrTitleBg = EE37383a #5f6064 #4158BC
+clrLogoBg = EE3e4044 #575758 #496DAC
+clrBottomBg = EE37383a #5f6064 #1D2F7D
+
+clrBotProgBarBg = FF808080
+clrBotProgBarFg = EE9cea6d #C4C400
+
+clrMenuTxtFg = FFDDDDDD
+clrTitleFg = FFDDDDDD
+clrTitleShadow = FF000000
+
+clrSymbolActive = FF90ec58 #C4C400
+clrSymbolInactive = FF808080
+clrSymbolRecord = FFC40000
+clrSymbolRecordBg = FFDDDDDD
+clrSymbolTimerActive = FF0000C4
+clrSymbolVpsActive = FF90ec58 #C4C400
+clrSymbolRecActive = FFC40000
+clrSymbolRunActive = FF90ec58 #00C400
+
+clrButtonRedFg = FFDDDDDD
+clrButtonRedBg = E8C40000
+clrButtonGreenFg = FF111111
+clrButtonGreenBg = E800C400
+clrButtonYellowFg = FF111111
+clrButtonYellowBg = E8C4C400
+clrButtonBlueFg = FFDDDDDD
+clrButtonBlueBg = E80000C4
+
+clrMessageStatusFg = FF111111
+clrMessageStatusBg = E89cff70 #C4C400
+clrMessageInfoFg = FF111111
+clrMessageInfoBg = E89cff70 #C4C400
+clrMessageWarningFg = FF111111
+clrMessageWarningBg = E8C4C400
+clrMessageErrorFg = FF111111
+clrMessageErrorBg = E8d2544d #C4C400
+
+clrVolumeBar = FF33CC33
+clrVolumeBarMute = EE496DCC
+
+clrMenuItemSelectableFg = FFDDDDDD
+clrMenuItemNotSelectableFg = FFAFAFCF
+
+clrReplayCurrent = EE8d8d93 #C3CAFA
+clrReplayTotal = EE8d8d93 #C3CAFA
+clrReplayModeJump = EE8d8d93 #C3CAFA
+clrReplayBarAreaBg = EE5c5d61 #496DCC
+clrReplayProgressSeen = EE33CC33
+clrReplayProgressRest = EE515255 #496DCC
+clrReplayProgressSelected = EE1d1e38 #292D5C
+clrReplayProgressMark = EE292D5C
diff --git a/themes/EnigmaNG-Grey.theme b/themes/EnigmaNG-Grey.theme
new file mode 100644
index 0000000..9feb7c1
--- /dev/null
+++ b/themes/EnigmaNG-Grey.theme
@@ -0,0 +1,47 @@
+Description = Grey
+clrBackground = EE3e4044
+clrAltBackground = EE25252a
+clrTitleBg = EE5f6064
+clrLogoBg = EE575758
+clrBottomBg = EE5f6064
+clrBotProgBarBg = FF808080
+clrBotProgBarFg = EE9cea6d
+clrMenuTxtFg = FFDDDDDD
+clrTitleFg = FFDDDDDD
+clrTitleShadow = FF000000
+clrSymbolActive = FF90ec58
+clrSymbolInactive = FF808080
+clrSymbolRecord = FFC40000
+clrSymbolRecordBg = FFDDDDDD
+clrSymbolTimerActive = FF0000C4
+clrSymbolVpsActive = FF90ec58
+clrSymbolRecActive = FFC40000
+clrSymbolRunActive = FF90ec58
+clrButtonRedFg = FFDDDDDD
+clrButtonRedBg = E8C40000
+clrButtonGreenFg = FF111111
+clrButtonGreenBg = E800C400
+clrButtonYellowFg = FF111111
+clrButtonYellowBg = E8C4C400
+clrButtonBlueFg = FFDDDDDD
+clrButtonBlueBg = E80000C4
+clrMessageStatusFg = FF111111
+clrMessageStatusBg = E89cff70
+clrMessageInfoFg = FF111111
+clrMessageInfoBg = E89cff70
+clrMessageWarningFg = FF111111
+clrMessageWarningBg = E8C4C400
+clrMessageErrorFg = FF111111
+clrMessageErrorBg = E8d2544d
+clrVolumeBar = FF33CC33
+clrVolumeBarMute = EE496DCC
+clrMenuItemSelectableFg = FFDDDDDD
+clrMenuItemNotSelectableFg = FFAFAFCF
+clrReplayCurrent = EE8d8d93
+clrReplayTotal = EE8d8d93
+clrReplayModeJump = EE8d8d93
+clrReplayBarAreaBg = EE5c5d61
+clrReplayProgressSeen = EE33CC33
+clrReplayProgressRest = EE515255
+clrReplayProgressSelected = EE1d1e38
+clrReplayProgressMark = EE292D5C