Merge remote branch 'remotes/origin/pootle-import'
authorghost <andreas.monzner@multimedia-labs.de>
Mon, 13 Dec 2010 14:19:35 +0000 (15:19 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Mon, 13 Dec 2010 14:19:35 +0000 (15:19 +0100)
174 files changed:
.gitignore
COPYING [new file with mode: 0644]
Makefile.am
README
acinclude.m4 [deleted file]
autogen.sh
config.h.in [deleted file]
configure.ac [changed mode: 0755->0644]
data/Makefile.am
data/defaults/Dream/Makefile.am
data/defaults/Dream/dm500hd.info
data/defaults/Dream/dm7020hd.info [new file with mode: 0644]
data/defaults/Dream/dm7025.info
data/defaults/Dream/dm800.info
data/defaults/Dream/dm8000.info
data/defaults/Dream/dm800se.info
data/defaults/Dream/settings.7020hd [new file with mode: 0644]
data/defaults/Dream/settings.c [new file with mode: 0644]
data/defaults/Dream/settings.t [new file with mode: 0644]
data/defaultsatlists.xml
data/fonts/Makefile.am
data/fonts/tuxtxt.ttf [new file with mode: 0644]
data/keymaps/Makefile.am [new file with mode: 0644]
data/keymaps/dream-de.info [new file with mode: 0644]
data/keymaps/dream-de.kmap [new file with mode: 0644]
data/keymaps/eng.info [new file with mode: 0644]
data/keymaps/eng.kmap [new file with mode: 0644]
data/skin.xml
data/skin_default.xml
data/skin_default/icons/Makefile.am
debug [deleted file]
debug.gdb [deleted file]
enigma2.bb [new file with mode: 0644]
include/Makefile.am
lib/actions/.gitignore [new file with mode: 0644]
lib/actions/Makefile.am
lib/actions/action.h
lib/actions/parseactions.py
lib/base/.gitignore [new file with mode: 0644]
lib/base/Makefile.am
lib/base/console.h
lib/base/eenv.cpp.in [new file with mode: 0644]
lib/base/eenv.h [new file with mode: 0644]
lib/base/encoding.cpp
lib/base/filepush.cpp
lib/base/filepush.h
lib/base/itssource.h [new file with mode: 0644]
lib/base/rawfile.cpp
lib/base/rawfile.h
lib/components/Makefile.am
lib/driver/Makefile.am
lib/driver/rcconsole.cpp
lib/driver/rcconsole.h
lib/driver/rcsdl.cpp [new file with mode: 0644]
lib/driver/rcsdl.h [new file with mode: 0644]
lib/dvb/Makefile.am
lib/dvb/db.cpp
lib/dvb/demux.cpp
lib/dvb/dvb.cpp
lib/dvb/dvb.h
lib/dvb/epgcache.cpp
lib/dvb/epgcache.h
lib/dvb/frontend.cpp
lib/dvb/idvb.h
lib/dvb/lowlevel/Makefile.am
lib/dvb/pmt.cpp
lib/dvb/pmt.h
lib/dvb/scan.cpp
lib/dvb/sec.cpp
lib/dvb/tstools.cpp
lib/dvb/tstools.h
lib/dvb_ci/Makefile.am
lib/dvb_ci/dvbci.cpp
lib/gdi/Makefile.am
lib/gdi/epng.cpp
lib/gdi/font.cpp
lib/gdi/font.h
lib/gdi/gfbdc.cpp
lib/gdi/gfbdc.h
lib/gdi/glcddc.cpp
lib/gdi/glcddc.h
lib/gdi/gmaindc.cpp [new file with mode: 0644]
lib/gdi/gmaindc.h [new file with mode: 0644]
lib/gdi/grc.cpp
lib/gdi/grc.h
lib/gdi/lcd.cpp
lib/gdi/picload.cpp
lib/gdi/sdl.cpp
lib/gdi/sdl.h
lib/gui/Makefile.am
lib/gui/elistboxcontent.cpp
lib/gui/ewidgetdesktop.cpp
lib/gui/ewindowstyle.cpp
lib/mmi/Makefile.am
lib/nav/Makefile.am
lib/python/.gitignore [new file with mode: 0644]
lib/python/Components/Harddisk.py [changed mode: 0755->0644]
lib/python/Components/Keyboard.py
lib/python/Components/NimManager.py
lib/python/Components/ParentalControlList.py
lib/python/Components/Renderer/Picon.py
lib/python/Components/UsageConfig.py
lib/python/Components/config.py
lib/python/Makefile.am
lib/python/Plugins/DemoPlugins/TPMDemo/Makefile.am
lib/python/Plugins/Extensions/DVDBurn/DVDProject.py
lib/python/Plugins/Extensions/DVDBurn/DreamboxDVD.ddvdp.xml
lib/python/Plugins/Extensions/DVDBurn/Text_menu_boat.ddvdm.xml
lib/python/Plugins/Extensions/DVDBurn/Thumbs_menu_clouds.ddvdm.xml
lib/python/Plugins/Extensions/DVDPlayer/Makefile.am
lib/python/Plugins/Extensions/DVDPlayer/plugin.py
lib/python/Plugins/Extensions/DVDPlayer/src/Makefile.am
lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp
lib/python/Plugins/Extensions/Makefile.am
lib/python/Plugins/Extensions/SocketMMI/src/Makefile.am
lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py
lib/python/Plugins/SystemPlugins/Hotplug/plugin.py
lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py
lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py
lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py
lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py
lib/python/Plugins/SystemPlugins/SoftwareManager/ImageWizard.py
lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py
lib/python/Plugins/SystemPlugins/TempFanControl/Makefile.am
lib/python/Plugins/SystemPlugins/TempFanControl/meta/plugin_tempfancontrol.xml
lib/python/Plugins/SystemPlugins/VideoEnhancement/meta/plugin_videoenhancement.xml
lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py
lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py
lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py
lib/python/Plugins/newplugin.py [changed mode: 0644->0755]
lib/python/Screens/ChannelSelection.py
lib/python/Screens/ParentalControlSetup.py
lib/python/Screens/ScanSetup.py
lib/python/Screens/Setup.py
lib/python/Screens/Wizard.py
lib/python/Tools/Directories.py
lib/python/Tools/NumericalTextInput.py
lib/python/connections.h
lib/python/enigma_python.i
lib/python/python.h
lib/service/Makefile.am
lib/service/iservice.h
lib/service/service.cpp
lib/service/service.h
lib/service/servicedvb.cpp
lib/service/servicedvb.h
lib/service/servicemp3.cpp
lib/service/servicemp3.h
m4/.gitignore [new file with mode: 0644]
m4/ax_pkg_swig.m4 [new file with mode: 0644]
m4/ax_pthread.m4 [new file with mode: 0644]
m4/ax_python_devel.m4 [new file with mode: 0644]
m4/ax_swig_enable_cxx.m4 [new file with mode: 0644]
m4/ax_swig_python.m4 [new file with mode: 0644]
m4/tuxbox.m4 [new file with mode: 0644]
main/.gitignore
main/Makefile.am
main/bsod.cpp [changed mode: 0755->0644]
main/enigma-gdi.cpp
main/enigma-gui.cpp
main/enigma.cpp
main/version_info.cpp [new file with mode: 0644]
main/version_info.h [new file with mode: 0644]
main/xmlgenerator.cpp [new file with mode: 0644]
main/xmlgenerator.h [new file with mode: 0644]
mytest.py
po/.gitignore [new file with mode: 0644]
po/LINGUAS [deleted file]
po/Makefile.am [changed mode: 0755->0644]
po/enigma2.pot [deleted file]
skin.py
tools/.gitignore [new file with mode: 0644]
tools/Makefile.am
tools/enigma2.sh.in [new file with mode: 0755]

index 274231a..da59fcf 100644 (file)
@@ -2,16 +2,8 @@
 # Lines that start with '#' are comments.
 # For a project mostly in C, the following would be a good set of
 # exclude patterns (uncomment them if you want to use them):
-*.[oa]
 *~
-Makefile.in
-Makefile
-*.so
-*.so.0.0
-*.cxx
-.deps
-COPYING
-INSTALL
+*.a
 aclocal.m4
 autom4te.cache/
 config.guess
@@ -20,22 +12,24 @@ config.status
 config.sub
 configure
 depcomp
+.deps/
+enigma2_config.h
+enigma2_config.h.in
 enigma2.pc
+index-enigma2.xml
+INSTALL
 install-sh
-lib/actions/actionids.h
-lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.d
-lib/python/enigma.py
-missing
-py-compile
-po/
-main/enigma2
-version.h
-*.d
 *.la
-*.lo
 .libs/
-*.tar.gz
-config.h
 libtool
+*.lo
 ltmain.sh
+Makefile
+Makefile.in
+missing
+moc_*.cpp
+*.o
+py-compile
 stamp-h1
+*.tar.bz2
+*.tar.gz
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..322cb19
--- /dev/null
+++ b/COPYING
@@ -0,0 +1 @@
+See LICENSE.
index bc1770b..ab2d163 100755 (executable)
@@ -1,14 +1,18 @@
 SUBDIRS = include lib main data po tools
 
-installdir = $(pkglibdir)/python
+ACLOCAL_AMFLAGS = -I m4
 
+installdir = $(pkglibdir)/python
 install_PYTHON = \
        Navigation.py NavigationInstance.py RecordTimer.py SleepTimer.py ServiceReference.py \
        keyids.py keymapparser.py mytest.py skin.py timer.py tools.py GlobalActions.py \
        e2reactor.py
 
-install-exec-hook:
-               $(PYTHON) $(srcdir)/tools/genmetaindex.py $(DESTDIR)$(datadir)/meta/plugin_*.xml > $(DESTDIR)$(datadir)/meta/index-enigma2.xml
+metadir = $(datadir)/meta
+meta_DATA = index-enigma2.xml
+CLEANFILES = index-enigma2.xml
+
+EXTRA_DIST = lamedb
 
-uninstall-hook:
-       $(RM) $(DESTDIR)$(datadir)/meta/index-enigma2.xml
+index-enigma2.xml: $(top_srcdir)/tools/genmetaindex.py $(top_srcdir)/lib/python/Plugins/*/*/meta/plugin_*.xml
+       $(AM_V_GEN)$(PYTHON) $^ > $@
diff --git a/README b/README
index e69de29..f745e9c 100644 (file)
--- a/README
+++ b/README
@@ -0,0 +1,59 @@
+To build enigma2 on Ubuntu 10.04, follow these steps:
+
+0.) Consider using OE to build it for a Dreambox instead.
+
+    To build this version for a Dreambox, you will need
+    a recent OE (branch "opendreambox-1.6" will do, but "3.0" won't)
+    or at least a backported BitBake recipe from there.
+
+    See http://opendreambox.org/.
+
+    Stop reading here. It's not very useful for most people
+    to build enigma2 for a PC.
+
+1.) Install these packages:
+
+autoconf
+automake
+build-essential
+gettext
+libfreetype6-dev
+libfribidi-dev
+libgif-dev
+libgstreamer0.10-dev
+libgstreamer-plugins-base0.10-dev
+libjpeg62-dev
+libpng12-dev
+libsdl1.2-dev
+libsigc++-1.2-dev
+libtool
+libxml2-dev
+libxslt1-dev
+python-dev
+swig
+
+2.) Build and install libdvbsi++:
+
+git clone git://git.opendreambox.org/git/obi/libdvbsi++.git
+cd libdvbsi++
+dpkg-buildpackage -uc -us
+cd ..
+sudo dpkg -i libdvbsi++*.deb
+
+3.) Build and install libxmlccwrap:
+
+git clone git://git.opendreambox.org/git/obi/libxmlccwrap.git
+cd libxmlccwrap
+dpkg-buildpackage -uc -us
+cd ..
+sudo dpkg -i libxmlccwrap*.deb
+
+4.) Build and install enigma2:
+
+git clone git://git.opendreambox.org/git/enigma2.git
+cd enigma2
+autoreconf -i
+./configure --prefix=$HOME/enigma2 --with-libsdl
+make
+make install
+
diff --git a/acinclude.m4 b/acinclude.m4
deleted file mode 100644 (file)
index 6f1cb0a..0000000
+++ /dev/null
@@ -1,445 +0,0 @@
-AC_DEFUN([TUXBOX_APPS],[
-
-INSTALL="$INSTALL -p"
-
-AC_GNU_SOURCE
-AC_SYS_LARGEFILE
-
-AC_ARG_WITH(target,
-       [  --with-target=TARGET    target for compilation [[native,cdk]]],
-       [TARGET="$withval"],[TARGET="native"])
-
-AC_ARG_WITH(targetprefix,
-       [  --with-targetprefix=PATH  prefix relative to target root (only applicable in cdk mode)],
-       [targetprefix="$withval"],[targetprefix="NONE"])
-
-AC_ARG_WITH(debug,
-       [  --without-debug         disable debugging code],
-       [DEBUG="$withval"],[DEBUG="yes"])
-
-if test "$DEBUG" = "yes"; then
-       DEBUG_CFLAGS="-g3 -ggdb"
-       AC_DEFINE(DEBUG,1,[Enable debug messages])
-fi
-
-AC_MSG_CHECKING(target)
-
-if test "$TARGET" = "native"; then
-       AC_MSG_RESULT(native)
-
-       if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
-               CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
-               CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS"
-       fi
-       if test "$prefix" = "NONE"; then
-               prefix=/usr/local
-       fi
-       targetprefix=$prefix
-elif test "$TARGET" = "cdk"; then
-       AC_MSG_RESULT(cdk)
-
-       if test "$CC" = "" -a "$CXX" = ""; then
-               CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++
-       fi
-       if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then
-               CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
-               CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS"
-       fi
-       if test "$prefix" = "NONE"; then
-               AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode)
-       fi
-       if test "$targetprefix" = "NONE"; then
-               targetprefix=""
-       fi
-       if test "$host_alias" = ""; then
-               cross_compiling=yes
-               host_alias=powerpc-tuxbox-linux-gnu
-       fi
-else
-       AC_MSG_RESULT(none)
-       AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]);
-fi
-
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-
-check_path () {
-       return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}")
-}
-
-])
-
-AC_DEFUN([TUXBOX_APPS_DIRECTORY_ONE],[
-AC_ARG_WITH($1,[  $6$7 [[PREFIX$4$5]]],[
-       _$2=$withval
-       if test "$TARGET" = "cdk"; then
-               $2=`eval echo "${targetprefix}$withval"`
-       else
-               $2=$withval
-       fi
-],[
-       $2="\${$3}$5"
-       if test "$TARGET" = "cdk"; then
-               _$2=`eval echo "${target$3}$5"`
-       else
-               _$2=`eval echo "${$3}$5"`
-       fi
-])
-
-dnl automake <= 1.6 don't support this
-dnl AC_SUBST($2)
-AC_DEFINE_UNQUOTED($2,"$_$2",$7)
-])
-
-AC_DEFUN([TUXBOX_APPS_DIRECTORY],[
-AC_REQUIRE([TUXBOX_APPS])
-
-if test "$TARGET" = "cdk"; then
-       datadir="\${prefix}/share"
-       tuxboxdatadir="\${prefix}/share/tuxbox"
-       zoneinfodir="\${datadir}/zoneinfo"
-       sysconfdir="\${prefix}/etc"
-       localstatedir="\${prefix}/var"
-       localedir="\${prefix}/var"
-       libdir="\${prefix}/lib"
-       targetdatadir="\${targetprefix}/share"
-       targetsysconfdir="\${targetprefix}/etc"
-       targetlocalstatedir="\${targetprefix}/var"
-       targetlibdir="\${targetprefix}/lib"
-fi
-
-TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,,
-       [--with-configdir=PATH   ],[where to find the config files])
-
-TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,,
-       [--with-datadir=PATH     ],[where to find data])
-
-TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts,
-       [--with-fontdir=PATH     ],[where to find the fonts])
-
-TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,,
-       [--with-libdir=PATH      ],[where to find the internal libs])
-])
-
-dnl automake <= 1.6 needs this specifications
-AC_SUBST(CONFIGDIR)
-AC_SUBST(DATADIR)
-AC_SUBST(FONTDIR)
-AC_SUBST(LIBDIR)
-dnl end workaround
-
-AC_DEFUN([TUXBOX_APPS_DVB],[
-AC_ARG_WITH(dvbincludes,
-       [  --with-dvbincludes=PATH  path for dvb includes [[NONE]]],
-       [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
-
-if test "$DVBINCLUDES"; then
-       CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
-fi
-
-AC_CHECK_HEADERS(ost/dmx.h,[
-       DVB_API_VERSION=1
-       AC_MSG_NOTICE([found dvb version 1])
-])
-
-if test -z "$DVB_API_VERSION"; then
-AC_CHECK_HEADERS(linux/dvb/version.h,[
-       AC_LANG_PREPROC_REQUIRE()
-       AC_REQUIRE([AC_PROG_EGREP])
-       AC_LANG_CONFTEST([AC_LANG_SOURCE([[
-#include <linux/dvb/version.h>
-version DVB_API_VERSION
-       ]])])
-       DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
-       rm -f conftest*
-
-       AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
-])
-fi
-
-if test "$DVB_API_VERSION"; then
-       AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
-       AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
-else
-       AC_MSG_ERROR([can't find dvb headers])
-fi
-])
-
-AC_DEFUN([_TUXBOX_APPS_LIB_CONFIG],[
-AC_PATH_PROG($1_CONFIG,$2,no)
-if test "$$1_CONFIG" != "no"; then
-       if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then
-               AC_MSG_$3([could not find a suitable version of $2]);
-       else
-               $1_CFLAGS=$($$1_CONFIG --cflags)
-               $1_LIBS=$($$1_CONFIG --libs)
-       fi
-fi
-
-AC_SUBST($1_CFLAGS)
-AC_SUBST($1_LIBS)
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_CONFIG],[
-_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR)
-if test "$$1_CONFIG" = "no"; then
-       AC_MSG_ERROR([could not find $2]);
-fi
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_CONFIG_CHECK],[
-_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN)
-])
-
-AC_DEFUN([TUXBOX_APPS_PKGCONFIG],[
-AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
-if test "$PKG_CONFIG" = "no" ; then
-       AC_MSG_ERROR([could not find pkg-config]);
-fi
-])
-
-AC_DEFUN([_TUXBOX_APPS_LIB_PKGCONFIG],[
-PKG_CHECK_MODULES($1,$2)
-AC_SUBST($1_CFLAGS)
-AC_SUBST($1_LIBS)
-])
-
-AC_DEFUN([_TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL],[
-PKG_CHECK_MODULES($1,$2,$3="yes",$3="no")
-if test "$$3" = "yes"; then
-       AC_DEFINE($3, 1, [$2 available])
-else
-       $1_CFLAGS=""
-       $1_LIBS=""
-fi
-AC_SUBST($1_CFLAGS)
-AC_SUBST($1_LIBS)
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_PKGCONFIG],[
-_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
-if test -z "$$1_CFLAGS" ; then
-       AC_MSG_ERROR([could not find package $2]);
-fi
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_PKGCONFIG_CHECK],[
-_TUXBOX_APPS_LIB_PKGCONFIG($1,$2)
-])
-
-AC_DEFUN([_TUXBOX_APPS_LIB_SYMBOL],[
-AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no")
-if test "$HAVE_$1" = "yes"; then
-       $1_LIBS=-l$2
-fi
-
-AC_SUBST($1_LIBS)
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_SYMBOL],[
-_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR)
-if test "$HAVE_$1" = "no"; then
-       AC_MSG_ERROR([could not find $2]);
-fi
-])
-
-AC_DEFUN([TUXBOX_APPS_LIB_CONFIG_SYMBOL],[
-_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN)
-])
-
-AC_DEFUN([TUXBOX_APPS_GETTEXT],[
-AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-       [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
-       (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-       :)
-AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-       [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
-       (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-       :)
-
-AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:)
-
-AC_MSG_CHECKING([whether NLS is requested])
-AC_ARG_ENABLE(nls,
-       [  --disable-nls           do not use Native Language Support],
-       USE_NLS=$enableval, USE_NLS=yes)
-AC_MSG_RESULT($USE_NLS)
-AC_SUBST(USE_NLS)
-
-if test "$USE_NLS" = "yes"; then
-       AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[
-               AC_TRY_LINK([
-                       #include <libintl.h>
-                       #ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-                       #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-                       #endif
-                       extern int _nl_msg_cat_cntr;
-                       extern int *_nl_domain_bindings;
-                       ],[
-                       bindtextdomain ("", "");
-                       return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings;
-                       ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no
-               )]
-       )
-
-       if test "$gt_cv_func_gnugettext_libc" = "yes"; then
-               AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.])
-               gt_use_preinstalled_gnugettext=yes
-       else
-               USE_NLS=no
-       fi
-fi
-
-if test -f "$srcdir/po/LINGUAS"; then
-       ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS")
-fi
-
-POFILES=
-GMOFILES=
-UPDATEPOFILES=
-DUMMYPOFILES=
-for lang in $ALL_LINGUAS; do
-       POFILES="$POFILES $srcdirpre$lang.po"
-       GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-       UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-       DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-done
-INST_LINGUAS=
-if test -n "$ALL_LINGUAS"; then
-       for presentlang in $ALL_LINGUAS; do
-               useit=no
-               if test -n "$LINGUAS"; then
-                       desiredlanguages="$LINGUAS"
-               else
-                       desiredlanguages="$ALL_LINGUAS"
-               fi
-               for desiredlang in $desiredlanguages; do
-                       case "$desiredlang" in
-                               "$presentlang"*) useit=yes;;
-                       esac
-               done
-               if test $useit = yes; then
-                       INST_LINGUAS="$INST_LINGUAS $presentlang"
-               fi
-       done
-fi
-CATALOGS=
-if test -n "$INST_LINGUAS"; then
-       for lang in $INST_LINGUAS; do
-               CATALOGS="$CATALOGS $lang.gmo"
-       done
-fi
-AC_SUBST(POFILES)
-AC_SUBST(GMOFILES)
-AC_SUBST(UPDATEPOFILES)
-AC_SUBST(DUMMYPOFILES)
-AC_SUBST(CATALOGS)
-])
-
-dnl backward compatiblity
-AC_DEFUN([AC_GNU_SOURCE],
-[AH_VERBATIM([_GNU_SOURCE],
-[/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif])dnl
-AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
-AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-AC_DEFINE([_GNU_SOURCE])
-])
-
-AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])
-
-AC_DEFUN([AC_PYTHON_DEVEL],[
-       #
-       # should allow for checking of python version here...
-       #
-       if test $cross_compiling = "yes"; then
-               # Check for Python include path
-               AC_MSG_CHECKING([for Python include path])
-               
-               # FIXME: yes, this is wrong. sorry about that. (tmbinc)
-               cross_PYTHON_VERSION=$PYTHON_VERSION
-               python_path=
-               for i in $CPPFLAGS ; do
-                       p=`echo $i | sed "s,^-I,,"`
-                       p=`echo $p | sed "s,^-isystem,,"`
-                       if test -f "$p/python$cross_PYTHON_VERSION/Python.h"; then
-                               python_path="$p/python$cross_PYTHON_VERSION"
-                               break
-                       fi
-               done
-               AC_MSG_RESULT([$python_path])
-               if test -z "$python_path" ; then
-                                               AC_MSG_ERROR([cannot find Python include path])
-               fi
-               AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path])
-
-               # Check for Python library path
-               AC_MSG_CHECKING([for Python library path])
-               python_path=
-               for i in $LDFLAGS; do
-                       l=`echo $i | sed "s,^-L,,"`
-                       python_path=`find $l -type f -name libpython$cross_PYTHON_VERSION.* -print | sed "1q"`
-                       if test -n "$python_path" ; then
-                               break
-                       fi
-               done
-               python_path=`echo $python_path | sed "s,/libpython.*$,,"`
-               AC_MSG_RESULT([$python_path])
-               if test -z "$python_path" ; then
-                                               AC_MSG_ERROR([cannot find Python library path])
-               fi
-               AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$cross_PYTHON_VERSION"])
-               #
-               python_site=`echo $python_path | sed "s/config/site-packages/"`
-               AC_SUBST([PYTHON_SITE_PKG],[$python_site])
-       else
-               AC_REQUIRE([AM_PATH_PYTHON])
-
-               # Check for Python include path
-               AC_MSG_CHECKING([for Python include path])
-               python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
-               for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do
-                       python_path=`find $i -type f -name Python.h -print | sed "1q"`
-                       if test -n "$python_path" ; then
-                               break
-                       fi
-               done
-               python_path=`echo $python_path | sed "s,/Python.h$,,"`
-               AC_MSG_RESULT([$python_path])
-               if test -z "$python_path" ; then
-                       AC_MSG_ERROR([cannot find Python include path])
-               fi
-               AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path])
-
-               # Check for Python library path
-               AC_MSG_CHECKING([for Python library path])
-               python_path=`echo $PYTHON | sed "s,/bin.*$,,"`
-               for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
-                       python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
-                       if test -n "$python_path" ; then
-                               break
-                       fi
-               done
-               python_path=`echo $python_path | sed "s,/libpython.*$,,"`
-               AC_MSG_RESULT([$python_path])
-               if test -z "$python_path" ; then
-                       AC_MSG_ERROR([cannot find Python library path])
-               fi
-               AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"])
-               #
-               python_site=`echo $python_path | sed "s/config/site-packages/"`
-               AC_SUBST([PYTHON_SITE_PKG],[$python_site])
-       fi
-])
index 584a74e..68f4a17 100755 (executable)
@@ -1,60 +1,2 @@
 #!/bin/sh
-
-package="enigma2"
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-cd "$srcdir"
-DIE=0
-
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
-       echo
-       echo "You must have autoconf installed to compile $package."
-       echo "Download the appropriate package for your system,"
-       echo "or get the source from one of the GNU ftp sites"
-       echo "listed in http://www.gnu.org/order/ftp.html"
-       DIE=1
-}
-
-(automake --version) < /dev/null > /dev/null 2>&1 || {
-       echo
-       echo "You must have automake installed to compile $package."
-       echo "Download the appropriate package for your system,"
-       echo "or get the source from one of the GNU ftp sites"
-       echo "listed in http://www.gnu.org/order/ftp.html"
-       DIE=1
-}
-
-(libtool --version) < /dev/null > /dev/null 2>&1 || {
-       echo
-       echo "You must have libtool installed to compile $package."
-       echo "Download the appropriate package for your system,"
-       echo "or get the source from one of the GNU ftp sites"
-       echo "listed in http://www.gnu.org/order/ftp.html"
-       DIE=1
-}
-
-if test "$DIE" -eq 1; then
-       exit 1
-fi
-
-if [ ! -e acinclude.m4 ]; then
-       for i in .. ../.. ../../..; do
-               if [ -e `pwd`/$i/acinclude.m4 ]; then
-                       ln -s `pwd`/$i/acinclude.m4 .
-               fi
-       done
-fi
-
-echo "Generating configuration files for $package, please wait...."
-
-echo "  aclocal"
-aclocal
-echo "  libtoolize --automake"
-libtoolize --automake
-echo "  autoconf"
-autoconf
-echo "  automake --add-missing"
-automake --add-missing 
-
+autoreconf -i
diff --git a/config.h.in b/config.h.in
deleted file mode 100644 (file)
index 3564836..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* where to find the config files */
-#undef CONFIGDIR
-
-/* where to find data */
-#undef DATADIR
-
-/* Enable debug messages */
-#undef DEBUG
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
-
-/* where to find the fonts */
-#undef FONTDIR
-
-/* where games data is stored */
-#undef GAMESDIR
-
-/* Define to 1 if you have the dvb includes */
-#undef HAVE_DVB
-
-/* Define to the version of the dvb api */
-#undef HAVE_DVB_API_VERSION
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <linux/dvb/version.h> header file. */
-#undef HAVE_LINUX_DVB_VERSION_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <ost/dmx.h> header file. */
-#undef HAVE_OST_DMX_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* where to find the internal libs */
-#undef LIBDIR
-
-/* where to find locales */
-#undef LOCALEDIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* where to find the plugins */
-#undef PLUGINDIR
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* where to find tuxbox data */
-#undef TUXBOXDATADIR
-
-/* Version number of package */
-#undef VERSION
-
-/* With SDL */
-#undef WITH_SDL
-
-/* where to find zoneinfo db */
-#undef ZONEINFODIR
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
old mode 100755 (executable)
new mode 100644 (file)
index 35fad77..48fea64
@@ -1,89 +1,99 @@
-AC_INIT(enigma2,2.4)
-AM_INIT_AUTOMAKE(enigma2,2.4)
+AC_INIT([enigma2],[2.8.0],[enigma2-devel@lists.elitedvb.net])
+AM_INIT_AUTOMAKE([dist-bzip2 no-define tar-pax -Wno-portability])
+AC_CONFIG_HEADERS([enigma2_config.h])
 
-TUXBOX_APPS
-TUXBOX_APPS_DIRECTORY
+# Silent rules are available since 1.11, but older versions
+# are still in use. So don't use them unconditionally.
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
 
 AC_PROG_CC
 AC_PROG_CXX
-AC_PROG_RANLIB
+m4_ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL])
+AC_CONFIG_MACRO_DIR([m4])
 
-AC_ARG_WITH(libsdl,
-       AC_HELP_STRING([--with-libsdl], [use sdl, yes or no]),
-       [[withsdl=$withval]],
-       [[withsdl=yes]]
-)
-
-AC_CHECK_HEADER(dreamdvd/ddvdlib.h,have_ddvdlib="yes",have_ddvdlib="no")
-if test x"${have_ddvdlib}" = xyes ; then
-       AC_DEFINE(HAVE_DDVDLIB, 1,[Define if ddvdlib is available])
-else
-       AC_MSG_NOTICE([ddvdlib not found... dont build dvd plugin])
+AC_CHECK_HEADERS([dbox/fp.h dbox/lcd-ks0713.h])
+
+AC_PATH_PROG(MSGFMT,[msgfmt])
+AC_PATH_PROG(MSGINIT,[msginit])
+AC_PATH_PROG(MSGMERGE,[msgmerge])
+AC_PATH_PROG(MSGUNIQ,[msguniq])
+AC_PATH_PROG(XGETTEXT,[xgettext])
+if test -z "$MSGFMT" -o -z "$MSGINIT" -o -z "$MSGMERGE" -o -z "$MSGUNIQ" -o -z "$XGETTEXT"; then
+       AC_MSG_ERROR([Could not find required gettext tools])
 fi
-AM_CONDITIONAL(HAVE_DDVDLIB, test "$have_ddvdlib" = "yes")
 
-AM_PATH_PYTHON()
-AC_PYTHON_DEVEL
-#AM_PATH_XINE(1.1.0,, AC_MSG_ERROR([*** Please install xine-lib (devel) first ***]))
+AM_PATH_PYTHON
+AX_PYTHON_DEVEL
+AX_PKG_SWIG
+AX_SWIG_ENABLE_CXX
+AX_SWIG_PYTHON
+AX_PTHREAD
 
 TUXBOX_APPS_DVB
 
-_TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL(FREETYPE, freetype2, HAVE_FREETYPE2)
-if test "$HAVE_FREETYPE2" = "no" ; then
-       TUXBOX_APPS_LIB_CONFIG(FREETYPE, freetype-config)
+AM_CONDITIONAL(HAVE_GIT_DIR, test -d "$srcdir/.git")
+AM_CONDITIONAL(HAVE_FAKE_GIT_DIR, test -f "$srcdir/.git/last_commit_info")
+
+PKG_CHECK_MODULES(BASE, [freetype2 fribidi gstreamer-0.10 gstreamer-pbutils-0.10 libdvbsi++ libpng libxml-2.0 sigc++-1.2])
+PKG_CHECK_MODULES(LIBDDVD, libdreamdvd, HAVE_LIBDDVD="yes", HAVE_LIBDDVD="no")
+AM_CONDITIONAL(HAVE_LIBDDVD, test "$HAVE_LIBDDVD" = "yes")
+
+AC_CHECK_LIB([dl], [dlopen], [LIBDL_LIBS="-ldl"], [AC_MSG_ERROR([Could not find libdl])])
+AC_SUBST(LIBDL_LIBS)
+AC_CHECK_LIB([jpeg], [jpeg_set_defaults], [LIBJPEG_LIBS="-ljpeg"], [AC_MSG_ERROR([Could not find libjpeg])])
+AC_SUBST(LIBJPEG_LIBS)
+AC_CHECK_LIB([ungif], [DGifOpen], [LIBGIF_LIBS="-lungif"], [AC_CHECK_LIB([gif], [DGifOpen], [LIBGIF_LIBS="-lgif"], [AC_MSG_ERROR([Could not find libgif or libungif])])])
+AC_SUBST(LIBGIF_LIBS)
+
+AC_LANG_PUSH([C++])
+AC_CHECK_LIB([xmlccwrap], [exit], [LIBXMLCCWRAP_LIBS="-lxmlccwrap"], [AC_MSG_ERROR([Could not find libxmlccwrap])])
+AC_SUBST(LIBXMLCCWRAP_LIBS)
+AC_LANG_POP
+
+AC_ARG_WITH(libsdl,
+       AS_HELP_STRING([--with-libsdl],[use libsdl, yes or no]),
+       [with_libsdl=$withval],[with_libsdl=no])
+if test "$with_libsdl" = "yes"; then
+       PKG_CHECK_MODULES(LIBSDL, sdl)
 fi
-TUXBOX_APPS_LIB_PKGCONFIG(FRIBIDI,fribidi)
-TUXBOX_APPS_LIB_PKGCONFIG(ID3TAG,id3tag)
-TUXBOX_APPS_LIB_PKGCONFIG(MAD,mad)
-#TUXBOX_APPS_LIB_PKGCONFIG(PLUGINS,tuxbox-plugins)
-TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng)
-TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-1.2)
-TUXBOX_APPS_LIB_PKGCONFIG(DVBSI,libdvbsi++)
-_TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL(GSTREAMER,gstreamer,HAVE_GSTREAMER)
-_TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL(GSTREAMERPBUTILS,gstreamer-pbutils,HAVE_GSTSTREAMERPBUTILS)
-_TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL(LIBXINE,libxine,HAVE_LIBXINE)
-AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
-JPEG_LIBS="-ljpeg"
-AC_SUBST(JPEG_LIBS)
-
-AC_SUBST(LIBUNGIF_LIBS,"")
-AC_CHECK_HEADERS(gif_lib.h,
-       AC_CHECK_LIB(ungif,DGifOpen,
-       [AC_DEFINE(HAVE_LIBUNGIF,1,[Define if you have libgif/libungif including devel headers])
-               LIBUNGIF_LIBS="-lungif"],
-               [AC_CHECK_LIB(gif,DGifOpen,
-                       [AC_DEFINE(HAVE_LIUNBGIF,1)
-                       LIBUNGIF_LIBS="-lgif"])]))
-
-TUXBOX_APPS_LIB_PKGCONFIG(XML2,libxml-2.0)
-
-# ok, we are in trouble: XMLCCWRAP only defines C++ symbols. So let's just check if linking works,
-# and assume everything will be ok. Then just check for the "exit" symbol, which should be always there.
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-TUXBOX_APPS_LIB_SYMBOL(XMLCCWRAP, xmlccwrap, exit)
-AC_LANG_RESTORE
-
-if test "$withsdl" = "yes" ; then
-       _TUXBOX_APPS_LIB_PKGCONFIG_OPTIONAL(SDL,sdl,WITH_SDL)
-       if test "$WITH_SDL" = "no" ; then
-               TUXBOX_APPS_LIB_CONFIG(SDL,sdl-config)
-               AC_DEFINE_UNQUOTED([WITH_SDL],[$withsdl],[With SDL])
-       fi
+AM_CONDITIONAL(HAVE_LIBSDL, test "$with_libsdl" = "yes")
+
+AC_ARG_WITH(libxine,
+       AS_HELP_STRING([--with-libxine],[use libxine, yes or no]),
+       [with_libxine=$withval],[with_libxine=no])
+if test "$with_libxine" = "yes"; then
+       PKG_CHECK_MODULES(LIBXINE, libxine)
+       AC_DEFINE([WITH_XINE],[1],[Define to 1 if you have libxine])
 fi
-# allow 'if WITH_SDL' conditionals in Makefile.am
-AM_CONDITIONAL(WITH_SDL, test "$WITH_SDL" = "yes")
+AM_CONDITIONAL(HAVE_LIBXINE, test "$with_libxine" = "yes")
 
-CPPFLAGS="$CPPFLAGS "'-I$(top_srcdir)'
-CPPFLAGS="$CPPFLAGS -D_REENTRANT $PYTHON_CPPFLAGS $MD5SUM_CFLAGS $FREETYPE_CFLAGS $FRIBIDI_CFLAGS $ID3TAG_CFLAGS $MAD_CFLAGS $PLUGINS_CFLAGS $PNG_CFLAGS $SDL_CFLAGS $SIGC_CFLAGS $XMLTREE_CFLAGS $DVBSI_CFLAGS $GSTREAMER_CFLAGS $GSTREAMERPBUTILS_CFLAGS $LIBXINE_CFLAGS $LIBUNGIF_CFLAGS"
-#CPPFLAGS="$CPPFLAGS -DMEMLEAK_CHECK"
-CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions -Wall"
-LDFLAGS="$LDFLAGS -pthread $PYTHON_LDFLAGS $SDL_LDFLAGS $GSTREAMER_LDFLAGS $GSTREAMERPBUTILS_LDFLAGS $LIBXINE_LDFLAGS $LIBUNGIF_LDFLAGS"
-#LDFLAGS="-rdynamic $LDFLAGS"
+AC_ARG_WITH(debug,
+       AS_HELP_STRING([--without-debug],[disable debugging code]),
+       [with_debug="$withval"],[with_debug="yes"])
+if test "$with_debug" = "yes"; then
+       DEBUG_CFLAGS="-ggdb3"
+       AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code])
+fi
 
-TUXBOX_APPS_GETTEXT
+AC_ARG_WITH(memcheck,
+       AS_HELP_STRING([--with-memcheck],[enable memory leak checks]),
+       [with_memcheck="$withval"],[with_memcheck="no"])
+if test "$with_memcheck" = "yes"; then
+       AC_DEFINE([MEMLEAK_CHECK],[1],[Define to 1 to enable memory leak checks])
+fi
 
-AC_OUTPUT([
+AC_ARG_WITH(po,
+       AS_HELP_STRING([--without-po],[disable updating of po files]),
+       [with_po="$withval"],[with_po="yes"])
+AM_CONDITIONAL(UPDATE_PO, test "$with_po" = "yes")
+
+CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
+CXXFLAGS="$CXXFLAGS $BASE_CFLAGS $PTHREAD_CFLAGS $DEBUG_CFLAGS -fno-rtti -fno-exceptions -Wall"
+
+AC_CONFIG_FILES([
 Makefile
 data/Makefile
 data/fonts/Makefile
@@ -93,6 +103,7 @@ data/defaults/Dream/Makefile
 data/defaults/Dream/hdbouquets/Makefile
 data/defaults/Dream/sdbouquets/Makefile
 data/extensions/Makefile
+data/keymaps/Makefile
 data/skin_default/Makefile
 data/skin_default/menu/Makefile
 data/skin_default/icons/Makefile
@@ -102,6 +113,7 @@ include/Makefile
 lib/Makefile
 lib/actions/Makefile
 lib/base/Makefile
+lib/base/eenv.cpp
 lib/driver/Makefile
 lib/dvb/Makefile
 lib/dvb/lowlevel/Makefile
@@ -188,8 +200,7 @@ lib/components/Makefile
 po/Makefile
 main/Makefile
 tools/Makefile
+tools/enigma2.sh
 enigma2.pc
 ])
-
-#lib/python/Plugins/Extensions/SimpleRSS/Makefile
-#lib/python/Plugins/Extensions/FileManager/Makefile
+AC_OUTPUT
index 1ed9444..0eaa082 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = countries fonts defaults extensions skin_default
+SUBDIRS = countries fonts defaults extensions keymaps skin_default
 
 dist_pkgdata_DATA = \
        defaultsatlists.xml \
index cda5583..ee66c93 100644 (file)
@@ -6,11 +6,15 @@ dist_install_DATA = \
        bouquets.tv \
        dm800se.info \
        dm500hd.info \
+       dm7020hd.info \
        dm7025.info \
        dm8000.info \
        dm800.info \
        settings.800se \
        settings.500hd \
+       settings.7020hd \
        settings.7025 \
        settings.800 \
-       settings.8000
+       settings.8000 \
+       settings.c \
+       settings.t
index b1b4d53..29d14b6 100644 (file)
                                <satellite type="192" />
                        </prerequisites>
                </file-->
-               <file type="favourites" directory="" name="bouquets.tv" />              
-               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv" />
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
                <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
        </files>
 </default>
diff --git a/data/defaults/Dream/dm7020hd.info b/data/defaults/Dream/dm7020hd.info
new file mode 100644 (file)
index 0000000..e0a1fbb
--- /dev/null
@@ -0,0 +1,46 @@
+<default>
+       <prerequisites>
+               <!-- hardware can occur more than once -->
+               <hardware type="dm7020hd" />
+       </prerequisites>
+       
+       <info>
+               <author>Dream Multimedia GmbH</author>
+               <name>Dream Multimedia Default</name>
+       </info>
+
+               <!-- available types: "directories" -->
+       <files type="directories">
+               <!--file type="skin" directory="test_skin/" flag="default" name="Default Skin" /-->
+               <file type="config" name="settings.7020hd" />
+               <!--file type="services" name="lamedb.192">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <satellite type="192" />
+                       </prerequisites>
+               </file-->
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
+               <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
+       </files>
+</default>
index a1585cf..0211199 100644 (file)
                                <satellite type="192" />
                        </prerequisites>
                </file-->
-               <file type="favourites" directory="" name="bouquets.tv" />              
-               <file type="favourites" directory="sdbouquets/" name="userbouquet.favourites.tv" />
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="sdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
                <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
        </files>
 </default>
index 4793bd8..39b0cb0 100644 (file)
                                <satellite type="192" />
                        </prerequisites>
                </file-->
-               <file type="favourites" directory="" name="bouquets.tv" />              
-               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv" />
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
                <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
        </files>
 </default>
index 2ef2013..f052226 100644 (file)
                                <satellite type="192" />
                        </prerequisites>
                </file-->
-               <file type="favourites" directory="" name="bouquets.tv" />              
-               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv" />
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
                <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
        </files>
 </default>
index 6974b12..1685ede 100644 (file)
                                <satellite type="192" />
                        </prerequisites>
                </file-->
-               <file type="favourites" directory="" name="bouquets.tv" />              
-               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv" />
+               <file type="favourites" directory="" name="bouquets.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="favourites" directory="hdbouquets/" name="userbouquet.favourites.tv">
+                       <prerequisites>
+                               <bcastsystem type="DVB-S" />
+                               <!--satellite type="192" /-->
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.c">
+                       <prerequisites>
+                               <bcastsystem type="DVB-C" />
+                       </prerequisites>
+               </file>
+               <file type="config" name="settings.t">
+                       <prerequisites>
+                               <bcastsystem type="DVB-T" />
+                       </prerequisites>
+               </file>
                <!--file type="package" directory="packages/" name="small-test_1.0_mipsel.ipk" /-->
        </files>
 </default>
diff --git a/data/defaults/Dream/settings.7020hd b/data/defaults/Dream/settings.7020hd
new file mode 100644 (file)
index 0000000..ae2963b
--- /dev/null
@@ -0,0 +1 @@
+config.misc.rcused=1
\ No newline at end of file
diff --git a/data/defaults/Dream/settings.c b/data/defaults/Dream/settings.c
new file mode 100644 (file)
index 0000000..72ab938
--- /dev/null
@@ -0,0 +1 @@
+config.tv.lastroot=1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 22) || (type == 25) || (type == 134) || (type == 195) ORDER BY name;
diff --git a/data/defaults/Dream/settings.t b/data/defaults/Dream/settings.t
new file mode 100644 (file)
index 0000000..72ab938
--- /dev/null
@@ -0,0 +1 @@
+config.tv.lastroot=1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 22) || (type == 25) || (type == 134) || (type == 195) ORDER BY name;
index 132b427..ff0ae8b 100644 (file)
@@ -12,11 +12,14 @@ self.condition = self.runWizard
 self.disableKeys = True
                </code>
        </step>
-       <step id="nopackages" nextstep="finisheddefaultsatlists">
+
+       <!--step id="nopackages" nextstep="finisheddefaultsatlists"-->
+       <step id="nopackages" nextstep="scanquestion">
                <text value="There are no default services lists in your image." />
        </step>
        
-       <step id="nothingtoinstall" nextstep="finisheddefaultsatlists">
+       <!--step id="nothingtoinstall" nextstep="finisheddefaultsatlists"-->
+       <step id="nothingtoinstall" nextstep="scanquestion">
                <condition>
 if self.runWizard:
        self.condition = True
index f743b8c..2f7e7c7 100644 (file)
@@ -1,7 +1,8 @@
-installdir = $(FONTDIR)
+installdir = $(datadir)/fonts
 
 dist_install_DATA = \
        ae_AlMateen.ttf \
        lcd.ttf \
        md_khmurabi_10.ttf \
-       nmsbd.ttf
+       nmsbd.ttf \
+       tuxtxt.ttf
diff --git a/data/fonts/tuxtxt.ttf b/data/fonts/tuxtxt.ttf
new file mode 100644 (file)
index 0000000..9be6547
Binary files /dev/null and b/data/fonts/tuxtxt.ttf differ
diff --git a/data/keymaps/Makefile.am b/data/keymaps/Makefile.am
new file mode 100644 (file)
index 0000000..8499d99
--- /dev/null
@@ -0,0 +1,6 @@
+keymapsdir = $(datadir)/keymaps
+keymaps_DATA = \
+       dream-de.info \
+       dream-de.kmap \
+       eng.info \
+       eng.kmap
diff --git a/data/keymaps/dream-de.info b/data/keymaps/dream-de.info
new file mode 100644 (file)
index 0000000..d7f5b07
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=dream-de.kmap
+name=Dreambox Keyboard Deutsch
diff --git a/data/keymaps/dream-de.kmap b/data/keymaps/dream-de.kmap
new file mode 100644 (file)
index 0000000..693317a
Binary files /dev/null and b/data/keymaps/dream-de.kmap differ
diff --git a/data/keymaps/eng.info b/data/keymaps/eng.info
new file mode 100644 (file)
index 0000000..d73372c
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=eng.kmap
+name=Keyboard English
diff --git a/data/keymaps/eng.kmap b/data/keymaps/eng.kmap
new file mode 100644 (file)
index 0000000..15a722f
Binary files /dev/null and b/data/keymaps/eng.kmap differ
index 868fbc4..b4b6cbc 100755 (executable)
                        <pixmap pos="bpBottomRight" filename="skin_default/b_br.png" />
                </borderset>
        </windowstyle>
-       <!-- Main screen colors (id=1 LCD) -->
-       <windowstyle type="skinned" id="1">
-               <color name="Background" color="#000000" />
-               <color name="LabelForeground" color="#ffffff" />
-               <color name="ListboxBackground" color="#000000" />
-               <color name="ListboxForeground" color="#ffffff" />
-               <color name="ListboxSelectedBackground" color="#000000" />
-               <color name="ListboxSelectedForeground" color="#ffffff" />
-               <color name="ListboxMarkedBackground" color="#000000" />
-               <color name="ListboxMarkedForeground" color="#ffffff" />
-               <color name="ListboxMarkedAndSelectedBackground" color="#000000" />
-               <color name="ListboxMarkedAndSelectedForeground" color="#ffffff" />
-               <color name="WindowTitleForeground" color="#ffffff" />
-               <color name="WindowTitleBackground" color="#000000" />
-       </windowstyle>
-       <windowstyle type="skinned" id="2">
-               <color name="Background" color="#000000" />
-               <color name="LabelForeground" color="#ffffff" />
-               <color name="ListboxBackground" color="#000000" />
-               <color name="ListboxForeground" color="#ffffff" />
-               <color name="ListboxSelectedBackground" color="#000000" />
-               <color name="ListboxSelectedForeground" color="#ffffff" />
-               <color name="ListboxMarkedBackground" color="#000000" />
-               <color name="ListboxMarkedForeground" color="#ffffff" />
-               <color name="ListboxMarkedAndSelectedBackground" color="#000000" />
-               <color name="ListboxMarkedAndSelectedForeground" color="#ffffff" />
-               <color name="WindowTitleForeground" color="#ffffff" />
-               <color name="WindowTitleBackground" color="#000000" />
-       </windowstyle>
        <!-- Fonts -->
        <fonts>
                <!-- <font filename="md_khmurabi_10.ttf" name="Regular" scale="90" /> -->
index e5b3132..376a4fd 100755 (executable)
@@ -1,4 +1,37 @@
 <skin>
+       <!-- Main screen colors (id=1 LCD) -->
+       <windowstyle type="skinned" id="1">
+               <color name="Background" color="#000000" />
+               <color name="LabelForeground" color="#ffffff" />
+               <color name="ListboxBackground" color="#000000" />
+               <color name="ListboxForeground" color="#ffffff" />
+               <color name="ListboxSelectedBackground" color="#000000" />
+               <color name="ListboxSelectedForeground" color="#ffffff" />
+               <color name="ListboxMarkedBackground" color="#000000" />
+               <color name="ListboxMarkedForeground" color="#ffffff" />
+               <color name="ListboxMarkedAndSelectedBackground" color="#000000" />
+               <color name="ListboxMarkedAndSelectedForeground" color="#ffffff" />
+               <color name="WindowTitleForeground" color="#ffffff" />
+               <color name="WindowTitleBackground" color="#000000" />
+       </windowstyle>
+       <!-- Main screen colors (id=2 Color OLED (dm800se)) -->
+       <windowstyle type="skinned" id="2">
+               <color name="Background" color="#000000" />
+               <color name="LabelForeground" color="#ffffff" />
+               <color name="ListboxBackground" color="#000000" />
+               <color name="ListboxForeground" color="#ffffff" />
+               <color name="ListboxSelectedBackground" color="#000000" />
+               <color name="ListboxSelectedForeground" color="#ffffff" />
+               <color name="ListboxMarkedBackground" color="#000000" />
+               <color name="ListboxMarkedForeground" color="#ffffff" />
+               <color name="ListboxMarkedAndSelectedBackground" color="#000000" />
+               <color name="ListboxMarkedAndSelectedForeground" color="#ffffff" />
+               <color name="WindowTitleForeground" color="#ffffff" />
+               <color name="WindowTitleBackground" color="#000000" />
+       </windowstyle>
+       <fonts>
+               <font filename="nmsbd.ttf" name="Display" scale="90"/>
+       </fonts>
        <!-- Screwed Stone II skin (skin_default.xml) /Nemesis -->
        <!-- About screen -->
        <screen name="About" position="center,center" size="420,350" title="About">
@@ -1136,75 +1169,75 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
 
        <!-- LCD screen (channelselection) -->
        <screen name="ChannelSelection_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.ServiceEvent" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="parent.ServiceEvent" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="parent.ServiceEvent" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Regular;32" halign="right" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Display;32" halign="right" valign="top">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Regular;16" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Display;16" valign="top">
                        <convert type="ClockToText">Format:%S</convert>
                </widget>
        </screen> 
        <!-- Color OLED screen (ChannelSelection) -->
        <screen name="ChannelSelection_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.ServiceEvent" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="parent.ServiceEvent" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
        </screen>
        <!-- LCD screen (main) -->
        <screen name="InfoBarSummary" position="0,0" size="132,64" id="1">
-               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Regular;32" halign="right" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="90,32" font="Display;32" halign="right" valign="top">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Regular;16" valign="top">
+               <widget source="global.CurrentTime" render="Label" position="100,34" zPosition="1" size="26,30" font="Display;16" valign="top">
                        <convert type="ClockToText">Format:%S</convert>
                </widget>
-               <widget source="session.RecordState" render="FixedLabel" text=" " position="6,30" zPosition="1" size="120,34">
+               <widget source="session.RecordState" render="FixedLabel" text=" " position="6,32" zPosition="1" size="126,32">
                        <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
                        <convert type="ConditionalShowHide">Blink</convert>
                </widget>
        </screen>
        <!-- Color OLED screen (main) -->
        <screen name="InfoBarSummary" position="0,0" size="96,64" id="2">
-               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,30">
+               <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,26">
                        <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
                        <convert type="ConditionalShowHide">Blink</convert>
                </widget>
        </screen>
        <!-- LCD screen (movieplayer) -->
        <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64" id="1">
-               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Regular;14" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="6,0" size="120,25" font="Display;14" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.CurrentService" render="Progress" position="16,27" size="100,5" borderWidth="1">
                        <convert type="ServicePosition">Position</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="6,32" size="120,32" font="Regular;32" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="6,32" size="120,32" font="Display;32" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" text=" " position="6,32" zPosition="1" size="120,32">
@@ -1214,87 +1247,87 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (movieplayer) -->
        <screen name="InfoBarMoviePlayerSummary" position="0,0" size="96,64" id="2">
-               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Regular;16" halign="center" valign="center" >
+               <widget source="session.CurrentService" render="Label" position="0,0" size="96,28" font="Display;16" halign="center" valign="center" >
                        <convert type="ServiceName">Name</convert>
                </widget>
                <widget source="session.Event_Now" render="Progress" position="0,30" size="96,8" borderWidth="1" backgroundColor="dark">
                        <convert type="EventTime">Progress</convert>
                </widget>
-               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Regular;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
+               <widget source="global.CurrentTime" render="Label" position="0,38" size="96,26" font="Display;32" halign="center" valign="center" foregroundColor="#FFFFFF" backgroundColor="#000000" >
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
-               <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,30">
+               <widget source="session.RecordState" render="FixedLabel" text=" " position="0,38" zPosition="1" size="96,26">
                        <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
                        <convert type="ConditionalShowHide">Blink</convert>
                </widget>
        </screen>
        <!-- LCD screen (ChoiceBox) -->
        <screen name="ChoiceBox_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.summary_list" render="Label" position="6,0" size="126,64" font="Regular;11" />
+               <widget source="parent.summary_list" render="Label" position="6,0" size="126,64" font="Display;11" />
        </screen>
        <!-- Color OLED screen (ChoiceBox) -->
        <screen name="ChoiceBox_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.summary_list" render="Label" position="0,0" size="96,64" font="Regular;10" />
+               <widget source="parent.summary_list" render="Label" position="0,0" size="96,64" font="Display;10" />
        </screen>       
        <!-- LCD screen (MessageBox) -->
        <screen name="MessageBox_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.Text" render="Label" position="0,0" size="132,52" font="Regular;11" halign="center" valign="center" />
-               <widget source="parent.selectedChoice" render="Label" position="6,50" size="120,14" font="Regular;14" halign="center" valign="center" />
+               <widget source="parent.Text" render="Label" position="0,0" size="132,52" font="Display;11" halign="center" valign="center" />
+               <widget source="parent.selectedChoice" render="Label" position="6,50" size="120,14" font="Display;14" halign="center" valign="center" />
        </screen>
        <!-- Color OLED screen (MessageBox) -->
        <screen name="MessageBox_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.Text" render="Label" position="0,0" size="96,52" font="Regular;10" halign="center" valign="center" />
-               <widget source="parent.selectedChoice" render="Label" position="0,50" size="96,14" font="Regular;12" halign="center" valign="center" />
+               <widget source="parent.Text" render="Label" position="0,0" size="96,52" font="Display;10" halign="center" valign="center" />
+               <widget source="parent.selectedChoice" render="Label" position="0,50" size="96,14" font="Display;12" halign="center" valign="center" />
        </screen>
        <!-- LCD screen (menus) -->
        <screen name="MenuSummary" position="0,0" size="132,64" id="1">
-               <widget source="parent.title" render="Label" position="6,0" size="120,32" font="Regular;14" halign="center" valign="center"/>
-               <widget source="parent.menu" render="Label" position="6,32" size="120,32" font="Regular;16" halign="center" valign="center">
+               <widget source="parent.title" render="Label" position="6,0" size="120,32" font="Display;14" halign="center" valign="center"/>
+               <widget source="parent.menu" render="Label" position="6,32" size="120,32" font="Display;16" halign="center" valign="center">
                        <convert type="StringListSelection" />
                </widget>
        </screen> 
        <!-- Color OLED screen (menus) -->
        <screen name="MenuSummary" position="0,0" size="96,64" id="2">
-               <widget source="parent.title" render="Label" position="0,0" size="96,32" font="Regular;15" halign="center" valign="center"/>
-               <widget source="parent.menu" render="Label" position="0,32" size="96,32" font="Regular;16" halign="center" valign="top">
+               <widget source="parent.title" render="Label" position="0,0" size="96,32" font="Display;15" halign="center" valign="center"/>
+               <widget source="parent.menu" render="Label" position="0,32" size="96,32" font="Display;16" halign="center" valign="top">
                        <convert type="StringListSelection" />
                </widget>
        </screen>       
        <!-- LCD screen (ServiceScan) -->
        <screen name="ServiceScanSummary" position="0,0" size="132,64" id="1">
-               <widget name="Title" position="6,4" size="120,42" font="Regular;16" transparent="1" />
-               <widget name="Service" position="6,22" size="120,26" font="Regular;12" transparent="1" />
+               <widget name="Title" position="6,4" size="120,42" font="Display;16" transparent="1" />
+               <widget name="Service" position="6,22" size="120,26" font="Display;12" transparent="1" />
                <widget name="scan_progress" position="6,50" zPosition="1" borderWidth="1" size="56,12" backgroundColor="dark" />
        </screen>
        <!-- Color OLED screen (ServiceScan) -->
        <screen name="ServiceScanSummary" position="0,0" size="96,64" id="2">
-               <widget name="Title" position="0,0" size="96,30" font="Regular;14" transparent="1" />
-               <widget name="Service" position="0,30" size="96,20" font="Regular;10" transparent="1" />
+               <widget name="Title" position="0,0" size="96,30" font="Display;14" transparent="1" />
+               <widget name="Service" position="0,30" size="96,20" font="Display;10" transparent="1" />
                <widget name="scan_progress" position="0,50" zPosition="1" borderWidth="1" size="96,12" backgroundColor="dark" />
        </screen>
        <!-- LCD screen (setup) -->
        <screen name="SetupSummary" position="0,0" size="132,64" id="1">
-               <widget source="SetupTitle" render="Label" position="6,0" size="120,16" font="Regular;12" />
-               <widget source="SetupEntry" render="Label" position="6,16" size="120,32" font="Regular;12" />
-               <widget source="SetupValue" render="Label" position="6,48" size="120,16" font="Regular;12" />
+               <widget source="SetupTitle" render="Label" position="6,0" size="120,16" font="Display;12" />
+               <widget source="SetupEntry" render="Label" position="6,16" size="120,32" font="Display;12" />
+               <widget source="SetupValue" render="Label" position="6,48" size="120,16" font="Display;12" />
        </screen>
        <!-- Color OLED screen (setup) -->
        <screen name="SetupSummary" position="0,0" size="96,64" id="2">
-               <widget source="SetupTitle" render="Label" position="0,0" size="96,16" font="Regular;10" />
-               <widget source="SetupEntry" render="Label" position="0,16" size="96,32" font="Regular;10" />
-               <widget source="SetupValue" render="Label" position="0,48" size="96,16" font="Regular;10" />
+               <widget source="SetupTitle" render="Label" position="0,0" size="96,16" font="Display;10" />
+               <widget source="SetupEntry" render="Label" position="0,16" size="96,32" font="Display;10" />
+               <widget source="SetupValue" render="Label" position="0,48" size="96,16" font="Display;10" />
        </screen>
        <!-- LCD screen (misc) -->
        <screen name="SimpleSummary" position="0,0" size="132,64" id="1">
-               <widget source="parent.Title" render="Label" position="6,0" size="120,64" font="Regular;16" halign="center" valign="center" />
+               <widget source="parent.Title" render="Label" position="6,0" size="120,64" font="Display;16" halign="center" valign="center" />
        </screen>
        <!-- Color OLED screen (misc) -->
        <screen name="SimpleSummary" position="0,0" size="96,64" id="2">
-               <widget source="parent.Title" render="Label" position="0,0" size="96,64" font="Regular;14" halign="center" valign="center" />
+               <widget source="parent.Title" render="Label" position="0,0" size="96,64" font="Display;14" halign="center" valign="center" />
        </screen>
        <!-- LCD screen (standby) -->
        <screen name="StandbySummary" position="0,0" size="132,64" id="1">
-               <widget source="global.CurrentTime" render="Label" position="6,0" size="120,64" font="Regular;40" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="6,0" size="120,64" font="Display;40" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" position="6,0" zPosition="1" size="120,64" text=" ">
@@ -1304,7 +1337,7 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- Color OLED screen (standby) -->
        <screen name="StandbySummary" position="0,0" size="96,64" id="2">
-               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Regular;38" halign="center" valign="center">
+               <widget source="global.CurrentTime" render="Label" position="0,0" size="96,64" font="Display;38" halign="center" valign="center">
                        <convert type="ClockToText">Format:%H:%M</convert>
                </widget>
                <widget source="session.RecordState" render="FixedLabel" position="0,0" zPosition="1" size="96,64" text=" ">
@@ -1314,33 +1347,33 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </screen>
        <!-- LCD screen (JobView) -->
        <screen name="JobView_summary" position="0,0" size="132,64" id="1">
-               <widget source="parent.summary_job_name" render="Label" position="6,4" size="120,42" font="Regular;16" />
-               <widget source="parent.summary_job_task" render="Label" position="6,22" size="120,26" font="Regular;12" />
+               <widget source="parent.summary_job_name" render="Label" position="6,4" size="120,42" font="Display;16" />
+               <widget source="parent.summary_job_task" render="Label" position="6,22" size="120,26" font="Display;12" />
                <widget source="parent.summary_job_progress" render="Progress" position="6,50" size="60,12" borderWidth="1" zPosition="1" />
-               <widget source="parent.summary_job_progress" render="Label" position="66,50" size="50,12" font="Regular;12" zPosition="2" halign="center" transparent="1"  >
+               <widget source="parent.summary_job_progress" render="Label" position="66,50" size="50,12" font="Display;12" zPosition="2" halign="center" transparent="1"  >
                        <convert type="ProgressToText" />
                </widget>
        </screen>
        <!-- Color OLED screen (JobView) -->
        <screen name="JobView_summary" position="0,0" size="96,64" id="2">
-               <widget source="parent.summary_job_name" render="Label" position="0,4" size="96,42" font="Regular;14" />
-               <widget source="parent.summary_job_task" render="Label" position="0,22" size="96,26" font="Regular;10" />
+               <widget source="parent.summary_job_name" render="Label" position="0,4" size="96,42" font="Display;14" />
+               <widget source="parent.summary_job_task" render="Label" position="0,22" size="96,26" font="Display;10" />
                <widget source="parent.summary_job_progress" render="Progress" position="0,50" size="60,12" borderWidth="1" zPosition="1" />
-               <widget source="parent.summary_job_progress" render="Label" position="60,50" size="36,12" font="Regular;10" zPosition="2" halign="center" transparent="1"  >
+               <widget source="parent.summary_job_progress" render="Label" position="60,50" size="36,12" font="Display;10" zPosition="2" halign="center" transparent="1"  >
                        <convert type="ProgressToText" />
                </widget>
        </screen>
        <!-- LCD screen (Wizard) -->
        <screen name="WizardSummary" position="0,0" size="132,64" id="1">
-               <widget source="text" render="Label" position="6,0" size="120,16" font="Regular;16" transparent="1" />
-               <widget source="parent.list" render="Label" position="6,18" size="120,46" font="Regular;12">
+               <widget source="text" render="Label" position="6,0" size="120,16" font="Display;16" transparent="1" />
+               <widget source="parent.list" render="Label" position="6,18" size="120,46" font="Display;12">
                        <convert type="StringListSelection" />
                </widget>
        </screen>
        <!-- Color OLED screen (Wizard) -->
        <screen name="WizardSummary" position="0,0" size="96,64" id="2">
-               <widget source="text" render="Label" position="0,0" size="96,16" font="Regular;14" transparent="1" />
-               <widget source="parent.list" render="Label" position="0,18" size="96,46" font="Regular;12">
+               <widget source="text" render="Label" position="0,0" size="96,16" font="Display;14" transparent="1" />
+               <widget source="parent.list" render="Label" position="0,18" size="96,46" font="Display;12">
                        <convert type="StringListSelection" />
                </widget>
        </screen>
index b453aa7..7a709b0 100755 (executable)
@@ -45,10 +45,10 @@ dist_install_DATA = \
        mp_buttons.png \
        network_wired.png \
        network_wired-active.png \
-       network_wired-inactive.png \    
+       network_wired-inactive.png \
        network_wireless.png \
        network_wireless-active.png \
-       network_wireless-inactive.png \ 
+       network_wireless-inactive.png \
        plugin.png \
        rass_logo.png \
        rass_page1.png \
diff --git a/debug b/debug
deleted file mode 100755 (executable)
index d247b3e..0000000
--- a/debug
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-/home/dump/tmb/oe-mono/build/tmp/work/gdb-cross-6.3-r0/install/gdb-cross/usr/local/mipsel/oe/bin/mipsel-linux-gdb main/enigma2 -x debug.gdb
-
diff --git a/debug.gdb b/debug.gdb
deleted file mode 100644 (file)
index 69cf5d0..0000000
--- a/debug.gdb
+++ /dev/null
@@ -1,3 +0,0 @@
-set solib-absolute-prefix /home/tmbinc/mips/target
-target remote 10.0.0.203:1234
-continue
diff --git a/enigma2.bb b/enigma2.bb
new file mode 100644 (file)
index 0000000..2da423c
--- /dev/null
@@ -0,0 +1,75 @@
+DESCRIPTION = "Enigma2 is an experimental, but useful framebuffer-based frontend for DVB functions"
+DESCRIPTION_append_enigma2-plugin-extensions-cutlisteditor = "enables you to cut your movies."
+DESCRIPTION_append_enigma2-plugin-extensions-graphmultiepg = "shows a graphical timeline EPG."
+DESCRIPTION_append_enigma2-plugin-extensions-pictureplayer = "displays photos on the TV."
+DESCRIPTION_append_enigma2-plugin-systemplugins-frontprocessorupdate = "keeps your frontprocessor up to date."
+DESCRIPTION_append_enigma2-plugin-systemplugins-positionersetup = "helps you installing a motorized dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satelliteequipmentcontrol = "allows you to fine-tune DiSEqC-settings."
+DESCRIPTION_append_enigma2-plugin-systemplugins-satfinder = "helps you to align your dish."
+DESCRIPTION_append_enigma2-plugin-systemplugins-skinselector = "shows a menu with selectable skins."
+DESCRIPTION_append_enigma2-plugin-systemplugins-videomode = "selects advanced video modes"
+DESCRIPTION_append_enigma2-plugin-systemplugins-crashlogautosubmit = "automatically send crashlogs to Dream Multimedia"
+DESCRIPTION_append_enigma2-plugin-systemplugins-cleanupwizard = "informs you on low internal memory on system startup."
+DESCRIPTION_append_enigma2-plugin-extenstions-modem = "opens a menu to connect to internet via builtin modem."
+DESCRIPTION_append_enigma2-plugin-systemplugins-wirelesslan = "helps you configuring your wireless lan"
+DESCRIPTION_append_enigma2-plugin-systemplugins-networkwizard = "provides easy step by step network configuration"
+
+DEPENDS = "jpeg libungif libpng libsigc++-1.2 gettext-native \
+        dreambox-dvbincludes freetype libdvbsi++ python swig-native \
+        libfribidi libxmlccwrap libdreamdvd gstreamer gst-plugin-dvbmediasink \
+        gst-plugins-bad gst-plugins-good gst-plugins-ugly python-wifi"
+
+RDEPENDS = "python-codecs python-core python-lang python-re python-threading \
+        python-xml python-fcntl gst-plugin-decodebin gst-plugin-decodebin2 python-stringold \
+        python-pickle gst-plugin-app \
+        gst-plugin-id3demux gst-plugin-mad gst-plugin-ogg gst-plugin-playbin \
+        gst-plugin-typefindfunctions gst-plugin-audioconvert gst-plugin-audioresample \
+        gst-plugin-wavparse python-netclient gst-plugin-mpegstream gst-plugin-selector \
+        gst-plugin-flac gst-plugin-dvbmediasink gst-plugin-mpegdemux \
+        gst-plugin-souphttpsrc gst-plugin-mpegaudioparse gst-plugin-subparse \
+        gst-plugin-apetag gst-plugin-icydemux gst-plugin-autodetect \
+        glibc-gconv-iso8859-15 ethtool"
+
+GST_ALSA_RDEPENDS = "gst-plugin-alsa alsa-conf"
+GST_DVD_RDEPENDS = "gst-plugin-cdxaparse gst-plugin-cdio gst-plugin-vcdsrc"
+GST_MISC_RDEPENDS = "gst-plugin-matroska gst-plugin-qtdemux gst-plugin-vorbis gst-plugin-audioparsersbad"
+GST_RTSP_RDEPENDS = "gst-plugin-udp gst-plugin-rtsp gst-plugin-rtp gst-plugin-rtpmanager"
+GST_BASE_RDEPENDS = "${GST_ALSA_RDEPENDS} ${GST_MISC_RDEPENDS} ${GST_RTSP_RDEPENDS}"
+
+RDEPENDS_append_dm800 = " ${GST_BASE_RDEPENDS} gst-plugin-ivorbisdec"
+RDEPENDS_append_dm8000 = " ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} gst-plugin-avi"
+RDEPENDS_append_dm500hd = " ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} gst-plugin-avi"
+RDEPENDS_append_dm800se = " ${GST_BASE_RDEPENDS} ${GST_DVD_RDEPENDS} gst-plugin-avi"
+
+RDEPENDS_enigma2-plugin-extensions-cutlisteditor = "aio-grab"
+RDEPENDS_enigma2-plugin-extensions-dvdplayer = "libdreamdvd0"
+RDEPENDS_enigma2-plugin-systemplugins-nfiflash = "python-twisted-web"
+RDEPENDS_enigma2-plugin-systemplugins-softwaremanager = "python-twisted-web"
+RDEPENDS_enigma2-plugin-systemplugins-crashlogautosubmit = "twisted-mail twisted-names python-compression python-mime python-email"
+RDEPENDS_enigma2-plugin-extensions-modem = "dreambox-modem-ppp-scripts ppp"
+RDEPENDS_enigma2-plugin-systemplugins-wirelesslan = "wpa-supplicant wireless-tools python-wifi"
+
+RCONFLICTS_enigma2-plugin-systemplugins-softwaremanager = "enigma2-plugin-systemplugins-configurationbackup enigma2-plugin-systemplugins-softwareupdate"
+RREPLACES_enigma2-plugin-systemplugins-softwaremanager = "enigma2-plugin-systemplugins-configurationbackup enigma2-plugin-systemplugins-softwareupdate"
+
+PV = "${GITVER}"
+
+inherit srctree autotools gitver pkgconfig
+
+EXTRA_OECONF = " \
+        BUILD_SYS=${BUILD_SYS} \
+        HOST_SYS=${HOST_SYS} \
+        STAGING_INCDIR=${STAGING_INCDIR} \
+        STAGING_LIBDIR=${STAGING_LIBDIR} \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PACKAGES += "${PN}-meta"
+
+FILES_${PN} += "${datadir}/fonts"
+FILES_${PN}-meta = "${datadir}/meta"
+
+python populate_packages_prepend () {
+        enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
+        do_split_packages(d, enigma2_plugindir, '(.*?/.*?)/.*', 'enigma2-plugin-%s', '%s ', recursive=True, match_path=True, prepend=True)
+}
index d0c682f..ada16ca 100644 (file)
@@ -1,3 +1,3 @@
-EXTRA_DIST = \
+pkginclude_HEADERS = \
        connection.h \
        libsig_comp.h
diff --git a/lib/actions/.gitignore b/lib/actions/.gitignore
new file mode 100644 (file)
index 0000000..460e43d
--- /dev/null
@@ -0,0 +1 @@
+actionids.h
index 8da583f..eb8327d 100644 (file)
@@ -1,15 +1,27 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_builddir) \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
+
+EXTRA_DIST = parseactions.py
 
 noinst_LIBRARIES = libenigma_actions.a
 
 libenigma_actions_a_SOURCES = \
-       action.cpp 
+       action.cpp
 
-CLEANFILES = actionids.h
+actionsincludedir = $(pkgincludedir)/lib/actions
+actionsinclude_HEADERS = \
+       action.h
 
-action.cpp: actionids.h
+nodist_actionsinclude_HEADERS = \
+       actionids.h
+
+BUILT_SOURCES = actionids.h
+CLEANFILES = actionids.h
 
-actionids.h:
-        python ./parseactions.py include ../gui/*.h > actionids.h
-        python ./parseactions.py parse ../gui/*.h >> actionids.h
+actionids.h: $(srcdir)/parseactions.py $(top_srcdir)/lib/gui/*.h
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/parseactions.py include $(top_srcdir)/lib/gui/*.h > $@
+       $(AM_V_at)$(PYTHON) $(srcdir)/parseactions.py parse $(top_srcdir)/lib/gui/*.h >> $@
index cbf5370..edcfac6 100644 (file)
@@ -3,10 +3,6 @@
 
 #include <lib/base/object.h>
 
-               /* avoid warnigs :) */
-#include <features.h>
-#undef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 200112L
 #include <lib/python/python.h>
 #include <string>
 #include <map>
index 2462a75..cad432a 100644 (file)
@@ -89,7 +89,7 @@ def do_file(f, mode):
 
                                                if mode == "include":
                                                        # hack hack hack!!
-                                                       print "#include <lib" + f[2:] + ">"
+                                                       print "#include <lib/" + '/'.join(f.split('/')[-2:]) + ">"
                                                else:
                                                        print "\t// " + f
 
diff --git a/lib/base/.gitignore b/lib/base/.gitignore
new file mode 100644 (file)
index 0000000..aa9ae18
--- /dev/null
@@ -0,0 +1 @@
+eenv.cpp
index 0508563..d76dfc9 100644 (file)
@@ -1,12 +1,56 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_base.a
 
 libenigma_base_a_SOURCES = \
-       buffer.cpp ebase.cpp eerror.cpp elock.cpp \
-       init.cpp message.cpp thread.cpp \
-       smartptr.cpp estring.cpp connection.cpp \
-       filepush.cpp encoding.cpp console.cpp rawfile.cpp \
-       nconfig.cpp ioprio.cpp etpm.cpp
+       buffer.cpp \
+       connection.cpp \
+       console.cpp \
+       ebase.cpp \
+       eenv.cpp \
+       eerror.cpp \
+       elock.cpp \
+       encoding.cpp \
+       estring.cpp \
+       etpm.cpp \
+       filepush.cpp \
+       init.cpp \
+       ioprio.cpp \
+       message.cpp \
+       nconfig.cpp \
+       rawfile.cpp \
+       smartptr.cpp \
+       thread.cpp
 
+EXTRA_DIST = \
+       eenv.cpp.in
+
+baseincludedir = $(pkgincludedir)/lib/base
+baseinclude_HEADERS = \
+       buffer.h \
+       console.h \
+       ebase.h \
+       eenv.h \
+       eerror.h \
+       elock.h \
+       encoding.h \
+       eptrlist.h \
+       estring.h \
+       etpm.h \
+       filepush.h \
+       i18n.h \
+       itssource.h \
+       init.h \
+       init_num.h \
+       ioprio.h \
+       message.h \
+       nconfig.h \
+       object.h \
+       rawfile.h \
+       ringbuffer.h \
+       smartptr.h \
+       thread.h
index e730b40..60540da 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef __LIB_BASE_CONSOLE_H__
 #define __LIB_BASE_CONSOLE_H__
 
-#include "Python.h"
 #include <string>
 #include <lib/base/ebase.h>
 #include <lib/python/connections.h>
diff --git a/lib/base/eenv.cpp.in b/lib/base/eenv.cpp.in
new file mode 100644 (file)
index 0000000..52c4214
--- /dev/null
@@ -0,0 +1,117 @@
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <wordexp.h>
+#include <lib/base/eenv.h>
+#include <lib/base/eerror.h>
+
+bool eEnv::initialized = false;
+
+void eEnv::initialize()
+{
+       static const struct {
+               std::string name;
+               std::string value;
+       } cfgenv[] = {
+               { "prefix", "@prefix@" },
+               { "exec_prefix", "@exec_prefix@" },
+               { "bindir", "@bindir@" },
+               { "sbindir", "@sbindir@" },
+               { "libexecdir", "@libexecdir@" },
+               { "datarootdir", "@datarootdir@" },
+               { "datadir", "@datadir@" },
+               { "sysconfdir", "@sysconfdir@" },
+               { "sharedstatedir", "@sharedstatedir@" },
+               { "localstatedir", "@localstatedir@" },
+               { "libdir", "@libdir@" },
+               { "localedir", "@localedir@" },
+       };
+       size_t i;
+
+       // 1st pass, as generated by configure.
+       // Variables set by the user will not be overwritten.
+       for (i = 0; i < (sizeof(cfgenv) / sizeof(*cfgenv)); i++) {
+               eDebug("setenv('%s', '%s', 0)", cfgenv[i].name.c_str(), cfgenv[i].value.c_str());
+               setenv(cfgenv[i].name.c_str(), cfgenv[i].value.c_str(), 0);
+       }
+
+       // 2nd pass: Resolve directories.
+       for (i = 0; i < (sizeof(cfgenv) / sizeof(*cfgenv)); i++) {
+               std::string dest;
+               eEnv::resolveVar(dest, "${" + cfgenv[i].name + "}");
+               eDebug("setenv('%s', '%s', 1)", cfgenv[i].name.c_str(), dest.c_str());
+               setenv(cfgenv[i].name.c_str(), dest.c_str(), 1);
+       }
+}
+
+int eEnv::resolveVar(std::string &dest, const char *src)
+{
+       size_t i = 0;
+       int ret;
+       wordexp_t p;
+
+       ret = wordexp(src, &p, WRDE_NOCMD | WRDE_UNDEF);
+       if (ret != 0) {
+               switch (ret) {
+               case WRDE_BADCHAR:
+                       eDebug("%s: bad character", __func__);
+                       break;
+               case WRDE_BADVAL:
+                       eDebug("%s: bad value", __func__);
+                       break;
+               case WRDE_CMDSUB:
+                       eDebug("%s: invalid command substitution", __func__);
+                       break;
+               case WRDE_NOSPACE:
+                       eDebug("%s: out of memory", __func__);
+                       break;
+               case WRDE_SYNTAX:
+                       eDebug("%s: syntax error", __func__);
+                       break;
+               default:
+                       eDebug("%s: unknown error", __func__);
+                       break;
+               }
+
+               return -1;
+       }
+
+       while (i < p.we_wordc) {
+               if (strchr(p.we_wordv[i], '$')) {
+                       ret = eEnv::resolveVar(dest, p.we_wordv[i]);
+                       if (ret < 0)
+                               break;
+               } else {
+                       dest.append(p.we_wordv[i]);
+               }
+
+               if (++i < p.we_wordc)
+                       dest.append(" ");
+       }
+
+       wordfree(&p);
+       return ret;
+}
+
+int eEnv::resolveVar(std::string &dest, const std::string &src)
+{
+       return eEnv::resolveVar(dest, src.c_str());
+}
+
+std::string eEnv::resolve(const std::string &src)
+{
+       std::string dest;
+
+       if (!initialized) {
+               eEnv::initialize();
+               initialized = true;
+       }
+
+       eDebug("%s: resolve %s", __func__, src.c_str());
+
+       eEnv::resolveVar(dest, src);
+
+       eDebug("%s: -> %s", __func__, dest.c_str());
+
+       return dest;
+}
diff --git a/lib/base/eenv.h b/lib/base/eenv.h
new file mode 100644 (file)
index 0000000..3d149f5
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef __lib_base_paths_h
+#define __lib_base_paths_h
+
+#include <string>
+
+class eEnv {
+private:
+       static bool initialized;
+       static void initialize();
+       static int resolveVar(std::string &dest, const char *src);
+       static int resolveVar(std::string &dest, const std::string &src);
+public:
+       static std::string resolve(const std::string &path);
+};
+
+#endif
index 8b4b592..361acce 100644 (file)
@@ -2,6 +2,7 @@
 #include <cstdlib>
 #include <lib/base/encoding.h>
 #include <lib/base/eerror.h>
+#include <lib/base/eenv.h>
 
 eDVBTextEncodingHandler encodingHandler;  // the one and only instance
 
@@ -17,8 +18,8 @@ inline char toupper(char c)
 
 eDVBTextEncodingHandler::eDVBTextEncodingHandler()
 {
-       const char * file=DATADIR "/enigma2/encoding.conf";
-       FILE *f = fopen(file, "rt");
+       std::string file = eEnv::resolve("${datadir}/enigma2/encoding.conf");
+       FILE *f = fopen(file.c_str(), "rt");
        if (f)
        {
                char *line = (char*) malloc(256);
@@ -61,7 +62,7 @@ eDVBTextEncodingHandler::eDVBTextEncodingHandler()
                free(line);
        }
        else
-               eDebug("[eDVBTextEncodingHandler] couldn't open %s !", file);
+               eDebug("[eDVBTextEncodingHandler] couldn't open %s !", file.c_str());
 }
 
 void eDVBTextEncodingHandler::getTransponderDefaultMapping(int tsidonid, int &table)
index 91f24ba..e3e2a13 100644 (file)
@@ -29,7 +29,7 @@ void eFilePushThread::thread()
 {
        setIoPrio(prio_class, prio);
 
-       off_t dest_pos = 0, source_pos = 0;
+       off_t dest_pos = 0;
        size_t bytes_read = 0;
        
        off_t current_span_offset = 0;
@@ -46,9 +46,7 @@ void eFilePushThread::thread()
        sigaction(SIGUSR1, &act, 0);
        
        hasStarted();
-       
-       source_pos = m_raw_source.lseek(0, SEEK_CUR);
-       
+
                /* m_stop must be evaluated after each syscall. */
        while (!m_stop)
        {
@@ -137,14 +135,12 @@ void eFilePushThread::thread()
                        
                if (m_sg && !current_span_remaining)
                {
-                       m_sg->getNextSourceSpan(source_pos, bytes_read, current_span_offset, current_span_remaining);
+                       m_sg->getNextSourceSpan(m_current_position, bytes_read, current_span_offset, current_span_remaining);
                        ASSERT(!(current_span_remaining % m_blocksize));
-
-                       if (source_pos != current_span_offset)
-                               source_pos = m_raw_source.lseek(current_span_offset, SEEK_SET);
+                       m_current_position = current_span_offset;
                        bytes_read = 0;
                }
-               
+
                size_t maxread = sizeof(m_buffer);
                
                        /* if we have a source span, don't read past the end */
@@ -157,9 +153,9 @@ void eFilePushThread::thread()
                m_buf_start = 0;
                m_filter_end = 0;
                m_buf_end = 0;
-               
+
                if (maxread)
-                       m_buf_end = m_raw_source.read(m_buffer, maxread);
+                       m_buf_end = m_source->read(m_current_position, m_buffer, maxread);
 
                if (m_buf_end < 0)
                {
@@ -177,10 +173,7 @@ void eFilePushThread::thread()
                        /* a read might be mis-aligned in case of a short read. */
                int d = m_buf_end % m_blocksize;
                if (d)
-               {
-                       m_raw_source.lseek(-d, SEEK_CUR);
                        m_buf_end -= d;
-               }
 
                if (m_buf_end == 0)
                {
@@ -216,18 +209,10 @@ void eFilePushThread::thread()
                                sleep(1);
                                continue;
                        }
-#if 0
-                       eDebug("FILEPUSH: end-of-file! (currently unhandled)");
-                       if (!m_raw_source.lseek(0, SEEK_SET))
-                       {
-                               eDebug("(looping)");
-                               continue;
-                       }
-#endif
                        break;
                } else
                {
-                       source_pos += m_buf_end;
+                       m_current_position += m_buf_end;
                        bytes_read += m_buf_end;
                        if (m_sg)
                                current_span_remaining -= m_buf_end;
@@ -239,20 +224,30 @@ void eFilePushThread::thread()
        eDebug("FILEPUSH THREAD STOP");
 }
 
-void eFilePushThread::start(int fd_source, int fd_dest)
+void eFilePushThread::start(int fd, int fd_dest)
 {
-       m_raw_source.setfd(fd_source);
-       m_fd_dest = fd_dest;
-       resume();
+       eRawFile *f = new eRawFile();
+       ePtr<iTsSource> source = f;
+       f->setfd(fd);
+       start(source, fd_dest);
 }
 
-int eFilePushThread::start(const char *filename, int fd_dest)
+int eFilePushThread::start(const char *file, int fd_dest)
 {
-       if (m_raw_source.open(filename) < 0)
+       eRawFile *f = new eRawFile();
+       ePtr<iTsSource> source = f;
+       if (f->open(file) < 0)
                return -1;
+       start(source, fd_dest);
+       return 0;
+}
+
+void eFilePushThread::start(ePtr<iTsSource> &source, int fd_dest)
+{
+       m_source = source;
        m_fd_dest = fd_dest;
+       m_current_position = 0;
        resume();
-       return 0;
 }
 
 void eFilePushThread::stop()
@@ -273,11 +268,6 @@ void eFilePushThread::pause()
        stop();
 }
 
-void eFilePushThread::seek(int whence, off_t where)
-{
-       m_raw_source.lseek(where, whence);
-}
-
 void eFilePushThread::resume()
 {
        m_stop = 0;
index 71ee997..a4457f6 100644 (file)
@@ -24,9 +24,10 @@ public:
        void stop();
        void start(int sourcefd, int destfd);
        int start(const char *filename, int destfd);
-       
+
+       void start(ePtr<iTsSource> &source, int destfd);
+
        void pause();
-       void seek(int whence, off_t where);
        void resume();
        
                /* flushes the internal readbuffer */ 
@@ -57,11 +58,12 @@ private:
        int m_send_pvr_commit;
        int m_stream_mode;
        int m_blocksize;
+       off_t m_current_position;
+
+       ePtr<iTsSource> m_source;
 
-       eRawFile m_raw_source;
-       
        eFixedMessagePump<int> m_messagepump;
-       
+
        void recvEvent(const int &evt);
 };
 
diff --git a/lib/base/itssource.h b/lib/base/itssource.h
new file mode 100644 (file)
index 0000000..91167ff
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef __lib_base_idatasource_h
+#define __lib_base_idatasource_h
+
+#include <lib/base/object.h>
+
+class iTsSource: public iObject
+{
+public:
+        /* NOTE: should only be used to get current position or filelength */
+       virtual off_t lseek(off_t offset, int whence)=0;
+       
+       /* NOTE: you must be able to handle short reads! */
+       virtual ssize_t read(off_t offset, void *buf, size_t count)=0; /* NOTE: this is what you in normal case have to use!! */
+
+       virtual off_t length()=0;
+       virtual int valid()=0;
+};
+
+#endif
index c7e11fe..3a09e07 100644 (file)
@@ -4,7 +4,10 @@
 #include <lib/base/rawfile.h>
 #include <lib/base/eerror.h>
 
+DEFINE_REF(eRawFile);
+
 eRawFile::eRawFile()
+       :m_lock(false)
 {
        m_fd = -1;
        m_file = 0;
@@ -53,6 +56,13 @@ void eRawFile::setfd(int fd)
 
 off_t eRawFile::lseek(off_t offset, int whence)
 {
+       eSingleLocker l(m_lock);
+       m_current_offset = lseek_internal(offset, whence);
+       return m_current_offset;
+}
+
+off_t eRawFile::lseek_internal(off_t offset, int whence)
+{
 //     eDebug("lseek: %lld, %d", offset, whence);
                /* if there is only one file, use the native lseek - the file could be growing! */
        if (m_nrfiles < 2)
@@ -61,7 +71,8 @@ off_t eRawFile::lseek(off_t offset, int whence)
                        return ::lseek(m_fd, offset, whence);
                else
                {
-                       ::fseeko(m_file, offset, whence);
+                       if (::fseeko(m_file, offset, whence) < 0)
+                               perror("fseeko");
                        return ::ftello(m_file);
                }
        }
@@ -100,11 +111,19 @@ int eRawFile::close()
        }
 }
 
-ssize_t eRawFile::read(void *buf, size_t count)
+ssize_t eRawFile::read(off_t offset, void *buf, size_t count)
 {
-//     eDebug("read: %p, %d", buf, count);
+       eSingleLocker l(m_lock);
+
+       if (offset != m_current_offset)
+       {
+               m_current_offset = lseek_internal(offset, SEEK_SET);
+               if (m_current_offset < 0)
+                       return m_current_offset;
+       }
+
        switchOffset(m_current_offset);
-       
+
        if (m_nrfiles >= 2)
        {
                if (m_current_offset + count > m_totallength)
index a1c73d6..7b736a3 100644 (file)
@@ -2,24 +2,27 @@
 #define __lib_base_rawfile_h
 
 #include <string>
+#include <lib/base/itssource.h>
 
-class eRawFile
+class eRawFile: public iTsSource
 {
+       DECLARE_REF(eRawFile);
+       eSingleLock m_lock;
 public:
        eRawFile();
        ~eRawFile();
-       
        int open(const char *filename, int cached = 0);
        void setfd(int fd);
-       off_t lseek(off_t offset, int whence);
        int close();
-       ssize_t read(void *buf, size_t count); /* NOTE: you must be able to handle short reads! */
+
+       // iTsSource
+       off_t lseek(off_t offset, int whence);
+       ssize_t read(off_t offset, void *buf, size_t count);
        off_t length();
        int valid();
 private:
        int m_fd;     /* for uncached */
        FILE *m_file; /* for cached */
-       
        int m_cached;
        std::string m_basename;
        off_t m_splitsize, m_totallength, m_current_offset, m_base_offset, m_last_offset;
@@ -27,6 +30,8 @@ private:
        void scan();
        int m_current_file;
        int switchOffset(off_t off);
+
+       off_t lseek_internal(off_t offset, int whence);
        FILE *openFileCached(int nr);
        int openFileUncached(int nr);
 };
index e377ab8..364c694 100644 (file)
@@ -1,6 +1,16 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_components.a
 
-libenigma_components_a_SOURCES = scan.cpp file_eraser.cpp
+libenigma_components_a_SOURCES = \
+       file_eraser.cpp \
+       scan.cpp
+
+componentsincludedir = $(pkgincludedir)/lib/components
+componentsinclude_HEADERS = \
+       file_eraser.h \
+       scan.h
index de1271b..b498a6c 100644 (file)
@@ -1,7 +1,38 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
+
+AM_CXXFLAGS = \
+       $(LIBSDL_CFLAGS)
 
 noinst_LIBRARIES = libenigma_driver.a
 
 libenigma_driver_a_SOURCES = \
-       rc.cpp rcinput.cpp rcconsole.cpp avswitch.cpp rfmod.cpp etimezone.cpp misc_options.cpp
+       avswitch.cpp \
+       etimezone.cpp \
+       misc_options.cpp \
+       rc.cpp \
+       rcconsole.cpp \
+       rcinput.cpp \
+       rfmod.cpp
+
+driverincludedir = $(pkgincludedir)/lib/driver
+driverinclude_HEADERS = \
+       avswitch.h \
+       etimezone.h \
+       input_fake.h \
+       misc_options.h \
+       rc.h \
+       rcconsole.h \
+       rcdbox.h \
+       rcdreambox2.h \
+       rcinput.h \
+       rfmod.h
+
+if HAVE_LIBSDL
+libenigma_driver_a_SOURCES += \
+       rcsdl.cpp \
+       rcsdl.h
+endif
index eb5aee3..97a6e7c 100644 (file)
@@ -5,7 +5,7 @@
 #include <stdio.h>
 #include <fcntl.h>
 
-eRCConsoleDriver::eRCConsoleDriver(const char *filename): eRCDriver(eRCInput::getInstance())
+eRCConsoleDriver::eRCConsoleDriver(const char *filename): eRCDriver(eRCInput::getInstance()), m_escape(false)
 {
        handle=open(filename, O_RDONLY|O_NONBLOCK);
        if (handle<0)
@@ -38,7 +38,7 @@ void eRCConsoleDriver::keyPressed(int)
        unsigned char data[16];
        unsigned char *d = data;
        int num = read(handle, data, 16);
-       int code=-1;
+       unsigned char code;
        
        int km = input->getKeyboardMode();
 
@@ -47,42 +47,29 @@ void eRCConsoleDriver::keyPressed(int)
 
        while (num--)
        {
-//             eDebug("console code %08x\n", *d);
-               if (km == eRCInput::kmAll)
-                       code = *d++;
-               else
-               {
-                       if (*d == 27) // escape code
-                       {
-                               while (num)
-                               {
-                                       num--;
-                                       if (*++d != '[')
-                                               break;
-                               }
-                               code = -1;
-                       } else
-                               code = *d;
-                       ++d;
-
-                       if (code < 32)                  /* control characters */
-                               code = -1;
-                       else switch(code)
-                       {
-                       case 0x7E:  // mute, einfg, entf
-                       case 0x7F:  // backspace
-                       code = -1;
-                       default:
-                               break;
+               code = *d++;
+//             eDebug("console code %02x\n", code);
+               if (km == eRCInput::kmAscii) {
+                       if (m_escape) {
+                               if (code != '[')
+                                       m_escape = false;
+                               continue;
                        }
+
+                       if (code == 27) // escape code
+                               m_escape = true;
+
+                       if ((code < 32) ||      // control characters
+                           (code == 0x7e) ||   // mute, einfg, entf
+                           (code == 0x7f))     // backspace
+                               continue;
                }
 
-               if (code != -1)
-                       for (std::list<eRCDevice*>::iterator i(listeners.begin()); i!=listeners.end(); ++i)
-                       {
-//                             eDebug("ascii %08x", code);
-                               (*i)->handleCode(code);
-                       }
+               for (std::list<eRCDevice*>::iterator i(listeners.begin()); i!=listeners.end(); ++i)
+               {
+//                     eDebug("ascii %02x", code);
+                       (*i)->handleCode(code);
+               }
        }
 }
 
index 85234d5..8a24612 100644 (file)
@@ -10,6 +10,7 @@ class eRCConsoleDriver: public eRCDriver
 protected:
        int handle;
        ePtr<eSocketNotifier> sn;
+       bool m_escape;
        void keyPressed(int);
 public:
        eRCConsoleDriver(const char *filename);
diff --git a/lib/driver/rcsdl.cpp b/lib/driver/rcsdl.cpp
new file mode 100644 (file)
index 0000000..a907b80
--- /dev/null
@@ -0,0 +1,390 @@
+#include <lib/driver/rcsdl.h>
+//#include <lib/actions/action.h>
+#include <lib/base/init.h>
+#include <lib/base/init_num.h>
+#include <lib/driver/input_fake.h>
+
+/*
+ * eSDLInputDevice
+ */
+
+eSDLInputDevice::eSDLInputDevice(eRCDriver *driver) : eRCDevice("SDL", driver), m_escape(false), m_unicode(0)
+{
+}
+
+eSDLInputDevice::~eSDLInputDevice()
+{
+}
+
+void eSDLInputDevice::handleCode(long arg)
+{
+       const SDL_KeyboardEvent *event = (const SDL_KeyboardEvent *)arg;
+       const SDL_keysym *key = &event->keysym;
+       int km = input->getKeyboardMode();
+       int code, flags;
+
+       if (event->type == SDL_KEYDOWN) {
+               m_unicode = key->unicode;
+               flags = eRCKey::flagMake;
+       } else {
+               flags = eRCKey::flagBreak;
+       }
+
+       if (km == eRCInput::kmNone) {
+               code = translateKey(key->sym);
+       } else {
+               eDebug("unicode=%04x scancode=%02x", m_unicode, key->scancode);
+               if (m_unicode & 0xff80) {
+                       eDebug("SDL: skipping unicode character");
+                       return;
+               }
+               code = m_unicode & ~0xff80;
+               // unicode not set...!? use key symbol
+               if (code == 0) {
+                       // keysym is ascii
+                       if (key->sym >= 128) {
+                               eDebug("SDL: cannot emulate ASCII");
+                               return;
+                       }
+                       eDebug("SDL: emulate ASCII");
+                       code = key->sym;
+               }
+               if (km == eRCInput::kmAscii) {
+                       // skip ESC c or ESC '[' c
+                       if (m_escape) {
+                               if (code != '[')
+                                       m_escape = false;
+                               return;
+                       }
+
+                       if (code == SDLK_ESCAPE)
+                               m_escape = true;
+
+                       if ((code < SDLK_SPACE) ||
+                           (code == 0x7e) ||   // really?
+                           (code == SDLK_DELETE))
+                               return;
+               }
+               flags |= eRCKey::flagAscii;
+       }
+
+       eDebug("SDL code=%d flags=%d", code, flags);
+       input->keyPressed(eRCKey(this, code, flags));
+}
+
+const char *eSDLInputDevice::getDescription() const
+{
+       return "SDL";
+}
+
+int eSDLInputDevice::translateKey(SDLKey key)
+{
+       #define P(a)    case SDLK_##a: return KEY_##a
+       #define P2(a,b) case SDLK_##a: return KEY_##b
+
+       switch (key) {
+       P(BACKSPACE);
+       P(TAB);
+       P(CLEAR);
+       P2(RETURN,ENTER);
+       P(PAUSE);
+       P2(ESCAPE,ESC);
+       P(SPACE);
+#if 0
+       P(EXCLAIM);
+       P(QUOTEDBL);
+       P(HASH);
+#endif
+       P(DOLLAR);
+#if 0
+       P(AMPERSAND);
+#endif
+       P2(QUOTE,APOSTROPHE);
+#if 0
+       P(LEFTPAREN);
+       P(RIGHTPAREN);
+       P(ASTERISK);
+       P(PLUS);
+#endif
+       P(COMMA);
+       P(MINUS);
+       P2(PERIOD,DOT);
+       P(SLASH);
+       P(0);
+       P(1);
+       P(2);
+       P(3);
+       P(4);
+       P(5);
+       P(6);
+       P(7);
+       P(8);
+       P(9);
+#if 0
+       P(COLON);
+#endif
+       P(SEMICOLON);
+#if 0
+       P(LESS);
+#endif
+       P2(EQUALS,EQUAL);
+#if 0
+       P(GREATER);
+#endif
+       P(QUESTION);
+#if 0
+       P(AT);
+#endif
+       P2(LEFTBRACKET,LEFTBRACE);
+       P(BACKSLASH);
+       P2(RIGHTBRACKET,RIGHTBRACE);
+       P2(CARET,GRAVE);
+#if 0
+       P(UNDERSCORE);
+       P(BACKQUOTE);
+#endif
+       P2(a,A);
+       P2(b,B);
+       P2(c,C);
+       P2(d,D);
+       P2(e,E);
+       P2(f,F);
+       P2(g,G);
+       P2(h,H);
+       P2(i,I);
+       P2(j,J);
+       P2(k,K);
+       P2(l,L);
+       P2(m,M);
+       P2(n,N);
+       P2(o,O);
+       P2(p,P);
+       P2(q,Q);
+       P2(r,R);
+       P2(s,S);
+       P2(t,T);
+       P2(u,U);
+       P2(v,V);
+       P2(w,W);
+       P2(x,X);
+       P2(y,Y);
+       P2(z,Z);
+       P(DELETE);
+#if 0
+       P(WORLD_0);
+       P(WORLD_1);
+       P(WORLD_2);
+       P(WORLD_3);
+       P(WORLD_4);
+       P(WORLD_5);
+       P(WORLD_6);
+       P(WORLD_7);
+       P(WORLD_8);
+       P(WORLD_9);
+       P(WORLD_10);
+       P(WORLD_11);
+       P(WORLD_12);
+       P(WORLD_13);
+       P(WORLD_14);
+       P(WORLD_15);
+       P(WORLD_16);
+       P(WORLD_17);
+       P(WORLD_18);
+       P(WORLD_19);
+       P(WORLD_20);
+       P(WORLD_21);
+       P(WORLD_22);
+       P(WORLD_23);
+       P(WORLD_24);
+       P(WORLD_25);
+       P(WORLD_26);
+       P(WORLD_27);
+       P(WORLD_28);
+       P(WORLD_29);
+       P(WORLD_30);
+       P(WORLD_31);
+       P(WORLD_32);
+       P(WORLD_33);
+       P(WORLD_34);
+       P(WORLD_35);
+       P(WORLD_36);
+       P(WORLD_37);
+       P(WORLD_38);
+       P(WORLD_39);
+       P(WORLD_40);
+       P(WORLD_41);
+       P(WORLD_42);
+       P(WORLD_43);
+       P(WORLD_44);
+       P(WORLD_45);
+       P(WORLD_46);
+       P(WORLD_47);
+       P(WORLD_48);
+       P(WORLD_49);
+       P(WORLD_50);
+       P(WORLD_51);
+       P(WORLD_52);
+       P(WORLD_53);
+       P(WORLD_54);
+       P(WORLD_55);
+       P(WORLD_56);
+       P(WORLD_57);
+       P(WORLD_58);
+       P(WORLD_59);
+       P(WORLD_60);
+       P(WORLD_61);
+       P(WORLD_62);
+       P(WORLD_63);
+       P(WORLD_64);
+       P(WORLD_65);
+       P(WORLD_66);
+       P(WORLD_67);
+       P(WORLD_68);
+       P(WORLD_69);
+       P(WORLD_70);
+       P(WORLD_71);
+       P(WORLD_72);
+       P(WORLD_73);
+       P(WORLD_74);
+       P(WORLD_75);
+       P(WORLD_76);
+       P(WORLD_77);
+       P(WORLD_78);
+       P(WORLD_79);
+       P(WORLD_80);
+       P(WORLD_81);
+       P(WORLD_82);
+       P(WORLD_83);
+       P(WORLD_84);
+       P(WORLD_85);
+       P(WORLD_86);
+       P(WORLD_87);
+       P(WORLD_88);
+       P(WORLD_89);
+       P(WORLD_90);
+       P(WORLD_91);
+       P(WORLD_92);
+       P(WORLD_93);
+       P(WORLD_94);
+       P(WORLD_95);
+#endif
+       P(KP0);
+       P(KP1);
+       P(KP2);
+       P(KP3);
+       P(KP4);
+       P(KP5);
+       P(KP6);
+       P(KP7);
+       P(KP8);
+       P(KP9);
+       P2(KP_PERIOD,KPDOT);
+       P2(KP_DIVIDE,KPSLASH);
+       P2(KP_MULTIPLY,KPASTERISK);
+       P2(KP_MINUS,KPMINUS);
+       P2(KP_PLUS,KPPLUS);
+       P2(KP_ENTER,KPENTER);
+       P2(KP_EQUALS,KPEQUAL);
+       P(UP);
+       P(DOWN);
+       P(RIGHT);
+       P(LEFT);
+       P(INSERT);
+       P(HOME);
+       P(END);
+       P(PAGEUP);
+       P(PAGEDOWN);
+       P(F1);
+       P(F2);
+       P(F3);
+       P(F4);
+       P(F5);
+       P(F6);
+       P(F7);
+       P(F8);
+       P(F9);
+       P(F10);
+       P(F11);
+       P(F12);
+       P(F13);
+       P(F14);
+       P(F15);
+       P(NUMLOCK);
+       P(CAPSLOCK);
+       P2(SCROLLOCK,SCROLLLOCK);
+       P2(RSHIFT,RIGHTSHIFT);
+       P2(LSHIFT,LEFTSHIFT);
+       P2(RCTRL,RIGHTCTRL);
+       P2(LCTRL,LEFTCTRL);
+       P2(RALT,RIGHTALT);
+       P2(LALT,LEFTALT);
+       P2(RMETA,RIGHTMETA);
+       P2(LMETA,LEFTMETA);
+#if 0
+       P(LSUPER);
+       P(RSUPER);
+#endif
+       P(MODE);
+       P(COMPOSE);
+       P(HELP);
+       P(PRINT);
+       P2(SYSREQ,SYSRQ);
+       P(BREAK);
+       P(MENU);
+       P(POWER);
+       P(EURO);
+       P(UNDO);
+       default:
+               eDebug("unhandled SDL keycode: %d", key);
+               return KEY_RESERVED;
+       }
+
+       #undef P2
+       #undef P
+}
+
+/*
+ * eSDLInputDriver
+ */
+
+eSDLInputDriver *eSDLInputDriver::instance;
+
+eSDLInputDriver::eSDLInputDriver() : eRCDriver(eRCInput::getInstance())
+{
+       ASSERT(instance == 0);
+       instance = this;
+}
+
+eSDLInputDriver::~eSDLInputDriver()
+{
+       instance = 0;
+}
+
+void eSDLInputDriver::keyPressed(const SDL_KeyboardEvent *key)
+{
+       eDebug("km=%d enabled=%d locked=%d",
+               input->getKeyboardMode(), enabled, input->islocked());
+
+       if (!enabled || input->islocked())
+               return;
+
+       std::list<eRCDevice*>::iterator i(listeners.begin());
+       while (i != listeners.end()) {
+               (*i)->handleCode((long)key);
+               ++i;
+       }
+}
+
+class eRCSDLInit
+{
+private:
+       eSDLInputDriver driver;
+       eSDLInputDevice device;
+
+public:
+       eRCSDLInit(): driver(), device(&driver)
+       {
+       }
+};
+
+eAutoInitP0<eRCSDLInit> init_rcSDL(eAutoInitNumbers::rc+1, "SDL RC Driver");
diff --git a/lib/driver/rcsdl.h b/lib/driver/rcsdl.h
new file mode 100644 (file)
index 0000000..9732f5e
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef __lib_driver_rcsdl_h
+#define __lib_driver_rcsdl_h
+
+#include <lib/driver/rc.h>
+
+#include <SDL.h>
+
+class eSDLInputDevice : public eRCDevice
+{
+private:
+       bool m_escape;
+       unsigned int m_unicode;
+       int translateKey(SDLKey key);
+
+public:
+       eSDLInputDevice(eRCDriver *driver);
+       ~eSDLInputDevice();
+
+       virtual void handleCode(long arg);
+       virtual const char *getDescription() const;
+};
+
+class eSDLInputDriver : public eRCDriver
+{
+private:
+       static eSDLInputDriver *instance;
+
+public:
+       eSDLInputDriver();
+       ~eSDLInputDriver();
+
+       static eSDLInputDriver *getInstance() { return instance; }
+
+       void keyPressed(const SDL_KeyboardEvent *key);
+};
+
+#endif
index b47ffed..9b33755 100644 (file)
@@ -1,12 +1,64 @@
 SUBDIRS = lowlevel
 
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_dvb.a
 
-libenigma_dvb_a_SOURCES = dvb.cpp demux.cpp frontend.cpp esection.cpp db.cpp \
-       sec.cpp scan.cpp crc32.cpp pmt.cpp decoder.cpp eit.cpp rotor_calc.cpp \
-       epgcache.cpp dvbtime.cpp metaparser.cpp volume.cpp tstools.cpp pvrparse.cpp \
-       pesparse.cpp teletext.cpp radiotext.cpp subtitle.cpp
+libenigma_dvb_a_SOURCES = \
+       crc32.cpp \
+       db.cpp \
+       decoder.cpp \
+       demux.cpp \
+       dvb.cpp \
+       dvbtime.cpp \
+       eit.cpp \
+       epgcache.cpp \
+       esection.cpp \
+       frontend.cpp \
+       metaparser.cpp \
+       pesparse.cpp \
+       pmt.cpp \
+       pvrparse.cpp \
+       radiotext.cpp \
+       rotor_calc.cpp \
+       scan.cpp \
+       sec.cpp \
+       subtitle.cpp \
+       teletext.cpp \
+       tstools.cpp \
+       volume.cpp
 
+dvbincludedir = $(pkgincludedir)/lib/dvb
+dvbinclude_HEADERS = \
+       crc32.h \
+       db.h \
+       decoder.h \
+       demux.h \
+       dvb.h \
+       dvbtime.h \
+       eit.h \
+       epgcache.h \
+       esection.h \
+       frontend.h \
+       frontendparms.h \
+       idemux.h \
+       idvb.h \
+       isection.h \
+       list.h \
+       metaparser.h \
+       pesparse.h \
+       pmt.h \
+       pvrparse.h \
+       radiotext.h \
+       rotor_calc.h \
+       scan.h \
+       sec.h \
+       specs.h \
+       subtitle.h \
+       teletext.h \
+       tstools.h \
+       volume.h
index 38be635..522035e 100644 (file)
@@ -3,6 +3,7 @@
 #include <lib/dvb/dvb.h>
 #include <lib/dvb/frontend.h>
 #include <lib/dvb/epgcache.h>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
 #include <lib/base/estring.h>
 #include <xmlccwrap/xmlccwrap.h>
@@ -73,7 +74,7 @@ RESULT eBouquet::moveService(const eServiceReference &ref, unsigned int pos)
 
 RESULT eBouquet::flushChanges()
 {
-       FILE *f=fopen((CONFIGDIR"/enigma2/"+m_filename).c_str(), "w");
+       FILE *f=fopen(eEnv::resolve("${sysconfdir}/enigma2/" + m_filename).c_str(), "w");
        if (!f)
                return -1;
        if ( fprintf(f, "#NAME %s\r\n", m_bouquet_name.c_str()) < 0 )
@@ -280,7 +281,7 @@ DEFINE_REF(eDVBDB);
 
 void eDVBDB::reloadServicelist()
 {
-       loadServicelist(CONFIGDIR"/enigma2/lamedb");
+       loadServicelist(eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str());
 }
 
 void eDVBDB::parseServiceData(ePtr<eDVBService> s, std::string str)
@@ -324,14 +325,14 @@ void eDVBDB::loadServicelist(const char *file)
 {
        eDebug("---- opening lame channel db");
        FILE *f=fopen(file, "rt");
-       if (!f && strcmp(file, CONFIGDIR"/enigma2/lamedb") == 0)
+       if (!f && strcmp(file, eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str()) == 0)
        {
                struct stat s;
                if ( !stat("lamedb", &s) )
                {
-                       if ( !stat(CONFIGDIR"/enigma2", &s) )
+                       if ( !stat(eEnv::resolve("${sysconfdir}/enigma2").c_str(), &s) )
                        {
-                               rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
+                               rename("lamedb", eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str());
                                reloadServicelist();
                        }
                }
@@ -594,7 +595,7 @@ void eDVBDB::saveServicelist(const char *file)
 
 void eDVBDB::saveServicelist()
 {
-       saveServicelist(CONFIGDIR"/enigma2/lamedb");
+       saveServicelist(eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str());
 }
 
 void eDVBDB::loadBouquet(const char *path)
@@ -618,7 +619,7 @@ void eDVBDB::loadBouquet(const char *path)
        std::list<eServiceReference> &list = bouquet.m_services;
        list.clear();
 
-       std::string p = CONFIGDIR"/enigma2/";
+       std::string p = eEnv::resolve("${sysconfdir}/enigma2/");
        p+=path;
        eDebug("loading bouquet... %s", p.c_str());
        FILE *fp=fopen(p.c_str(), "rt");
index 081059b..0c736c5 100644 (file)
@@ -648,18 +648,36 @@ RESULT eDVBTSRecorder::setBoundary(off_t max)
 
 RESULT eDVBTSRecorder::stop()
 {
+       int state=3;
+
        for (std::map<int,int>::iterator i(m_pids.begin()); i != m_pids.end(); ++i)
                stopPID(i->first);
 
        if (!m_running)
                return -1;
+
+#if HAVE_DVB_API_VERSION >= 5
+       /* workaround for record thread stop */
+       if (::ioctl(m_source_fd, DMX_STOP) < 0)
+               perror("DMX_STOP");
+       else
+               state &= ~1;
+
+       if (::close(m_source_fd) < 0)
+               perror("close");
+       else
+               state &= ~2;
+#endif
+
        m_thread->stop();
-       
-       close(m_source_fd);
+
+       if (state & 3)
+               ::close(m_source_fd);
+
+       m_running = 0;
        m_source_fd = -1;
-       
+
        m_thread->stopSaveMetaInformation();
-       
        return 0;
 }
 
index 5162945..414ab8d 100644 (file)
@@ -1752,6 +1752,20 @@ RESULT eDVBChannel::getCurrentFrontendParameters(ePtr<iDVBFrontendParameters> &p
 
 RESULT eDVBChannel::playFile(const char *file)
 {
+       eRawFile *f = new eRawFile();
+       ePtr<iTsSource> source = f;
+
+       if (f->open(file) < 0)
+       {
+               eDebug("can't open PVR file %s (%m)", file);
+               return -ENOENT;
+       }
+
+       return playSource(source, file);
+}
+
+RESULT eDVBChannel::playSource(ePtr<iTsSource> &source, const char *streaminfo_file)
+{
        ASSERT(!m_frontend);
        if (m_pvr_thread)
        {
@@ -1760,7 +1774,13 @@ RESULT eDVBChannel::playFile(const char *file)
                m_pvr_thread = 0;
        }
 
-       m_tstools.openFile(file);
+       if (!source->valid())
+       {
+               eDebug("PVR source is not valid!");
+               return -ENOENT;
+       }
+
+       m_tstools.setSource(source, streaminfo_file);
 
                /* DON'T EVEN THINK ABOUT FIXING THIS. FIX THE ATI SOURCES FIRST,
                   THEN DO A REAL FIX HERE! */
@@ -1787,15 +1807,7 @@ RESULT eDVBChannel::playFile(const char *file)
 
        m_event(this, evtPreStart);
 
-       if (m_pvr_thread->start(file, m_pvr_fd_dst))
-       {
-               delete m_pvr_thread;
-               m_pvr_thread = 0;
-               ::close(m_pvr_fd_dst);
-               m_pvr_fd_dst = -1;
-               eDebug("can't open PVR file %s (%m)", file);
-               return -ENOENT;
-       }
+       m_pvr_thread->start(source, m_pvr_fd_dst);
        CONNECT(m_pvr_thread->m_event, eDVBChannel::pvrEvent);
 
        m_state = state_ok;
@@ -1804,7 +1816,7 @@ RESULT eDVBChannel::playFile(const char *file)
        return 0;
 }
 
-void eDVBChannel::stopFile()
+void eDVBChannel::stopSource()
 {
        if (m_pvr_thread)
        {
@@ -1814,6 +1826,13 @@ void eDVBChannel::stopFile()
        }
        if (m_pvr_fd_dst >= 0)
                ::close(m_pvr_fd_dst);
+       ePtr<iTsSource> d;
+       m_tstools.setSource(d);
+}
+
+void eDVBChannel::stopFile()
+{
+       stopSource();
 }
 
 void eDVBChannel::setCueSheet(eCueSheet *cuesheet)
index fb92580..f612aff 100644 (file)
@@ -259,7 +259,10 @@ public:
                /* iDVBPVRChannel */
        RESULT playFile(const char *file);
        void stopFile();
-       
+
+       RESULT playSource(ePtr<iTsSource>& source, const char *priv=NULL);
+       void stopSource();
+
        void setCueSheet(eCueSheet *cuesheet);
        
        RESULT getLength(pts_t &len);
@@ -301,7 +304,7 @@ private:
        std::list<std::pair<off_t, off_t> > m_source_span;
        void getNextSourceSpan(off_t current_offset, size_t bytes_read, off_t &start, size_t &size);
        void flushPVR(iDVBDemux *decoding_demux=0);
-       
+
        eSingleLock m_cuesheet_lock;
 
        friend class eUsePtr<eDVBChannel>;
index 119223a..8ac0c71 100644 (file)
@@ -213,9 +213,9 @@ pthread_mutex_t eEPGCache::channel_map_lock=
 DEFINE_REF(eEPGCache)
 
 eEPGCache::eEPGCache()
-       :messages(this,1), cleanTimer(eTimer::create(this))//, paused(0)
+       :messages(this,1), cleanTimer(eTimer::create(this)), m_running(0)//, paused(0)
 {
-       eDebug("[EPGC] Initialized EPGCache");
+       eDebug("[EPGC] Initialized EPGCache (wait for setCacheFile call now)");
 
        CONNECT(messages.recv_msg, eEPGCache::gotMessage);
        CONNECT(eDVBLocalTimeHandler::getInstance()->m_timeUpdated, eEPGCache::timeUpdated);
@@ -226,22 +226,46 @@ eEPGCache::eEPGCache()
        if (!res_mgr)
                eDebug("[eEPGCache] no resource manager !!!!!!!");
        else
-       {
                res_mgr->connectChannelAdded(slot(*this,&eEPGCache::DVBChannelAdded), m_chanAddedConn);
+
+       instance=this;
+       memset(m_filename, 0, sizeof(m_filename));
+}
+
+void eEPGCache::setCacheFile(const char *path)
+{
+       bool inited = !!strlen(m_filename);
+       strncpy(m_filename, path, 1024);
+       if (!inited)
+       {
+               eDebug("[EPGC] setCacheFile read/write epg data from/to '%s'", m_filename);
                if (eDVBLocalTimeHandler::getInstance()->ready())
                        timeUpdated();
        }
-       instance=this;
 }
 
 void eEPGCache::timeUpdated()
 {
-       if (!sync())
+       if (strlen(m_filename))
        {
-               eDebug("[EPGC] time updated.. start EPG Mainloop");
-               run();
-       } else
-               messages.send(Message(Message::timeChanged));
+               if (!sync())
+               {
+                       eDebug("[EPGC] time updated.. start EPG Mainloop");
+                       run();
+                       singleLock s(channel_map_lock);
+                       channelMapIterator it = m_knownChannels.begin();
+                       for (; it != m_knownChannels.end(); ++it)
+                       {
+                               if (it->second->state == -1) {
+                                       it->second->state=0;
+                                       messages.send(Message(Message::startChannel, it->second));
+                               }
+                       }
+               } else
+                       messages.send(Message(Message::timeChanged));
+       }
+       else
+               eDebug("[EPGC] time updated.. but cache file not set yet.. dont start epg!!");
 }
 
 void eEPGCache::DVBChannelAdded(eDVBChannel *chan)
@@ -337,8 +361,11 @@ void eEPGCache::DVBChannelRunning(iDVBChannel *chan)
                                        return;
                                }
 #endif
-                               messages.send(Message(Message::startChannel, chan));
-                               // -> gotMessage -> changedService
+                               if (m_running) {
+                                       data.state=0;
+                                       messages.send(Message(Message::startChannel, chan));
+                                       // -> gotMessage -> changedService
+                               }
                        }
                }
        }
@@ -365,7 +392,8 @@ void eEPGCache::DVBChannelStateChanged(iDVBChannel *chan)
                                case iDVBChannel::state_release:
                                {
                                        eDebug("[eEPGCache] remove channel %p", chan);
-                                       messages.send(Message(Message::leaveChannel, chan));
+                                       if (it->second->state >= 0)
+                                               messages.send(Message(Message::leaveChannel, chan));
                                        pthread_mutex_lock(&it->second->channel_active);
                                        singleLock s(channel_map_lock);
                                        m_knownChannels.erase(it);
@@ -953,39 +981,24 @@ void eEPGCache::gotMessage( const Message &msg )
 void eEPGCache::thread()
 {
        hasStarted();
+       m_running=1;
        nice(4);
        load();
        cleanLoop();
        runLoop();
        save();
+       m_running=0;
 }
 
 void eEPGCache::load()
 {
-       FILE *f = fopen("/hdd/epg.dat", "r");
+       FILE *f = fopen(m_filename, "r");
        if (f)
        {
-               unlink("/hdd/epg.dat");
+               unlink(m_filename);
                int size=0;
                int cnt=0;
-#if 0
-               unsigned char md5_saved[16];
-               unsigned char md5[16];
-               bool md5ok=false;
 
-               if (!md5_file("/hdd/epg.dat", 1, md5))
-               {
-                       FILE *f = fopen("/hdd/epg.dat.md5", "r");
-                       if (f)
-                       {
-                               fread( md5_saved, 16, 1, f);
-                               fclose(f);
-                               if ( !memcmp(md5_saved, md5, 16) )
-                                       md5ok=true;
-                       }
-               }
-               if ( md5ok )
-#endif
                {
                        unsigned int magic=0;
                        fread( &magic, sizeof(int), 1, f);
@@ -1027,7 +1040,7 @@ void eEPGCache::load()
                                        eventDB[key]=std::pair<eventMap,timeMap>(evMap,tmMap);
                                }
                                eventData::load(f);
-                               eDebug("[EPGC] %d events read from /hdd/epg.dat", cnt);
+                               eDebug("[EPGC] %d events read from %s", cnt, m_filename);
 #ifdef ENABLE_PRIVATE_EPG
                                char text2[11];
                                fread( text2, 11, 1, f);
@@ -1075,103 +1088,106 @@ void eEPGCache::load()
 
 void eEPGCache::save()
 {
-       struct statfs s;
-       off64_t tmp;
-       if (statfs("/hdd", &s)<0)
-               tmp=0;
-       else
+       /* create empty file */
+       FILE *f = fopen(m_filename, "w");
+
+       if (!f)
+       {
+               eDebug("[EPGC] couldn't save epg data to '%s'(%m)", m_filename);
+               return;
+       }
+
+       char *buf = realpath(m_filename, NULL);
+       if (!buf)
        {
-               tmp=s.f_blocks;
-               tmp*=s.f_bsize;
+               eDebug("[EPGC] realpath to '%s' failed in save (%m)", m_filename);
+               fclose(f);
+               return;
        }
 
-       // prevent writes to builtin flash
-       if ( tmp < 1024*1024*50 ) // storage size < 50MB
+       eDebug("[EPGC] store epg to realpath '%s'", buf);
+
+       struct statfs s;
+       off64_t tmp;
+       if (statfs(buf, &s) < 0) {
+               eDebug("[EPGC] statfs '%s' failed in save (%m)", buf);
+               fclose(f);
                return;
+       }
+
+       free(buf);
 
        // check for enough free space on storage
        tmp=s.f_bfree;
        tmp*=s.f_bsize;
        if ( tmp < (eventData::CacheSize*12)/10 ) // 20% overhead
+       {
+               eDebug("[EPGC] not enough free space at path '%s' %lld bytes availd but %d needed", buf, tmp, (eventData::CacheSize*12)/10);
+               fclose(f);
                return;
+       }
 
-       FILE *f = fopen("/hdd/epg.dat", "w");
        int cnt=0;
-       if ( f )
-       {
-               unsigned int magic = 0x98765432;
-               fwrite( &magic, sizeof(int), 1, f);
-               const char *text = "UNFINISHED_V7";
-               fwrite( text, 13, 1, f );
-               int size = eventDB.size();
-               fwrite( &size, sizeof(int), 1, f );
-               for (eventCache::iterator service_it(eventDB.begin()); service_it != eventDB.end(); ++service_it)
-               {
-                       timeMap &timemap = service_it->second.second;
-                       fwrite( &service_it->first, sizeof(uniqueEPGKey), 1, f);
-                       size = timemap.size();
-                       fwrite( &size, sizeof(int), 1, f);
-                       for (timeMap::iterator time_it(timemap.begin()); time_it != timemap.end(); ++time_it)
-                       {
-                               __u8 len = time_it->second->ByteSize;
-                               fwrite( &time_it->second->type, sizeof(__u8), 1, f );
-                               fwrite( &len, sizeof(__u8), 1, f);
-                               fwrite( time_it->second->EITdata, len, 1, f);
-                               ++cnt;
-                       }
+       unsigned int magic = 0x98765432;
+       fwrite( &magic, sizeof(int), 1, f);
+       const char *text = "UNFINISHED_V7";
+       fwrite( text, 13, 1, f );
+       int size = eventDB.size();
+       fwrite( &size, sizeof(int), 1, f );
+       for (eventCache::iterator service_it(eventDB.begin()); service_it != eventDB.end(); ++service_it)
+       {
+               timeMap &timemap = service_it->second.second;
+               fwrite( &service_it->first, sizeof(uniqueEPGKey), 1, f);
+               size = timemap.size();
+               fwrite( &size, sizeof(int), 1, f);
+               for (timeMap::iterator time_it(timemap.begin()); time_it != timemap.end(); ++time_it)
+               {
+                       __u8 len = time_it->second->ByteSize;
+                       fwrite( &time_it->second->type, sizeof(__u8), 1, f );
+                       fwrite( &len, sizeof(__u8), 1, f);
+                       fwrite( time_it->second->EITdata, len, 1, f);
+                       ++cnt;
                }
-               eDebug("[EPGC] %d events written to /hdd/epg.dat", cnt);
-               eventData::save(f);
+       }
+       eDebug("[EPGC] %d events written to %s", cnt, m_filename);
+       eventData::save(f);
 #ifdef ENABLE_PRIVATE_EPG
-               const char* text3 = "PRIVATE_EPG";
-               fwrite( text3, 11, 1, f );
-               size = content_time_tables.size();
+       const char* text3 = "PRIVATE_EPG";
+       fwrite( text3, 11, 1, f );
+       size = content_time_tables.size();
+       fwrite( &size, sizeof(int), 1, f);
+       for (contentMaps::iterator a = content_time_tables.begin(); a != content_time_tables.end(); ++a)
+       {
+               contentMap &content_time_table = a->second;
+               fwrite( &a->first, sizeof(uniqueEPGKey), 1, f);
+               int size = content_time_table.size();
                fwrite( &size, sizeof(int), 1, f);
-               for (contentMaps::iterator a = content_time_tables.begin(); a != content_time_tables.end(); ++a)
+               for (contentMap::iterator i = content_time_table.begin(); i != content_time_table.end(); ++i )
                {
-                       contentMap &content_time_table = a->second;
-                       fwrite( &a->first, sizeof(uniqueEPGKey), 1, f);
-                       int size = content_time_table.size();
+                       int size = i->second.size();
+                       fwrite( &i->first, sizeof(int), 1, f);
                        fwrite( &size, sizeof(int), 1, f);
-                       for (contentMap::iterator i = content_time_table.begin(); i != content_time_table.end(); ++i )
-                       {
-                               int size = i->second.size();
-                               fwrite( &i->first, sizeof(int), 1, f);
-                               fwrite( &size, sizeof(int), 1, f);
-                               for ( contentTimeMap::iterator it(i->second.begin());
-                                       it != i->second.end(); ++it )
-                               {
-                                       fwrite( &it->first, sizeof(time_t), 1, f);
-                                       fwrite( &it->second.first, sizeof(time_t), 1, f);
-                                       fwrite( &it->second.second, sizeof(__u16), 1, f);
-                               }
-                       }
-               }
-#endif
-               // write version string after binary data
-               // has been written to disk.
-               fsync(fileno(f));
-               fseek(f, sizeof(int), SEEK_SET);
-               fwrite("ENIGMA_EPG_V7", 13, 1, f);
-               fclose(f);
-#if 0
-               unsigned char md5[16];
-               if (!md5_file("/hdd/epg.dat", 1, md5))
-               {
-                       FILE *f = fopen("/hdd/epg.dat.md5", "w");
-                       if (f)
+                       for ( contentTimeMap::iterator it(i->second.begin());
+                               it != i->second.end(); ++it )
                        {
-                               fwrite( md5, 16, 1, f);
-                               fclose(f);
+                               fwrite( &it->first, sizeof(time_t), 1, f);
+                               fwrite( &it->second.first, sizeof(time_t), 1, f);
+                               fwrite( &it->second.second, sizeof(__u16), 1, f);
                        }
                }
-#endif
        }
+#endif
+       // write version string after binary data
+       // has been written to disk.
+       fsync(fileno(f));
+       fseek(f, sizeof(int), SEEK_SET);
+       fwrite("ENIGMA_EPG_V7", 13, 1, f);
+       fclose(f);
 }
 
 eEPGCache::channel_data::channel_data(eEPGCache *ml)
        :cache(ml)
-       ,abortTimer(eTimer::create(ml)), zapTimer(eTimer::create(ml)), state(0)
+       ,abortTimer(eTimer::create(ml)), zapTimer(eTimer::create(ml)), state(-1)
        ,isRunning(0), haveData(0)
 #ifdef ENABLE_PRIVATE_EPG
        ,startPrivateTimer(eTimer::create(ml))
index 4d45d87..90aff6c 100644 (file)
@@ -177,7 +177,8 @@ class eEPGCache: public eMainloop, private eThread, public Object
                eEPGCache *cache;
                ePtr<eTimer> abortTimer, zapTimer;
                int prevChannelState;
-               __u8 state, isRunning, haveData;
+               int state;
+               __u8 isRunning, haveData;
                ePtr<eDVBChannel> channel;
                ePtr<eConnection> m_stateChangedConn, m_NowNextConn, m_ScheduleConn, m_ScheduleOtherConn, m_ViasatConn;
                ePtr<iDVBSectionReader> m_NowNextReader, m_ScheduleReader, m_ScheduleOtherReader, m_ViasatReader;
@@ -290,6 +291,8 @@ private:
        void thread();  // thread function
 
 // called from epgcache thread
+       int m_running;
+       char m_filename[1024];
        void save();
        void load();
 #ifdef ENABLE_PRIVATE_EPG
@@ -325,6 +328,9 @@ public:
 #endif
 
 #endif
+       // must be called once!
+       void setCacheFile(const char *filename);
+
        // called from main thread
        inline void Lock();
        inline void Unlock();
index ebdad8a..ea9e738 100644 (file)
@@ -2111,8 +2111,8 @@ RESULT eDVBFrontend::prepare_sat(const eDVBFrontendParametersSatellite &feparm,
                                        return -EINVAL;
                        }
 #if HAVE_DVB_API_VERSION < 5
-                       parm_inversion |= (feparm.rolloff << 2); // Hack.. we use bit 2..3 of inversion param for rolloff
-                       parm_inversion |= (feparm.pilot << 4); // Hack.. we use bit 4..5 of inversion param for pilot
+                       parm_inversion = (fe_spectral_inversion_t)((feparm.rolloff << 2) | parm_inversion); // Hack.. we use bit 2..3 of inversion param for rolloff
+                       parm_inversion = (fe_spectral_inversion_t)((feparm.pilot << 4) | parm_inversion); // Hack.. we use bit 4..5 of inversion param for pilot
                        if (feparm.modulation == eDVBFrontendParametersSatellite::Modulation_8PSK) 
                        {
                                parm_u_qpsk_fec_inner = (fe_code_rate_t)((int)parm_u_qpsk_fec_inner+9);
index f1217a6..f15cd04 100644 (file)
@@ -15,6 +15,7 @@
 #include <lib/base/object.h>
 #include <lib/base/ebase.h>
 #include <lib/base/elock.h>
+#include <lib/base/itssource.h>
 #include <lib/service/service.h>
 #include <libsig_comp.h>
 #include <connection.h>
@@ -605,6 +606,10 @@ public:
        virtual RESULT playFile(const char *file) = 0;
        virtual void stopFile() = 0;
        
+       /* new interface */
+       virtual RESULT playSource(ePtr<iTsSource> &source, const char *priv=NULL) = 0;
+       virtual void stopSource() = 0;
+       
        virtual void setCueSheet(eCueSheet *cuesheet) = 0;
        
        virtual RESULT getLength(pts_t &pts) = 0;
index 98e89f9..1108097 100644 (file)
@@ -1,3 +1,4 @@
-EXTRA_DIST = \
+lowlevelincludedir = $(pkgincludedir)/lib/dvb/lowlevel
+lowlevelinclude_HEADERS = \
        eit.h \
        mhw.h
index ea4b96c..ca56141 100644 (file)
@@ -149,7 +149,7 @@ void eDVBServicePMTHandler::PATready(int)
                serviceEvent(eventNoPAT);
 }
 
-PyObject *eDVBServicePMTHandler::getCaIds()
+PyObject *eDVBServicePMTHandler::getCaIds(bool pair)
 {
        ePyObject ret;
 
@@ -157,20 +157,37 @@ PyObject *eDVBServicePMTHandler::getCaIds()
 
        if ( !getProgramInfo(prog) )
        {
-               int cnt=prog.caids.size();
-               if (cnt)
+               if (pair)
                {
+                       int cnt=prog.caids.size();
+                       if (cnt)
+                       {
+                               ret=PyList_New(cnt);
+                               std::list<program::capid_pair>::iterator it(prog.caids.begin());
+                               while(cnt--)
+                               {
+                                       ePyObject tuple = PyTuple_New(2);
+                                       PyTuple_SET_ITEM(tuple, 0, PyInt_FromLong(it->caid));
+                                       PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong((it++)->capid));
+                                       PyList_SET_ITEM(ret, cnt, tuple);
+                               }
+                       }
+               }
+               else
+               {
+                       std::set<program::capid_pair> set(prog.caids.begin(), prog.caids.end());
+                       std::set<program::capid_pair>::iterator it(set.begin());
+                       int cnt=set.size();
                        ret=PyList_New(cnt);
-                       std::set<uint16_t>::iterator it(prog.caids.begin());
                        while(cnt--)
-                               PyList_SET_ITEM(ret, cnt, PyInt_FromLong(*it++));
+                               PyList_SET_ITEM(ret, cnt, PyInt_FromLong((it++)->caid));
                }
        }
 
        return ret ? (PyObject*)ret : (PyObject*)PyList_New(0);
 }
 
-int eDVBServicePMTHandler::getProgramInfo(struct program &program)
+int eDVBServicePMTHandler::getProgramInfo(program &program)
 {
        ePtr<eTable<ProgramMapSection> > ptr;
        int cached_apid_ac3 = -1;
@@ -460,7 +477,10 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
                                                        case CA_DESCRIPTOR:
                                                        {
                                                                CaDescriptor *descr = (CaDescriptor*)(*desc);
-                                                               program.caids.insert(descr->getCaSystemId());
+                                                               program::capid_pair pair;
+                                                               pair.caid = descr->getCaSystemId();
+                                                               pair.capid = descr->getCaPid();
+                                                               program.caids.push_back(pair);
                                                                break;
                                                        }
                                                        default:
@@ -523,7 +543,10 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
                                        if ((*desc)->getTag() == CA_DESCRIPTOR)
                                        {
                                                CaDescriptor *descr = (CaDescriptor*)(*desc);
-                                               program.caids.insert(descr->getCaSystemId());
+                                               program::capid_pair pair;
+                                               pair.caid = descr->getCaSystemId();
+                                               pair.capid = descr->getCaPid();
+                                               program.caids.push_back(pair);
                                        }
                                }
                        }
@@ -589,8 +612,12 @@ int eDVBServicePMTHandler::getProgramInfo(struct program &program)
                        program.textPid = cached_tpid;
                }
                CAID_LIST &caids = m_service->m_ca;
-               for (CAID_LIST::iterator it(caids.begin()); it != caids.end(); ++it)
-                       program.caids.insert(*it);
+               for (CAID_LIST::iterator it(caids.begin()); it != caids.end(); ++it) {
+                       program::capid_pair pair;
+                       pair.caid = *it;
+                       pair.capid = -1; // not known yet
+                       program.caids.push_back(pair);
+               }
                if ( cnt )
                        ret = 0;
        }
@@ -675,6 +702,12 @@ void eDVBServicePMTHandler::SDTScanEvent(int event)
 
 int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *cue, bool simulate, eDVBService *service)
 {
+       ePtr<iTsSource> s;
+       return tuneExt(ref, use_decode_demux, s, NULL, cue, simulate, service);
+}
+
+int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &source, const char *streaminfo_file, eCueSheet *cue, bool simulate, eDVBService *service)
+{
        RESULT res=0;
        m_reference = ref;
        
@@ -704,7 +737,9 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux,
                {
                        eWarning("no .meta file found, trying to find PMT pid");
                        eDVBTSTools tstools;
-                       if (tstools.openFile(ref.path.c_str()))
+                       if (source)
+                               tstools.setSource(source, streaminfo_file ? streaminfo_file : ref.path.c_str());
+                       else if (tstools.openFile(ref.path.c_str()))
                                eWarning("failed to open file");
                        else
                        {
@@ -757,7 +792,10 @@ int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux,
                if (m_pvr_channel)
                {
                        m_pvr_channel->setCueSheet(cue);
-                       m_pvr_channel->playFile(ref.path.c_str());
+                       if (source)
+                               m_pvr_channel->playSource(source, streaminfo_file);
+                       else
+                               m_pvr_channel->playFile(ref.path.c_str());
                }
        }
 
index 483c06b..5c8fa58 100644 (file)
@@ -181,11 +181,17 @@ public:
 
        struct program
        {
+               struct capid_pair
+               {
+                       uint16_t caid;
+                       int capid;
+                       bool operator< (const struct capid_pair &t) { return t.caid < caid; }
+               };
                std::vector<videoStream> videoStreams;
                std::vector<audioStream> audioStreams;
                int defaultAudioStream;
                std::vector<subtitleStream> subtitleStreams;
-               std::set<uint16_t> caids;
+               std::list<capid_pair> caids;
                int pcrPid;
                int pmtPid;
                int textPid;
@@ -193,10 +199,10 @@ public:
                PyObject *createPythonObject();
        };
 
-       int getProgramInfo(struct program &program);
+       int getProgramInfo(program &program);
        int getDataDemux(ePtr<iDVBDemux> &demux);
        int getDecodeDemux(ePtr<iDVBDemux> &demux);
-       PyObject *getCaIds();
+       PyObject *getCaIds(bool pair=false); // caid / ecmpid pair
        
        int getPVRChannel(ePtr<iDVBPVRChannel> &pvr_channel);
        int getServiceReference(eServiceReferenceDVB &service) { service = m_reference; return 0; }
@@ -205,7 +211,12 @@ public:
        int getChannel(eUsePtr<iDVBChannel> &channel);
        void resetCachedProgram() { m_have_cached_program = false; }
 
+       /* deprecated interface */
        int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
+
+       /* new interface */
+       int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &, const char *streaminfo_file, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
+
        void free();
 private:
        bool m_have_cached_program;
index b37aa71..d559614 100644 (file)
@@ -10,6 +10,7 @@
 #include <lib/dvb/esection.h>
 #include <lib/dvb/scan.h>
 #include <lib/dvb/frontend.h>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
 #include <lib/base/estring.h>
 #include <lib/python/python.h>
@@ -29,7 +30,8 @@ eDVBScan::eDVBScan(iDVBChannel *channel, bool usePAT, bool debug)
        if (m_channel->getDemux(m_demux))
                SCAN_eDebug("scan: failed to allocate demux!");
        m_channel->connectStateChange(slot(*this, &eDVBScan::stateChange), m_stateChanged_connection);
-       FILE *f = fopen("/etc/enigma2/scan_tp_valid_check.py", "r");
+       std::string filename = eEnv::resolve("${sysconfdir}/scan_tp_valid_check.py");
+       FILE *f = fopen(filename.c_str(), "r");
        if (f)
        {
                char code[16384];
@@ -37,7 +39,7 @@ eDVBScan::eDVBScan(iDVBChannel *channel, bool usePAT, bool debug)
                if (rd)
                {
                        code[rd]=0;
-                       m_additional_tsid_onid_check_func = Py_CompileString(code, "/etc/enigma2/scan_tp_valid_check.py", Py_file_input);
+                       m_additional_tsid_onid_check_func = Py_CompileString(code, filename.c_str(), Py_file_input);
                }
                fclose(f);
        }
index d48d44e..a2bc886 100644 (file)
@@ -212,7 +212,7 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
 
                                eSecDebugNoSimulate("ret5 %d", ret);
 
-                               if (ret && lnb_param.SatCR_idx == -1)
+                               if (ret && !is_unicable)
                                {
                                        int lof = sat.frequency > lnb_param.m_lof_threshold ?
                                                lnb_param.m_lof_hi : lnb_param.m_lof_lo;
@@ -300,11 +300,6 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                if ( sit != lnb_param.m_satellites.end())
                {
                        eSecCommandList sec_sequence;
-
-                       lnb_param.guard_offset = 0; //HACK
-
-                       frontend.setData(eDVBFrontend::SATCR, lnb_param.SatCR_idx);
-                       
                        eDVBSatelliteSwitchParameters &sw_param = sit->second;
                        bool doSetFrontend = true;
                        bool doSetVoltageToneFrontend = true;
@@ -327,6 +322,11 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                        eDVBSatelliteDiseqcParameters::t_diseqc_mode diseqc_mode = di_param.m_diseqc_mode;
                        eDVBSatelliteSwitchParameters::t_voltage_mode voltage_mode = sw_param.m_voltage_mode;
                        bool diseqc13V = voltage_mode == eDVBSatelliteSwitchParameters::HV_13;
+                       bool is_unicable = lnb_param.SatCR_idx != -1;
+
+                       lnb_param.guard_offset = 0; //HACK
+
+                       frontend.setData(eDVBFrontend::SATCR, lnb_param.SatCR_idx);
 
                        if (diseqc13V)
                                voltage_mode = eDVBSatelliteSwitchParameters::HV;
@@ -371,13 +371,10 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                        int lof = (band&1)?lnb_param.m_lof_hi:lnb_param.m_lof_lo;
 
-                       int local=0;
-
-
-                       if(lnb_param.SatCR_idx == -1)
+                       if(!is_unicable)
                        {
-                       // calc Frequency
-                               local = abs(sat.frequency 
+                               // calc Frequency
+                               int local= abs(sat.frequency 
                                        - lof);
                                parm.FREQUENCY = ((((local * 2) / 125) + 1) / 2) * 125;
                                frontend.setData(eDVBFrontend::FREQ_OFFSET, sat.frequency - parm.FREQUENCY);
@@ -551,6 +548,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                                        if ( send_mask )
                                        {
+                                               int diseqc_repeats = diseqc_mode > eDVBSatelliteDiseqcParameters::V1_0 ? di_param.m_repeats : 0;
                                                int vlt = iDVBFrontend::voltageOff;
                                                eSecCommand::pair compare;
                                                compare.steps = +3;
@@ -623,7 +621,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        if ( send_mask & 2 )
                                                                ++loops;
 
-                                                       loops <<= di_param.m_repeats;
+                                                       loops <<= diseqc_repeats;
 
                                                        for ( int i = 0; i < loops;)  // fill commands...
                                                        {
@@ -660,7 +658,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                                        int tmp = m_params[DELAY_BETWEEN_DISEQC_REPEATS];
                                                                        if (cmd)
                                                                        {
-                                                                               int delay = di_param.m_repeats ? (tmp - 54) / 2 : tmp;  // standard says 100msek between two repeated commands
+                                                                               int delay = diseqc_repeats ? (tmp - 54) / 2 : tmp;  // standard says 100msek between two repeated commands
                                                                                sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, delay) );
                                                                                diseqc.data[2]=cmd;
                                                                                diseqc.data[3]=(cmd==0x38) ? csw : ucsw;
@@ -693,7 +691,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                        if ( RotorCmd != -1 && RotorCmd != lastRotorCmd )
                                        {
                                                eSecCommand::pair compare;
-                                               if (!send_mask && lnb_param.SatCR_idx == -1)
+                                               if (!send_mask && !is_unicable)
                                                {
                                                        compare.steps = +3;
                                                        compare.tone = iDVBFrontend::toneOff;
@@ -747,10 +745,10 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        diseqc.data[3] = RotorCmd;
                                                        diseqc.data[4] = 0x00;
                                                }
-//                                             if(lnb_param.SatCR_idx == -1)
+//                                             if(!is_unicable)
                                                {
                                                        int mrt = m_params[MOTOR_RUNNING_TIMEOUT]; // in seconds!
-                                                       if ( rotor_param.m_inputpower_parameters.m_use || lnb_param.SatCR_idx == -1)
+                                                       if ( rotor_param.m_inputpower_parameters.m_use && !is_unicable)
                                                        { // use measure rotor input power to detect rotor state
                                                                bool turn_fast = need_turn_fast(rotor_param.m_inputpower_parameters.m_turning_speed);
                                                                eSecCommand::rotor cmd;
@@ -882,7 +880,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                        sec_fe->setData(eDVBFrontend::NEW_UCSW, ucsw);
                        sec_fe->setData(eDVBFrontend::NEW_TONEBURST, di_param.m_toneburst_param);
 
-                       if ((doSetVoltageToneFrontend) && (lnb_param.SatCR_idx == -1))
+                       if (doSetVoltageToneFrontend && !is_unicable)
                        {
                                eSecCommand::pair compare;
                                compare.voltage = voltage;
@@ -898,7 +896,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
 
                        sec_sequence.push_back( eSecCommand(eSecCommand::UPDATE_CURRENT_SWITCHPARMS) );
 
-                       if(lnb_param.SatCR_idx != -1)
+                       if(is_unicable)
                        {
                                // check if voltage is disabled
                                eSecCommand::pair compare;
index d5ad249..1403059 100644 (file)
@@ -7,7 +7,6 @@
 #include <stdio.h>
 
 eDVBTSTools::eDVBTSTools()
-       :m_file_lock(true)
 {
        m_pid = -1;
        m_maxrange = 256*1024;
@@ -23,19 +22,39 @@ eDVBTSTools::eDVBTSTools()
        m_futile = 0;
 }
 
+void eDVBTSTools::closeSource()
+{
+       m_source = NULL;
+}
+
 eDVBTSTools::~eDVBTSTools()
 {
-       closeFile();
+       closeSource();
 }
 
 int eDVBTSTools::openFile(const char *filename, int nostreaminfo)
 {
+       eRawFile *f = new eRawFile();
+       ePtr<iTsSource> src = f;
+
+       if (f->open(filename, 1) < 0)
+               return -1;
+
+       setSource(src, nostreaminfo ? NULL : filename);
+
+       return 0;
+}
+
+void eDVBTSTools::setSource(ePtr<iTsSource> &source, const char *stream_info_filename)
+{
        closeFile();
-       
-       if (!nostreaminfo)
+
+       m_source = source;
+
+       if (stream_info_filename)
        {
-               eDebug("loading streaminfo for %s", filename);
-               m_streaminfo.load(filename);
+               eDebug("loading streaminfo for %s", stream_info_filename);
+               m_streaminfo.load(stream_info_filename);
        }
        
        if (!m_streaminfo.empty())
@@ -45,19 +64,14 @@ int eDVBTSTools::openFile(const char *filename, int nostreaminfo)
 //             eDebug("no recorded stream information available");
                m_use_streaminfo = 0;
        }
-       
-       m_samples_taken = 0;
 
-       eSingleLocker l(m_file_lock);
-       if (m_file.open(filename, 1) < 0)
-               return -1;
-       return 0;
+       m_samples_taken = 0;
 }
 
 void eDVBTSTools::closeFile()
 {
-       eSingleLocker l(m_file_lock);
-       m_file.close();
+       if (m_source)
+               closeSource();
 }
 
 void eDVBTSTools::setSyncPID(int pid)
@@ -77,31 +91,24 @@ int eDVBTSTools::getPTS(off_t &offset, pts_t &pts, int fixed)
                if (!m_streaminfo.getPTS(offset, pts))
                        return 0;
        
-       if (!m_file.valid())
+       if (!m_source || !m_source->valid())
                return -1;
 
        offset -= offset % 188;
 
-       eSingleLocker l(m_file_lock);
-       if (m_file.lseek(offset, SEEK_SET) < 0)
-       {
-               eDebug("lseek failed");
-               return -1;
-       }
-       
        int left = m_maxrange;
        
        while (left >= 188)
        {
                unsigned char packet[188];
-               if (m_file.read(packet, 188) != 188)
+               if (m_source->read(offset, packet, 188) != 188)
                {
                        eDebug("read error");
                        break;
                }
                left -= 188;
                offset += 188;
-               
+
                if (packet[0] != 0x47)
                {
                        eDebug("resync");
@@ -111,8 +118,8 @@ int eDVBTSTools::getPTS(off_t &offset, pts_t &pts, int fixed)
                                if (packet[i] == 0x47)
                                        break;
                                ++i;
+                               --offset;
                        }
-                       offset = m_file.lseek(i - 188, SEEK_CUR);
                        continue;
                }
                
@@ -404,7 +411,7 @@ int eDVBTSTools::getNextAccessPoint(pts_t &ts, const pts_t &start, int direction
 
 void eDVBTSTools::calcBegin()
 {
-       if (!m_file.valid())
+       if (!m_source || !m_source->valid())
                return;
 
        if (!(m_begin_valid || m_futile))
@@ -419,11 +426,10 @@ void eDVBTSTools::calcBegin()
 
 void eDVBTSTools::calcEnd()
 {
-       if (!m_file.valid())
+       if (!m_source || !m_source->valid())
                return;
 
-       eSingleLocker l(m_file_lock);
-       off_t end = m_file.lseek(0, SEEK_END);
+       off_t end = m_source->lseek(0, SEEK_END);
        
        if (llabs(end - m_last_filelength) > 1*1024*1024)
        {
@@ -573,31 +579,28 @@ int eDVBTSTools::takeSample(off_t off, pts_t &p)
 int eDVBTSTools::findPMT(int &pmt_pid, int &service_id)
 {
                /* FIXME: this will be factored out soon! */
-       if (!m_file.valid())
+       if (!m_source || !m_source->valid())
        {
                eDebug(" file not valid");
                return -1;
        }
 
-       eSingleLocker l(m_file_lock);
-       if (m_file.lseek(0, SEEK_SET) < 0)
-       {
-               eDebug("seek failed");
-               return -1;
-       }
+       off_t position=0;
 
        int left = 5*1024*1024;
        
        while (left >= 188)
        {
                unsigned char packet[188];
-               if (m_file.read(packet, 188) != 188)
+               int ret = m_source->read(position, packet, 188);
+               if (ret != 188)
                {
                        eDebug("read error");
                        break;
                }
                left -= 188;
-               
+               position += 188;
+
                if (packet[0] != 0x47)
                {
                        int i = 0;
@@ -605,12 +608,11 @@ int eDVBTSTools::findPMT(int &pmt_pid, int &service_id)
                        {
                                if (packet[i] == 0x47)
                                        break;
+                               --position;
                                ++i;
                        }
-                       m_file.lseek(i - 188, SEEK_CUR);
                        continue;
                }
-               
                int pid = ((packet[1] << 8) | packet[2]) & 0x1FFF;
                
                int pusi = !!(packet[1] & 0x40);
index ed8b924..9982792 100644 (file)
@@ -19,9 +19,12 @@ public:
        eDVBTSTools();
        ~eDVBTSTools();
 
+       void setSource(ePtr<iTsSource> &source, const char *streaminfo_filename=NULL);
+       void closeSource();
+
        int openFile(const char *filename, int nostreaminfo = 0);
        void closeFile();
-       
+
        void setSyncPID(int pid);
        void setSearchRange(int maxrange);
        
@@ -77,8 +80,7 @@ private:
        int m_pid;
        int m_maxrange;
 
-       eSingleLock m_file_lock;
-       eRawFile m_file;
+       ePtr<iTsSource> m_source;
 
        int m_begin_valid, m_end_valid;
        pts_t m_pts_begin, m_pts_end;
index fc7f762..9ef7249 100644 (file)
@@ -1,10 +1,28 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_dvb_ci.a
 
-libenigma_dvb_ci_a_SOURCES = dvbci.cpp dvbci_session.cpp dvbci_resmgr.cpp \
-                                                                                                                dvbci_appmgr.cpp dvbci_camgr.cpp \
-                                                                                                                dvbci_datetimemgr.cpp dvbci_mmi.cpp \
-                                                                                                                dvbci_ui.cpp
+libenigma_dvb_ci_a_SOURCES = \
+       dvbci.cpp \
+       dvbci_appmgr.cpp \
+       dvbci_camgr.cpp \
+       dvbci_datetimemgr.cpp \
+       dvbci_mmi.cpp \
+       dvbci_resmgr.cpp \
+       dvbci_session.cpp \
+       dvbci_ui.cpp
 
+dvbciincludedir = $(pkgincludedir)/lib/dvb_ci
+dvbciinclude_HEADERS = \
+       dvbci.h \
+       dvbci_appmgr.h \
+       dvbci_camgr.h \
+       dvbci_datetimemgr.h \
+       dvbci_mmi.h \
+       dvbci_resmgr.h \
+       dvbci_session.h \
+       dvbci_ui.h
index 883fb5a..8a43e5b 100644 (file)
@@ -297,8 +297,9 @@ void eDVBCIInterfaces::recheckPMTHandlers()
                if (!pmthandler->getProgramInfo(p))
                {
                        int cnt=0;
-                       for (caidSet::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt)
-                               caids.push_front(*x);
+                       std::set<eDVBServicePMTHandler::program::capid_pair> set(p.caids.begin(), p.caids.end());
+                       for (std::set<eDVBServicePMTHandler::program::capid_pair>::reverse_iterator x(set.rbegin()); x != set.rend(); ++x, ++cnt)
+                               caids.push_front(x->caid);
                        if (service && cnt)
                                service->m_ca = caids;
                }
index 1280556..20321f5 100644 (file)
@@ -1,15 +1,58 @@
-INCLUDES = \
-       -I$(top_srcdir)/include -I$(top_srcdir)/lib/gdi/ati
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
+
+AM_CXXFLAGS = \
+       $(LIBSDL_CFLAGS)
 
 noinst_LIBRARIES = libenigma_gdi.a
 
 libenigma_gdi_a_SOURCES = \
-       region.cpp grc.cpp epng.cpp erect.cpp fb.cpp font.cpp font_arabic.cpp gfbdc.cpp  \
-       glcddc.cpp gpixmap.cpp lcd.cpp gfont.cpp accel.cpp picload.cpp picexif.cpp \
-       compositing.cpp bcm.cpp
+       accel.cpp \
+       bcm.cpp \
+       compositing.cpp \
+       epng.cpp \
+       erect.cpp \
+       fb.cpp \
+       font.cpp \
+       font_arabic.cpp \
+       gfont.cpp \
+       glcddc.cpp \
+       gmaindc.cpp \
+       gpixmap.cpp \
+       grc.cpp \
+       lcd.cpp \
+       picexif.cpp \
+       picload.cpp \
+       region.cpp
 
-if WITH_SDL
-libenigma_gdi_a_SOURCES += sdl.cpp
-endif
+gdiincludedir = $(pkgincludedir)/lib/gdi
+gdiinclude_HEADERS = \
+       accel.h \
+       compositing.h \
+       epng.h \
+       epoint.h \
+       erect.h \
+       esize.h \
+       fb.h \
+       font.h \
+       gfont.h \
+       glcddc.h \
+       gpixmap.h \
+       grc.h \
+       lcd.h \
+       picexif.h \
+       picload.h \
+       region.h
 
-#      ati/2dablt.cpp ati/2dcore.cpp ati/ati_core.cpp ati/test.cpp ati/2dutil.cpp
+if HAVE_LIBSDL
+libenigma_gdi_a_SOURCES += \
+       sdl.cpp \
+       sdl.h
+else
+libenigma_gdi_a_SOURCES += \
+       gfbdc.cpp \
+       gfbdc.h
+endif
index 972a89d..fd33298 100644 (file)
@@ -1,3 +1,4 @@
+#define PNG_SKIP_SETJMP_CHECK
 #include <png.h>
 #include <stdio.h>
 #include <lib/gdi/epng.h>
index a5db43a..9e17547 100644 (file)
 // use this for init Freetype...
 #include <ft2build.h>
 #include FT_FREETYPE_H
-#ifdef HAVE_FREETYPE2
 #define FTC_Image_Cache_New(a,b)       FTC_ImageCache_New(a,b)
 #define FTC_Image_Cache_Lookup(a,b,c,d)        FTC_ImageCache_Lookup(a,b,c,d,NULL)
 #define FTC_SBit_Cache_New(a,b)                FTC_SBitCache_New(a,b)
 #define FTC_SBit_Cache_Lookup(a,b,c,d) FTC_SBitCache_Lookup(a,b,c,d,NULL)
-#endif
 
 #include <lib/base/eerror.h>
 #include <lib/gdi/lcd.h>
 #include <lib/base/init.h>
 #include <lib/base/init_num.h>
 
-#define HAVE_FRIBIDI
-// until we have it in the cdk
-
-#ifdef HAVE_FRIBIDI
 #include <fribidi/fribidi.h>
-#endif
 
 #include <map>
 
@@ -42,10 +35,6 @@ fontRenderClass *fontRenderClass::instance;
 
 static pthread_mutex_t ftlock=PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
 
-#ifndef HAVE_FREETYPE2
-static FTC_Font cache_current_font=0;
-#endif
-
 struct fntColorCacheKey
 {
        gRGB start, end;
@@ -210,12 +199,8 @@ float fontRenderClass::getLineHeight(const gFont& font)
                return 0;
        singleLock s(ftlock);
        FT_Face current_face;
-#ifdef HAVE_FREETYPE2
        if ((FTC_Manager_LookupFace(cacheManager, fnt->scaler.face_id, &current_face) < 0) ||
            (FTC_Manager_LookupSize(cacheManager, &fnt->scaler, &fnt->size) < 0))
-#else
-       if (FTC_Manager_Lookup_Size(cacheManager, &fnt->font.font, &current_face, &fnt->size)<0)
-#endif
        {
                eDebug("FTC_Manager_Lookup_Size failed!");
                return 0;
@@ -263,7 +248,6 @@ DEFINE_REF(Font);
 Font::Font(fontRenderClass *render, FTC_FaceID faceid, int isize, int tw): tabwidth(tw)
 {
        renderer=render;
-#ifdef HAVE_FREETYPE2
        font.face_id = faceid;
        font.width = isize;
        font.height = isize;
@@ -272,12 +256,6 @@ Font::Font(fontRenderClass *render, FTC_FaceID faceid, int isize, int tw): tabwi
        scaler.width = isize;
        scaler.height = isize;
        scaler.pixel = 1;
-#else
-       font.font.face_id=faceid;
-       font.font.pix_width     = isize;
-       font.font.pix_height = isize;
-       font.image_type = ftc_image_grays;
-#endif
        height=isize;
        if (tabwidth==-1)
                tabwidth=8*isize;
@@ -474,18 +452,12 @@ void eTextPara::setFont(Font *fnt, Font *replacement)
                        // we ask for replacment_font first becauseof the cache
        if (replacement_font)
        {
-#ifdef HAVE_FREETYPE2
                if ((FTC_Manager_LookupFace(fontRenderClass::instance->cacheManager,
                                            replacement_font->scaler.face_id,
                                            &replacement_face) < 0) ||
                    (FTC_Manager_LookupSize(fontRenderClass::instance->cacheManager,
                                            &replacement_font->scaler,
                                            &replacement_font->size) < 0))
-#else
-               if (FTC_Manager_Lookup_Size(fontRenderClass::instance->cacheManager, 
-                               &replacement_font->font.font, &replacement_face, 
-                               &replacement_font->size)<0)
-#endif
                {
                        eDebug("FTC_Manager_Lookup_Size failed!");
                        return;
@@ -493,24 +465,17 @@ void eTextPara::setFont(Font *fnt, Font *replacement)
        }
        if (current_font)
        {
-#ifdef HAVE_FREETYPE2
                if ((FTC_Manager_LookupFace(fontRenderClass::instance->cacheManager,
                                            current_font->scaler.face_id,
                                            &current_face) < 0) ||
                    (FTC_Manager_LookupSize(fontRenderClass::instance->cacheManager,
                                            &current_font->scaler,
                                            &current_font->size) < 0))
-#else
-               if (FTC_Manager_Lookup_Size(fontRenderClass::instance->cacheManager, &current_font->font.font, &current_face, &current_font->size)<0)
-#endif
                {
                        eDebug("FTC_Manager_Lookup_Size failed!");
                        return;
                }
        }
-#ifndef HAVE_FREETYPE2
-       cache_current_font=&current_font->font.font;
-#endif
        previous=0;
        use_kerning=FT_HAS_KERNING(current_face);
 }
@@ -525,7 +490,6 @@ int eTextPara::renderString(const char *string, int rflags)
        if (!current_font)
                return -1;
 
-#ifdef HAVE_FREETYPE2
        if ((FTC_Manager_LookupFace(fontRenderClass::instance->cacheManager,
                                    current_font->scaler.face_id,
                                    &current_face) < 0) ||
@@ -536,17 +500,6 @@ int eTextPara::renderString(const char *string, int rflags)
                eDebug("FTC_Manager_Lookup_Size failed!");
                return -1;
        }
-#else
-       if (&current_font->font.font != cache_current_font)
-       {
-               if (FTC_Manager_Lookup_Size(fontRenderClass::instance->cacheManager, &current_font->font.font, &current_face, &current_font->size)<0)
-               {
-                       eDebug("FTC_Manager_Lookup_Size failed!");
-                       return -1;
-               }
-               cache_current_font=&current_font->font.font;
-       }
-#endif
 
        if (!current_face)
                eFatal("eTextPara::renderString: no current_face");
@@ -610,7 +563,6 @@ int eTextPara::renderString(const char *string, int rflags)
        
                // now do the usual logical->visual reordering
        int size=uc_shape.size();
-#ifdef HAVE_FRIBIDI
        FriBidiCharType dir=FRIBIDI_TYPE_ON;
        uc_visual.resize(size);
        // gaaanz lahm, aber anders geht das leider nicht, sorry.
@@ -618,9 +570,6 @@ int eTextPara::renderString(const char *string, int rflags)
        std::copy(uc_shape.begin(), uc_shape.end(), array);
        fribidi_log2vis(array, size, &dir, target, 0, 0, 0);
        uc_visual.assign(target, target+size);
-#else
-       uc_visual=uc_shape;
-#endif
 
        glyphs.reserve(size);
        
@@ -714,13 +663,11 @@ nprint:   isprintable=0;
        }
        bboxValid=false;
        calc_bbox();
-#ifdef HAVE_FRIBIDI
        if (dir & FRIBIDI_MASK_RTL)
        {
                realign(dirRight);
                doTopBottomReordering=true;
        }
-#endif
 
        if (charCount)
        {
@@ -739,7 +686,6 @@ void eTextPara::blit(gDC &dc, const ePoint &offset, const gRGB &background, cons
        if (!current_font)
                return;
 
-#ifdef HAVE_FREETYPE2
        if ((FTC_Manager_LookupFace(fontRenderClass::instance->cacheManager,
                                    current_font->scaler.face_id,
                                    &current_face) < 0) ||
@@ -750,17 +696,6 @@ void eTextPara::blit(gDC &dc, const ePoint &offset, const gRGB &background, cons
                eDebug("FTC_Manager_Lookup_Size failed!");
                return;
        }
-#else
-       if (&current_font->font.font != cache_current_font)
-       {
-               if (FTC_Manager_Lookup_Size(fontRenderClass::instance->cacheManager, &current_font->font.font, &current_face, &current_font->size)<0)
-               {
-                       eDebug("FTC_Manager_Lookup_Size failed!");
-                       return;
-               }
-               cache_current_font=&current_font->font.font;
-       }
-#endif
 
        ePtr<gPixmap> target;
        dc.getPixmap(target);
index 7dd9f89..6b82183 100644 (file)
@@ -8,11 +8,9 @@
 #include FT_CACHE_H
 #include FT_CACHE_IMAGE_H
 #include FT_CACHE_SMALL_BITMAPS_H
-#ifdef HAVE_FREETYPE2
 typedef FTC_ImageCache FTC_Image_Cache;
 typedef FTC_ImageTypeRec FTC_Image_Desc;
 typedef FTC_SBitCache FTC_SBit_Cache;
-#endif
 #include <vector>
 #include <list>
 
@@ -191,9 +189,7 @@ class Font: public iObject
 {
        DECLARE_REF(Font);
 public:
-#ifdef HAVE_FREETYPE2
        FTC_ScalerRec scaler;
-#endif
        FTC_Image_Desc font;
        fontRenderClass *renderer;
        FT_Error getGlyphBitmap(FT_ULong glyph_index, FTC_SBit *sbit);
index 80dd247..a4f65eb 100644 (file)
@@ -7,18 +7,8 @@
 
 #include <time.h>
 
-gFBDC *gFBDC::instance;
-
-ePtr<gFBDC> NewgFBDCPtr(void)
-{
-       ePtr<gFBDC> ptr;
-       gFBDC::getInstance(ptr);
-       return ptr;
-}
-
 gFBDC::gFBDC()
 {
-       instance=this;
        fb=new fbClass;
 
        if (!fb->Available())
@@ -34,7 +24,6 @@ gFBDC::~gFBDC()
 {
        delete fb;
        delete[] surface.clut.data;
-       instance=0;
 }
 
 void gFBDC::calcRamp()
@@ -91,7 +80,7 @@ void gFBDC::setPalette()
        fb->PutCMAP();
 }
 
-void gFBDC::exec(gOpcode *o)
+void gFBDC::exec(const gOpcode *o)
 {
        switch (o->opcode)
        {
@@ -242,7 +231,4 @@ void gFBDC::reloadSettings()
        setPalette();
 }
 
-// eAutoInitPtr<gFBDC> init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC");
-#ifndef WITH_SDL
 eAutoInitPtr<gFBDC> init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC");
-#endif
index 23051c4..7f76d0c 100644 (file)
@@ -3,17 +3,12 @@
 
 #include "fb.h"
 #include "gpixmap.h"
-#include "grc.h"
+#include "gmaindc.h"
 
-class gFBDC;
-
-SWIG_IGNORE(gFBDC);
-class gFBDC: public gDC
+class gFBDC: public gMainDC
 {
-#ifndef SWIG
        fbClass *fb;
-       static gFBDC *instance;
-       void exec(gOpcode *opcode);
+       void exec(const gOpcode *opcode);
        unsigned char ramp[256], rampalpha[256]; // RGB ramp 0..255
        int brightness, gamma, alpha;
        void calcRamp();
@@ -21,13 +16,8 @@ class gFBDC: public gDC
        gSurface surface, surface_back;
        int m_enable_double_buffering;
        int m_xres, m_yres;
-#else
-       gFBDC();
-       virtual ~gFBDC();
-#endif
 public:
        void setResolution(int xres, int yres);
-#ifndef SWIG
        void reloadSettings();
        void setAlpha(int alpha);
        void setBrightness(int brightness);
@@ -43,17 +33,7 @@ public:
 
        gFBDC();
        virtual ~gFBDC();
-       static int getInstance(ePtr<gFBDC> &ptr) { if (!instance) return -1; ptr = instance; return 0; }
        int islocked() { return fb->islocked(); }
-#endif
 };
-SWIG_TEMPLATE_TYPEDEF(ePtr<gFBDC>, gFBDC);
-SWIG_EXTEND(ePtr<gFBDC>,
-       static ePtr<gFBDC> getInstance()
-       {
-               extern ePtr<gFBDC> NewgFBDCPtr(void);
-               return NewgFBDCPtr();
-       }
-);
 
 #endif
index a593cfa..bade53b 100644 (file)
@@ -30,7 +30,7 @@ gLCDDC::~gLCDDC()
        instance=0;
 }
 
-void gLCDDC::exec(gOpcode *o)
+void gLCDDC::exec(const gOpcode *o)
 {
        switch (o->opcode)
        {
index 6d5f383..a2b3c7f 100644 (file)
@@ -9,7 +9,7 @@ class gLCDDC: public gDC
        eLCD *lcd;
        static gLCDDC *instance;
        int update;
-       void exec(gOpcode *opcode);
+       void exec(const gOpcode *opcode);
        gSurface surface;
 public:
        gLCDDC();
diff --git a/lib/gdi/gmaindc.cpp b/lib/gdi/gmaindc.cpp
new file mode 100644 (file)
index 0000000..4890027
--- /dev/null
@@ -0,0 +1,28 @@
+#include <lib/gdi/gmaindc.h>
+
+gMainDC *gMainDC::m_instance;
+
+ePtr<gMainDC> NewgMainDCPtr(void)
+{
+       ePtr<gMainDC> ptr;
+       gMainDC::getInstance(ptr);
+       return ptr;
+}
+
+gMainDC::gMainDC()
+{
+       ASSERT(m_instance == 0);
+       m_instance = this;
+}
+
+gMainDC::gMainDC(gPixmap *pixmap) : gDC(pixmap)
+{
+       ASSERT(m_instance == 0);
+       m_instance = this;
+}
+
+gMainDC::~gMainDC()
+{
+       m_instance = 0;
+}
+
diff --git a/lib/gdi/gmaindc.h b/lib/gdi/gmaindc.h
new file mode 100644 (file)
index 0000000..780be2e
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef __lib_gdi_gmaindc_h
+#define __lib_gdi_gmaindc_h
+
+#include "grc.h"
+
+class gMainDC;
+
+SWIG_IGNORE(gMainDC);
+class gMainDC: public gDC
+{
+protected:
+       static gMainDC *m_instance;
+
+       gMainDC();
+       gMainDC(gPixmap *pixmap);
+       virtual ~gMainDC();
+public:
+       virtual void setResolution(int xres, int yres) = 0;
+#ifndef SWIG
+       static int getInstance(ePtr<gMainDC> &ptr) { if (!m_instance) return -1; ptr = m_instance; return 0; }
+#endif
+};
+
+SWIG_TEMPLATE_TYPEDEF(ePtr<gMainDC>, gMainDC);
+SWIG_EXTEND(ePtr<gMainDC>,
+       static ePtr<gMainDC> getInstance()
+       {
+               extern ePtr<gMainDC> NewgMainDCPtr(void);
+               return NewgMainDCPtr();
+       }
+);
+
+#endif
index dff6b05..a45b3b1 100644 (file)
@@ -609,7 +609,7 @@ gDC::~gDC()
        delete[] m_spinner_pic;
 }
 
-void gDC::exec(gOpcode *o)
+void gDC::exec(const gOpcode *o)
 {
        switch (o->opcode)
        {
index 3b8201a..38caa10 100644 (file)
@@ -286,7 +286,7 @@ protected:
        eRect m_spinner_pos;
        int m_spinner_num, m_spinner_i;
 public:
-       virtual void exec(gOpcode *opcode);
+       virtual void exec(const gOpcode *opcode);
        gDC(gPixmap *pixmap);
        gDC();
        virtual ~gDC();
@@ -296,10 +296,10 @@ public:
        virtual eSize size() { return m_pixmap->size(); }
        virtual int islocked() { return 0; }
        
-       void enableSpinner();
-       void disableSpinner();
-       void incrementSpinner();
-       void setSpinner(eRect pos, ePtr<gPixmap> *pic, int len);
+       virtual void enableSpinner();
+       virtual void disableSpinner();
+       virtual void incrementSpinner();
+       virtual void setSpinner(eRect pos, ePtr<gPixmap> *pic, int len);
 };
 
 #endif
index a7dc22d..518ee1b 100644 (file)
@@ -4,8 +4,12 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
+#if defined(HAVE_DBOX_FP_H) && defined(HAVE_DBOX_LCD_KS0713_H)
 #include <dbox/fp.h>
 #include <dbox/lcd-ks0713.h>
+#else
+#define NO_LCD 1
+#endif
 
 #include <lib/gdi/esize.h>
 #include <lib/base/init.h>
@@ -70,10 +74,6 @@ eDBoxLCD::eDBoxLCD()
                eDebug("found OLED display!");
                is_oled = 1;
        }
-#else
-       lcdfd = -1;
-#endif
-       instance=this;
 
        if (lcdfd<0)
                eDebug("couldn't open LCD - load lcd.o!");
@@ -106,6 +106,9 @@ eDBoxLCD::eDBoxLCD()
                        is_oled = 3;
                }
        }
+#endif
+       instance=this;
+
        setSize(xres, yres, bpp);
 }
 
@@ -117,6 +120,7 @@ void eDBoxLCD::setInverted(unsigned char inv)
 
 int eDBoxLCD::setLCDContrast(int contrast)
 {
+#ifndef NO_LCD
        int fp;
        if((fp=open("/dev/dbox/fp0", O_RDWR))<=0)
        {
@@ -129,11 +133,13 @@ int eDBoxLCD::setLCDContrast(int contrast)
                eDebug("[LCD] can't set lcd contrast");
        }
        close(fp);
+#endif
        return(0);
 }
 
 int eDBoxLCD::setLCDBrightness(int brightness)
 {
+#ifndef NO_LCD
        eDebug("setLCDBrightness %d", brightness);
        FILE *f=fopen("/proc/stb/lcd/oled_brightness", "w");
        if (!f)
@@ -157,6 +163,7 @@ int eDBoxLCD::setLCDBrightness(int brightness)
                        eDebug("[LCD] can't set lcd brightness (%m)");
                close(fp);
        }
+#endif
        return(0);
 }
 
index c162f89..0ce10c0 100644 (file)
@@ -1,4 +1,5 @@
-#include <png.h>       // must be included before Python.h because of setjmp
+#define PNG_SKIP_SETJMP_CHECK
+#include <png.h>
 #include <fcntl.h>
 
 #include <lib/gdi/picload.h>
index 6dbdb67..eb4e2ae 100644 (file)
@@ -1,80 +1,83 @@
-#ifdef WITH_SDL
 #include <lib/gdi/sdl.h>
-
+#include <lib/actions/action.h>
 #include <lib/base/init.h>
 #include <lib/base/init_num.h>
+#include <lib/driver/input_fake.h>
+#include <lib/driver/rcsdl.h>
 
 #include <SDL.h>
 
-gSDLDC *gSDLDC::m_instance;
-
-gSDLDC::gSDLDC()
+gSDLDC::gSDLDC() : m_pump(eApp, 1)
 {
-       if (SDL_Init(SDL_INIT_VIDEO) < 0)
-       {
+       if (SDL_Init(SDL_INIT_VIDEO) < 0) {
                eWarning("Could not initialize SDL: %s", SDL_GetError());
                return;
        }
-       
-       m_screen = SDL_SetVideoMode(720, 576, 32, SDL_HWSURFACE);
-       if (!m_screen)
-       {
-               eWarning("Could not create SDL surface: %s", SDL_GetError());
-               return;
-       }
 
-       m_instance=this;
-       
+       setResolution(720, 576);
+
+       CONNECT(m_pump.recv_msg, gSDLDC::pumpEvent);
+
        m_surface.type = 0;
-       m_surface.x = m_screen->w;
-       m_surface.y = m_screen->h;
-       m_surface.bpp = m_screen->format->BitsPerPixel;
-       m_surface.bypp = m_screen->format->BytesPerPixel;
-       m_surface.stride = m_screen->pitch;
-       m_surface.data = m_screen->pixels;
-       m_surface.clut.colors=256;
-       m_surface.clut.data=new gRGB[m_surface.clut.colors];
-       
+       m_surface.clut.colors = 256;
+       m_surface.clut.data = new gRGB[m_surface.clut.colors];
+
        m_pixmap = new gPixmap(&m_surface);
-       
+
        memset(m_surface.clut.data, 0, sizeof(*m_surface.clut.data)*m_surface.clut.colors);
+
+       run();
 }
 
 gSDLDC::~gSDLDC()
 {
+       pushEvent(EV_QUIT);
+       kill();
        SDL_Quit();
-       m_instance=0;
 }
 
-void gSDLDC::setPalette()
+void gSDLDC::keyEvent(const SDL_Event &event)
 {
-       if (!m_surface.clut.data)
-               return;
-       
-/*     for (int i=0; i<256; ++i)
-       {
-               fb->CMAP()->red[i]=ramp[m_surface.clut.data[i].r]<<8;
-               fb->CMAP()->green[i]=ramp[m_surface.clut.data[i].g]<<8;
-               fb->CMAP()->blue[i]=ramp[m_surface.clut.data[i].b]<<8;
-               fb->CMAP()->transp[i]=rampalpha[m_surface.clut.data[i].a]<<8;
-               if (!fb->CMAP()->red[i])
-                       fb->CMAP()->red[i]=0x100;
-       }
-       fb->PutCMAP(); */
+       eSDLInputDriver *driver = eSDLInputDriver::getInstance();
+
+       eDebug("SDL Key %s: key=%d", (event.type == SDL_KEYDOWN) ? "Down" : "Up", event.key.keysym.sym);
+
+       if (driver)
+               driver->keyPressed(&event.key);
 }
 
-void gSDLDC::exec(gOpcode *o)
+void gSDLDC::pumpEvent(const SDL_Event &event)
 {
-       switch (o->opcode)
-       {
-       case gOpcode::setPalette:
-       {
-               gDC::exec(o);
-               setPalette();
+       switch (event.type) {
+       case SDL_KEYDOWN:
+       case SDL_KEYUP:
+               keyEvent(event);
+               break;
+       case SDL_QUIT:
+               eDebug("SDL Quit");
+               extern void quitMainloop(int exit_code);
+               quitMainloop(0);
                break;
        }
+}
+
+void gSDLDC::pushEvent(enum event code, void *data1, void *data2)
+{
+       SDL_Event event;
+
+       event.type = SDL_USEREVENT;
+       event.user.code = code;
+       event.user.data1 = data1;
+       event.user.data2 = data2;
+
+       SDL_PushEvent(&event);
+}
+
+void gSDLDC::exec(const gOpcode *o)
+{
+       switch (o->opcode) {
        case gOpcode::flush:
-               SDL_Flip(m_screen);
+               pushEvent(EV_FLIP);
                eDebug("FLUSH");
                break;
        default:
@@ -83,6 +86,68 @@ void gSDLDC::exec(gOpcode *o)
        }
 }
 
-eAutoInitPtr<gSDLDC> init_gSDLDC(eAutoInitNumbers::graphic-1, "gSDLDC");
+void gSDLDC::setResolution(int xres, int yres)
+{
+       pushEvent(EV_SET_VIDEO_MODE, (void *)xres, (void *)yres);
+}
+
+/*
+ * SDL thread below...
+ */
+
+void gSDLDC::evSetVideoMode(unsigned long xres, unsigned long yres)
+{
+       m_screen = SDL_SetVideoMode(xres, yres, 32, SDL_HWSURFACE);
+       if (!m_screen) {
+               eFatal("Could not create SDL surface: %s", SDL_GetError());
+               return;
+       }
 
-#endif
+       m_surface.x = m_screen->w;
+       m_surface.y = m_screen->h;
+       m_surface.bpp = m_screen->format->BitsPerPixel;
+       m_surface.bypp = m_screen->format->BytesPerPixel;
+       m_surface.stride = m_screen->pitch;
+       m_surface.data = m_screen->pixels;
+
+       SDL_EnableUNICODE(1);
+}
+
+void gSDLDC::evFlip()
+{
+       SDL_Flip(m_screen);
+}
+
+void gSDLDC::thread()
+{
+       hasStarted();
+
+       bool stop = false;
+       while (!stop) {
+               SDL_Event event;
+               if (SDL_WaitEvent(&event)) {
+                       switch (event.type) {
+                       case SDL_KEYDOWN:
+                       case SDL_KEYUP:
+                       case SDL_QUIT:
+                               m_pump.send(event);
+                               break;
+                       case SDL_USEREVENT:
+                               switch (event.user.code) {
+                               case EV_SET_VIDEO_MODE:
+                                       evSetVideoMode((unsigned long)event.user.data1, (unsigned long)event.user.data2);
+                                       break;
+                               case EV_FLIP:
+                                       evFlip();
+                                       break;
+                               case EV_QUIT:
+                                       stop = true;
+                                       break;
+                               }
+                               break;
+                       }
+               }
+       }
+}
+
+eAutoInitPtr<gSDLDC> init_gSDLDC(eAutoInitNumbers::graphic-1, "gSDLDC");
index 20ff04f..6d016cf 100644 (file)
@@ -1,27 +1,39 @@
 #ifndef __lib_gdi_sdl_h
 #define __lib_gdi_sdl_h
 
-#include "fb.h"
-#include "gpixmap.h"
-#include "grc.h"
+#include <lib/base/thread.h>
+#include <lib/gdi/gmaindc.h>
 
 #include <SDL.h>
 
-class gSDLDC: public gDC
+class gSDLDC: public gMainDC, public eThread, public Object
 {
+private:
        SDL_Surface *m_screen;
-       static gSDLDC *m_instance;
-       void exec(gOpcode *opcode);
+       void exec(const gOpcode *opcode);
 
-       void setPalette();
        gSurface m_surface;
+
+       eFixedMessagePump<SDL_Event> m_pump;
+       void keyEvent(const SDL_Event &event);
+       void pumpEvent(const SDL_Event &event);
+       virtual void thread();
+
+       enum event {
+               EV_SET_VIDEO_MODE,
+               EV_FLIP,
+               EV_QUIT,
+       };
+
+       void pushEvent(enum event code, void *data1 = 0, void *data2 = 0);
+       void evSetVideoMode(unsigned long xres, unsigned long yres);
+       void evFlip();
+
 public:
-       
+       void setResolution(int xres, int yres);
        gSDLDC();
        virtual ~gSDLDC();
-       static int getInstance(ePtr<gSDLDC> &ptr) { if (!m_instance) return -1; ptr = m_instance; return 0; }
        int islocked() { return 0; }
 };
 
-
 #endif
index f4de9d1..9d31bf7 100644 (file)
@@ -1,11 +1,50 @@
-INCLUDES = \
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
        -I$(top_srcdir)/include \
-       -I$(top_srcdir)/src
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_gui.a
 
 libenigma_gui_a_SOURCES = \
-       ebutton.cpp elabel.cpp eslider.cpp ewidget.cpp ewidgetdesktop.cpp  \
-       ewindow.cpp ewindowstyle.cpp elistbox.cpp elistboxcontent.cpp \
-       epixmap.cpp ewindowstyleskinned.cpp einput.cpp einputstring.cpp einputnumber.cpp \
-       ewidgetanimation.cpp epositiongauge.cpp evideo.cpp esubtitle.cpp ecanvas.cpp
+       ebutton.cpp \
+       ecanvas.cpp \
+       einput.cpp \
+       einputnumber.cpp \
+       einputstring.cpp \
+       elabel.cpp \
+       elistbox.cpp \
+       elistboxcontent.cpp \
+       epixmap.cpp \
+       epositiongauge.cpp \
+       eslider.cpp \
+       esubtitle.cpp \
+       evideo.cpp \
+       ewidget.cpp \
+       ewidgetanimation.cpp \
+       ewidgetdesktop.cpp \
+       ewindow.cpp \
+       ewindowstyle.cpp \
+       ewindowstyleskinned.cpp
+
+guiincludedir = $(pkgincludedir)/lib/gui
+guiinclude_HEADERS = \
+       ebutton.h \
+       ecanvas.h \
+       einput.h \
+       einputnumber.h \
+       einputstring.h \
+       elabel.h \
+       elistbox.h \
+       elistboxcontent.h \
+       epixmap.h \
+       epositiongauge.h \
+       eslider.h \
+       esubtitle.h \
+       evideo.h \
+       ewidget.h \
+       ewidgetanimation.h \
+       ewidgetdesktop.h \
+       ewindow.h \
+       ewindowstyle.h \
+       ewindowstyleskinned.h
index 43fbc59..a19e11a 100644 (file)
@@ -501,6 +501,7 @@ eListboxPythonMultiContent::~eListboxPythonMultiContent()
 {
        Py_XDECREF(m_buildFunc);
        Py_XDECREF(m_selectableFunc);
+       Py_XDECREF(m_template);
 }
 
 void eListboxPythonMultiContent::setSelectionClip(eRect &rect, bool update)
@@ -967,6 +968,9 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c
                                if (ppixmap)
                                {
                                        ePtr<gPixmap> pixmap;
+                                       if (PyInt_Check(ppixmap) && data) /* if the pixmap is in fact a number, it refers to the data list */
+                                               ppixmap = PyTuple_GetItem(data, PyInt_AsLong(ppixmap));
+
                                        if (SwigFromPython(pixmap, ppixmap))
                                        {
                                                eDebug("eListboxPythonMultiContent (Pixmap) get pixmap failed");
@@ -1155,5 +1159,7 @@ void eListboxPythonMultiContent::entryRemoved(int idx)
 
 void eListboxPythonMultiContent::setTemplate(ePyObject tmplate)
 {
+       Py_XDECREF(m_template);
        m_template = tmplate;
+       Py_XINCREF(m_template);
 }
index 98bc1f7..08bd047 100644 (file)
@@ -381,7 +381,10 @@ void eWidgetDesktop::makeCompatiblePixmap(gPixmap &pm)
        ePtr<gPixmap> target_pixmap;
        m_screen.m_dc->getPixmap(target_pixmap);
        
-       ASSERT(target_pixmap);
+       if (!target_pixmap) {
+               eDebug("no target pixmap! assuming bpp > 8 for accelerated graphics.");
+               return;
+       }
        
        if (target_pixmap->surface && target_pixmap->surface->bpp > 8)
                return;
index 68a74e0..0ecdc2a 100644 (file)
@@ -28,7 +28,9 @@ eWindowStyleManager::~eWindowStyleManager()
 
 void eWindowStyleManager::getStyle(int style_id, ePtr<eWindowStyle> &style)
 {
-       style = m_current_style[style_id];
+       std::map<int, ePtr<eWindowStyle> >::iterator it = m_current_style.find(style_id);
+       ASSERT(it != m_current_style.end());
+       style = it->second;
 }
 
 void eWindowStyleManager::setStyle(int style_id, eWindowStyle *style)
index 020c988..392c52c 100644 (file)
@@ -1,6 +1,14 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_mmi.a
 
-libenigma_mmi_a_SOURCES = mmi_ui.cpp
+libenigma_mmi_a_SOURCES = \
+       mmi_ui.cpp
+
+mmiincludedir = $(pkgincludedir)/lib/mmi
+mmiinclude_HEADERS = \
+       mmi_ui.h
index 0320cb2..3d57d6a 100644 (file)
@@ -1,9 +1,16 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 noinst_LIBRARIES = libenigma_nav.a
 
 libenigma_nav_a_SOURCES = \
-       core.cpp pcore.cpp
-
+       core.cpp \
+       pcore.cpp
 
+navincludedir = $(pkgincludedir)/lib/nav
+navinclude_HEADERS = \
+       core.h \
+       pcore.h
diff --git a/lib/python/.gitignore b/lib/python/.gitignore
new file mode 100644 (file)
index 0000000..c1fa59f
--- /dev/null
@@ -0,0 +1,2 @@
+enigma.py
+enigma_python.cpp
old mode 100755 (executable)
new mode 100644 (file)
index e8e612a..0f1a8fc
@@ -5,23 +5,27 @@ from SystemInfo import SystemInfo
 import time
 from Components.Console import Console
 
+def MajorMinor(path):
+       rdev = stat(path).st_rdev
+       return (major(rdev),minor(rdev))
+
 def readFile(filename):
        file = open(filename)
        data = file.read().strip()
        file.close()
        return data
 
-class Harddisk:
-       DEVTYPE_UDEV = 0
-       DEVTYPE_DEVFS = 1
+DEVTYPE_UDEV = 0
+DEVTYPE_DEVFS = 1
 
+class Harddisk:
        def __init__(self, device):
                self.device = device
 
                if access("/dev/.udev", 0):
-                       self.type = self.DEVTYPE_UDEV
+                       self.type = DEVTYPE_UDEV
                elif access("/dev/.devfsd", 0):
-                       self.type = self.DEVTYPE_DEVFS
+                       self.type = DEVTYPE_DEVFS
                else:
                        print "Unable to determine structure of /dev"
 
@@ -33,11 +37,11 @@ class Harddisk:
                self.disk_path = ''
                self.phys_path = path.realpath(self.sysfsPath('device'))
 
-               if self.type == self.DEVTYPE_UDEV:
+               if self.type == DEVTYPE_UDEV:
                        self.dev_path = '/dev/' + self.device
                        self.disk_path = self.dev_path
 
-               elif self.type == self.DEVTYPE_DEVFS:
+               elif self.type == DEVTYPE_DEVFS:
                        tmp = readFile(self.sysfsPath('dev')).split(':')
                        s_major = int(tmp[0])
                        s_minor = int(tmp[1])
@@ -60,9 +64,9 @@ class Harddisk:
                return self.device < ob.device
 
        def partitionPath(self, n):
-               if self.type == self.DEVTYPE_UDEV:
+               if self.type == DEVTYPE_UDEV:
                        return self.dev_path + n
-               elif self.type == self.DEVTYPE_DEVFS:
+               elif self.type == DEVTYPE_DEVFS:
                        return self.dev_path + '/part' + n
 
        def sysfsPath(self, filename):
@@ -75,9 +79,9 @@ class Harddisk:
 
        def bus(self):
                # CF (7025 specific)
-               if self.type == self.DEVTYPE_UDEV:
+               if self.type == DEVTYPE_UDEV:
                        ide_cf = False  # FIXME
-               elif self.type == self.DEVTYPE_DEVFS:
+               elif self.type == DEVTYPE_DEVFS:
                        ide_cf = self.device[:2] == "hd" and "host0" not in self.dev_path
 
                internal = "pci" in self.phys_path
@@ -125,18 +129,20 @@ class Harddisk:
 
                for line in lines:
                        parts = line.strip().split(" ")
-                       if path.realpath(parts[0]).startswith(self.dev_path):
-                               try:
+                       real_path = path.realpath(parts[0])
+                       if not real_path[-1].isdigit():
+                               continue
+                       try:
+                               if MajorMinor(real_path) == MajorMinor(self.partitionPath(real_path[-1])):
                                        stat = statvfs(parts[1])
-                               except OSError:
-                                       continue
-                               return stat.f_bfree/1000 * stat.f_bsize/1000
-
+                                       return stat.f_bfree/1000 * stat.f_bsize/1000
+                       except OSError:
+                               pass
                return -1
 
        def numPartitions(self):
                numPart = -1
-               if self.type == self.DEVTYPE_UDEV:
+               if self.type == DEVTYPE_UDEV:
                        try:
                                devdir = listdir('/dev')
                        except OSError:
@@ -145,7 +151,7 @@ class Harddisk:
                                if filename.startswith(self.device):
                                        numPart += 1
 
-               elif self.type == self.DEVTYPE_DEVFS:
+               elif self.type == DEVTYPE_DEVFS:
                        try:
                                idedir = listdir(self.dev_path)
                        except OSError:
@@ -168,10 +174,17 @@ class Harddisk:
 
                cmd = "umount"
 
-               for line in lines:
-                       parts = line.strip().split(" ")
-                       if path.realpath(parts[0]).startswith(self.dev_path):
-                               cmd = ' ' . join([cmd, parts[1]])
+                for line in lines:                                                                          
+                        parts = line.strip().split(" ")                                                     
+                        real_path = path.realpath(parts[0])                                                 
+                        if not real_path[-1].isdigit():                                                     
+                                continue                                                                    
+                        try:                                                                                
+                                if MajorMinor(real_path) == MajorMinor(self.partitionPath(real_path[-1])):
+                                       cmd = ' ' . join([cmd, parts[1]])
+                                       break
+                       except OSError:
+                               pass
 
                res = system(cmd)
                return (res >> 8)
@@ -201,10 +214,16 @@ class Harddisk:
                res = -1
                for line in lines:
                        parts = line.strip().split(" ")
-                       if path.realpath(parts[0]) == self.partitionPath("1"):
-                               cmd = "mount -t ext3 " + parts[0]
-                               res = system(cmd)
-                               break
+                        real_path = path.realpath(parts[0])                                                 
+                        if not real_path[-1].isdigit():                                                     
+                                continue                                                                    
+                        try:                                                                                
+                                if MajorMinor(real_path) == MajorMinor(self.partitionPath(real_path[-1])):
+                                       cmd = "mount -t ext3 " + parts[0]
+                                       res = system(cmd)
+                                       break
+                       except OSError:
+                               pass
 
                return (res >> 8)
 
@@ -394,24 +413,38 @@ class Partition:
                                return True
                return False
 
-DEVICEDB =  \
+DEVICEDB_SR = \
        {"dm8000":
                {
-                       # dm8000:
-                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0": "Front USB Slot",
-                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0": "Back, upper USB Slot",
-                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.3/1-1.3:1.0": "Back, lower USB Slot",
-                       "/devices/platform/brcm-ehci-1.1/usb2/2-1/2-1:1.0/host1/target1:0:0/1:0:0:0": "DVD Drive",
+                       "/devices/pci0000:01/0000:01:00.0/host0/target0:0:0/0:0:0:0": _("DVD Drive"),
+                       "/devices/pci0000:01/0000:01:00.0/host1/target1:0:0/1:0:0:0": _("DVD Drive"),
+                       "/devices/platform/brcm-ehci-1.1/usb2/2-1/2-1:1.0/host3/target3:0:0/3:0:0:0": _("DVD Drive"),
+               },
+       "dm800":
+       {
+       },
+       "dm7025":
+       {
+       }
+       }
+
+DEVICEDB = \
+       {"dm8000":
+               {
+                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0": _("Front USB Slot"),
+                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.2/1-1.2:1.0": _("Back, upper USB Slot"),
+                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.3/1-1.3:1.0": _("Back, lower USB Slot"),
+                       "/devices/platform/brcm-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0": _("Front USB Slot"),
+                       "/devices/platform/brcm-ehci-1.1/usb2/2-1/2-1:1.0/": _("Internal USB Slot"),
+                       "/devices/platform/brcm-ohci-1.1/usb4/4-1/4-1:1.0/": _("Internal USB Slot"),
                },
        "dm800":
        {
-               # dm800:
                "/devices/platform/brcm-ehci.0/usb1/1-2/1-2:1.0": "Upper USB Slot",
                "/devices/platform/brcm-ehci.0/usb1/1-1/1-1:1.0": "Lower USB Slot",
        },
        "dm7025":
        {
-               # dm7025:
                "/devices/pci0000:00/0000:00:14.1/ide1/1.0": "CF Card Slot", #hdc
                "/devices/pci0000:00/0000:00:14.1/ide0/0.0": "Internal Harddisk"
        }
@@ -422,6 +455,7 @@ class HarddiskManager:
                self.hdd = [ ]
                self.cd = ""
                self.partitions = [ ]
+               self.devices_scanned_on_init = [ ]
 
                self.on_partition_list_change = CList()
 
@@ -489,24 +523,23 @@ class HarddiskManager:
        def enumerateBlockDevices(self):
                print "enumerating block devices..."
                for blockdev in listdir("/sys/block"):
-                       error, blacklisted, removable, is_cdrom, partitions, medium_found = self.getBlockDevInfo(blockdev)
-                       print "found block device '%s':" % blockdev, 
-                       if error:
-                               print "error querying properties"
-                       elif blacklisted:
-                               print "blacklisted"
-                       elif not medium_found:
-                               print "no medium"
-                       else:
-                               print "ok, removable=%s, cdrom=%s, partitions=%s, device=%s" % (removable, is_cdrom, partitions, blockdev)
-
-                               self.addHotplugPartition(blockdev)
-                               for part in partitions:
-                                       self.addHotplugPartition(part)
+                       error, blacklisted, removable, is_cdrom, partitions, medium_found = self.addHotplugPartition(blockdev)
+                       if not error and not blacklisted:
+                               if medium_found:
+                                       for part in partitions:
+                                               self.addHotplugPartition(part)
+                               self.devices_scanned_on_init.append((blockdev, removable, is_cdrom, medium_found))
 
        def getAutofsMountpoint(self, device):
                return "/autofs/%s/" % (device)
 
+       def is_hard_mounted(self, device):
+               mounts = file('/proc/mounts').read().split('\n')
+               for x in mounts:
+                       if x.find('/autofs') == -1 and x.find(device) != -1:
+                               return True
+               return False
+
        def addHotplugPartition(self, device, physdev = None):
                if not physdev:
                        dev, part = self.splitDeviceName(device)
@@ -516,22 +549,36 @@ class HarddiskManager:
                                physdev = dev
                                print "couldn't determine blockdev physdev for device", device
 
-               # device is the device name, without /dev
-               # physdev is the physical device path, which we (might) use to determine the userfriendly name
-               description = self.getUserfriendlyDeviceName(device, physdev)
+               error, blacklisted, removable, is_cdrom, partitions, medium_found = self.getBlockDevInfo(device)
+               print "found block device '%s':" % device,
 
-               p = Partition(mountpoint = self.getAutofsMountpoint(device), description = description, force_mounted = True, device = device)
-               self.partitions.append(p)
-               self.on_partition_list_change("add", p)
+               if blacklisted:
+                       print "blacklisted"
+               else:
+                       if error:
+                               print "error querying properties"
+                       elif not medium_found:
+                               print "no medium"
+                       else:
+                               print "ok, removable=%s, cdrom=%s, partitions=%s" % (removable, is_cdrom, partitions)
+
+                       l = len(device)
+                       if l:
+                               # see if this is a harddrive
+                               if not device[l-1].isdigit() and not removable and not is_cdrom:
+                                       self.hdd.append(Harddisk(device))
+                                       self.hdd.sort()
+                                       SystemInfo["Harddisk"] = len(self.hdd) > 0
+
+                               if (not removable or medium_found) and not self.is_hard_mounted(device):
+                                       # device is the device name, without /dev
+                                       # physdev is the physical device path, which we (might) use to determine the userfriendly name
+                                       description = self.getUserfriendlyDeviceName(device, physdev)
+                                       p = Partition(mountpoint = self.getAutofsMountpoint(device), description = description, force_mounted = True, device = device)
+                                       self.partitions.append(p)
+                                       self.on_partition_list_change("add", p)
 
-               # see if this is a harddrive
-               l = len(device)
-               if l and not device[l-1].isdigit():
-                       error, blacklisted, removable, is_cdrom, partitions, medium_found = self.getBlockDevInfo(device)
-                       if not blacklisted and not removable and not is_cdrom and medium_found:
-                               self.hdd.append(Harddisk(device))
-                               self.hdd.sort()
-                               SystemInfo["Harddisk"] = len(self.hdd) > 0
+               return error, blacklisted, removable, is_cdrom, partitions, medium_found
 
        def removeHotplugPartition(self, device):
                mountpoint = self.getAutofsMountpoint(device)
@@ -589,15 +636,23 @@ class HarddiskManager:
        def getUserfriendlyDeviceName(self, dev, phys):
                dev, part = self.splitDeviceName(dev)
                description = "External Storage %s" % dev
+               have_model_descr = False
                try:
                        description = readFile("/sys" + phys + "/model")
+                       have_model_descr = True
                except IOError, s:
                        print "couldn't read model: ", s
                from Tools.HardwareInfo import HardwareInfo
-               for physdevprefix, pdescription in DEVICEDB.get(HardwareInfo().device_name,{}).items():
+               if dev.find('sr') == 0 and dev[2].isdigit():
+                       devicedb = DEVICEDB_SR
+               else:
+                       devicedb = DEVICEDB
+               for physdevprefix, pdescription in devicedb.get(HardwareInfo().device_name,{}).items():
                        if phys.startswith(physdevprefix):
-                               description = pdescription
-
+                               if have_model_descr:
+                                       description = pdescription + ' - ' + description
+                               else:
+                                       description = pdescription
                # not wholedisk and not partition 1
                if part and part != 1:
                        description += " (Partition %d)" % part
index 820d103..b026cd5 100755 (executable)
@@ -1,6 +1,7 @@
 from Components.Console import Console
 from os import listdir as os_listdir, path as os_path
 from re import compile as re_compile
+from enigma import eEnv
 
 class Keyboard:
        def __init__(self):
@@ -8,9 +9,9 @@ class Keyboard:
                self.readKeyboardMapFiles()
 
        def readKeyboardMapFiles(self):
-               for keymapfile in os_listdir('/usr/share/keymaps/'):
+               for keymapfile in os_listdir(eEnv.resolve('${datadir}/keymaps/')):
                        if (keymapfile.endswith(".info")):
-                               f = open('/usr/share/keymaps/' + keymapfile)
+                               f = open(eEnv.resolve('${datadir}/keymaps/') + keymapfile)
                                mapfile = None
                                mapname = None
                                for line in f:
@@ -32,7 +33,7 @@ class Keyboard:
                try:
                        keymap = self.keyboardmaps[index]
                        print "Activating keymap:",keymap[1]
-                       keymappath = '/usr/share/keymaps/' + keymap[0]
+                       keymappath = eEnv.resolve('${datadir}/keymaps/') + keymap[0]
                        if os_path.exists(keymappath):
                                Console().ePopen(("loadkmap < " + str(keymappath)))
                except:
index 7303186..7f7dd5c 100644 (file)
@@ -10,7 +10,7 @@ from enigma import eDVBSatelliteEquipmentControl as secClass, \
        eDVBSatelliteDiseqcParameters as diseqcParam, \
        eDVBSatelliteSwitchParameters as switchParam, \
        eDVBSatelliteRotorParameters as rotorParam, \
-       eDVBResourceManager, eDVBDB
+       eDVBResourceManager, eDVBDB, eEnv
 
 from time import localtime, mktime
 from datetime import datetime
@@ -390,6 +390,7 @@ class SecConfigure:
 
                                        if currLnb.diseqcMode.value == "1_0":
                                                currCO = currLnb.commandOrder1_0.value
+                                               sec.setRepeats(0)
                                        else:
                                                currCO = currLnb.commandOrder.value
 
@@ -1082,7 +1083,7 @@ def InitNimManager(nimmgr):
 
        unicablelnbproducts = {}
        unicablematrixproducts = {}
-       doc = xml.etree.cElementTree.parse("/usr/share/enigma2/unicable.xml")
+       doc = xml.etree.cElementTree.parse(eEnv.resolve("${datadir}/enigma2/unicable.xml"))
        root = doc.getroot()
 
        entry = root.find("lnb")
index 797ea39..0e65257 100644 (file)
@@ -1,5 +1,5 @@
 from MenuList import MenuList
-from Components.ParentalControl import parentalControl, IMG_WHITESERVICE, IMG_WHITEBOUQUET, IMG_BLACKSERVICE, IMG_BLACKBOUQUET
+from Components.ParentalControl import IMG_WHITESERVICE, IMG_WHITEBOUQUET, IMG_BLACKSERVICE, IMG_BLACKBOUQUET
 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
 
 from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
@@ -32,13 +32,14 @@ class ParentalControlList(MenuList):
                self.l.setItemHeight(32)
 
        def toggleSelectedLock(self):
+               from Components.ParentalControl import parentalControl
                print "self.l.getCurrentSelection():", self.l.getCurrentSelection()
                print "self.l.getCurrentSelectionIndex():", self.l.getCurrentSelectionIndex()
                curSel = self.l.getCurrentSelection()
                if curSel[0][2]:
                        parentalControl.unProtectService(self.l.getCurrentSelection()[0][0])
                else:
-                       parentalControl.protectService(self.l.getCurrentSelection()[0][0])      
+                       parentalControl.protectService(self.l.getCurrentSelection()[0][0])
                #Instead of just negating the locked- flag, now I call the getProtectionType every time...
                self.list[self.l.getCurrentSelectionIndex()] = ParentalControlEntryComponent(curSel[0][0], curSel[0][1], parentalControl.getProtectionType(curSel[0][0]))
                self.l.setList(self.list)
index 5ae43ed..51dc09a 100644 (file)
@@ -2,11 +2,11 @@
 ## Picon renderer by Gruffy .. some speedups by Ghost
 ##
 from Renderer import Renderer
-from enigma import ePixmap
+from enigma import ePixmap, eEnv
 from Tools.Directories import fileExists, SCOPE_SKIN_IMAGE, SCOPE_CURRENT_SKIN, resolveFilename
 
 class Picon(Renderer):
-       searchPaths = ('/usr/share/enigma2/%s/',
+       searchPaths = (eEnv.resolve('${datadir}/enigma2/%s/'),
                                '/media/cf/%s/',
                                '/media/usb/%s/')
 
index b86c1a1..8ea9aa6 100644 (file)
@@ -1,7 +1,7 @@
 from Components.Harddisk import harddiskmanager
 from config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet, ConfigLocations
 from Tools.Directories import resolveFilename, SCOPE_HDD
-from enigma import Misc_Options, setTunerTypePriorityOrder;
+from enigma import Misc_Options, setTunerTypePriorityOrder, eEnv;
 from SystemInfo import SystemInfo
 import os
 
@@ -94,7 +94,7 @@ def InitUsageConfig():
 
        SystemInfo["12V_Output"] = Misc_Options.getInstance().detected_12V_output()
 
-       config.usage.keymap = ConfigText(default = "/usr/share/enigma2/keymap.xml")
+       config.usage.keymap = ConfigText(default = eEnv.resolve("${datadir}/enigma2/keymap.xml"))
 
        config.seek = ConfigSubsection()
        config.seek.selfdefined_13 = ConfigNumber(default=15)
index d7506e3..6e56085 100755 (executable)
@@ -1624,16 +1624,17 @@ class Config(ConfigSubsection):
                self.pickle_this("config", self.saved_value, result)
                return ''.join(result)
 
-       def unpickle(self, lines):
+       def unpickle(self, lines, base_file=True):
                tree = { }
                for l in lines:
                        if not l or l[0] == '#':
                                continue
 
                        n = l.find('=')
+                       name = l[:n]
                        val = l[n+1:].strip()
 
-                       names = l[:n].split('.')
+                       names = name.split('.')
 #                      if val.find(' ') != -1:
 #                              val = val[:val.find(' ')]
 
@@ -1644,6 +1645,15 @@ class Config(ConfigSubsection):
 
                        base[names[-1]] = val
 
+                       if not base_file: # not the initial config file..
+                               #update config.x.y.value when exist
+                               try:
+                                       configEntry = eval(name)
+                                       if configEntry is not None:
+                                               configEntry.value = val
+                               except (SyntaxError, KeyError):
+                                       pass
+
                # we inherit from ConfigSubsection, so ...
                #object.__setattr__(self, "saved_value", tree["config"])
                if "config" in tree:
@@ -1655,9 +1665,9 @@ class Config(ConfigSubsection):
                f.write(text)
                f.close()
 
-       def loadFromFile(self, filename):
+       def loadFromFile(self, filename, base_file=False):
                f = open(filename, "r")
-               self.unpickle(f.readlines())
+               self.unpickle(f.readlines(), base_file)
                f.close()
 
 config = Config()
@@ -1668,7 +1678,7 @@ class ConfigFile:
 
        def load(self):
                try:
-                       config.loadFromFile(self.CONFIG_FILE)
+                       config.loadFromFile(self.CONFIG_FILE, True)
                except IOError, e:
                        print "unable to load config (%s), assuming defaults..." % str(e)
 
index e38f7d8..666ba67 100644 (file)
@@ -1,23 +1,45 @@
-INCLUDES = \
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
        -I$(top_srcdir)/include \
-       -I$(top_srcdir)/src
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
 SUBDIRS = Components Tools Screens Plugins
 
 noinst_LIBRARIES = libenigma_python.a
 
 libenigma_python_a_SOURCES = \
-       python.cpp enigma_python_wrap.cxx connections.cpp
+       connections.cpp \
+       python.cpp
 
-enigma_python_wrap.cxx: enigma_python.i
-       swig -I$(top_srcdir)/ -c++ -python -O -nortti -nothreads enigma_python.i
-       python enigma_py_patcher.py
+pythonincludedir = $(pkgincludedir)/lib/python
+pythoninclude_HEADERS = \
+       connections.h \
+       python.h \
+       swig.h
 
-enigma.py: enigma_python_wrap.cxx
+nodist_libenigma_python_a_SOURCES = \
+       enigma_python.cpp
 
-CLEANFILES = enigma.py enigma_python_wrap.cxx
+noinst_PYTHON = \
+       enigma_py_patcher.py
+
+EXTRA_DIST = \
+       enigma_python.i
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enigma_python.Pcpp@am__quote@
+
+.i.cpp:
+       $(AM_V_GEN)$(SWIG) $(AX_SWIG_PYTHON_OPT) -MT $@ -MD -MF $(DEPDIR)/$*.Tpo -I$(top_srcdir) -O -nortti -nothreads -o $@ $<
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Pcpp
+       $(AM_V_at)$(PYTHON) $(srcdir)/enigma_py_patcher.py
+
+enigma.py: enigma_python.cpp
+
+CLEANFILES = enigma.py enigma_python.cpp
 
 installdir = $(pkglibdir)/python
 
 install_PYTHON = \
        enigma.py
+
index 3ccca98..4828081 100644 (file)
@@ -1,4 +1,4 @@
-installdir = $(LIBDIR)/enigma2/python/Plugins/DemoPlugins/TPMDemo
+installdir = $(pkglibdir)/python/Plugins/DemoPlugins/TPMDemo
 
 install_PYTHON = \
        __init__.py \
index 7f755db..6dbcd49 100644 (file)
@@ -2,6 +2,7 @@ from Tools.Directories import fileExists
 from Components.config import config, ConfigSubsection, ConfigInteger, ConfigText, ConfigSelection, getConfigListEntry, ConfigSequence, ConfigSubList
 import DVDTitle
 import xml.dom.minidom
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_FONTS
 
 class ConfigColor(ConfigSequence):
        def __init__(self, default = [128,128,128]):
@@ -125,6 +126,14 @@ class DVDProject:
                        for key in self.filekeys:
                                val = self.settings.dict()[key].getValue()
                                if not fileExists(val):
+                                       if val[0] != "/":
+                                               if key.find("font") == 0:
+                                                       val = resolveFilename(SCOPE_FONTS)+val
+                                               else:
+                                                       val = resolveFilename(SCOPE_PLUGINS)+"Extensions/DVDBurn/"+val
+                                               if fileExists(val):
+                                                       self.settings.dict()[key].setValue(val)
+                                                       continue
                                        self.error += "\n%s '%s' not found" % (key, val)
                #except AttributeError:
                        #print "loadProject AttributeError", self.error
index 451e8a8..4645260 100644 (file)
@@ -3,11 +3,11 @@
        <settings
                name="Dreambox DVD record"
                authormode="menu_linked"
-               menutemplate="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/Thumbs_menu_clouds.ddvdm.xml"
+               menutemplate="Thumbs_menu_clouds.ddvdm.xml"
                titlesetmode="multi"
-               vmgm="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/vmgmdream.mpg"
+               vmgm="vmgmdream.mpg"
                output="dvd"
-               isopath="/media/hdd/movie/"
+               isopath="/hdd/movie/"
                dataformat="iso9660_4"
        />
        <titles> </titles>
index 0de7f4b..bf6356a 100644 (file)
@@ -3,17 +3,17 @@
        <settings
                titleformat="$i. $t"
                subtitleformat="$D.$M.$Y, $T $C, $d"
-               menubg="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/dreamdvd_boat.jpg"
-               menuaudio="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/silence.mp2"
+               menubg="dreamdvd_boat.jpg"
+               menuaudio="silence.mp2"
                dimensions="(720, 576)"
                rows="5"
                cols="1"
                color_button="[8, 0, 0]"
                color_highlight="[0, 192, 192]"
                color_headline="[0, 0, 128]"
-               fontface_headline="/usr/share/fonts/nmsbd.ttf"
-               fontface_title="/usr/share/fonts/nmsbd.ttf"
-               fontface_subtitle="/usr/share/fonts/nmsbd.ttf"
+               fontface_headline="nmsbd.ttf"
+               fontface_title="nmsbd.ttf"
+               fontface_subtitle="nmsbd.ttf"
                fontsize_headline="46"
                fontsize_title="24"
                fontsize_subtitle="14"
index c00c3fe..074f203 100644 (file)
@@ -3,17 +3,17 @@
        <settings
                titleformat="$t"
                subtitleformat="$d"
-               menubg="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/dreamdvd_clouds.jpg"
-               menuaudio="/usr/lib/enigma2/python/Plugins/Extensions/DVDBurn/silence.mp2"
+               menubg="dreamdvd_clouds.jpg"
+               menuaudio="silence.mp2"
                dimensions="(720, 576)"
                rows="2"
                cols="2"
                color_button="[8, 0, 0]"
                color_highlight="[128, 0, 0]"
                color_headline="[128, 0, 0]"
-               fontface_headline="/usr/share/fonts/nmsbd.ttf"
-               fontface_title="/usr/share/fonts/nmsbd.ttf"
-               fontface_subtitle="/usr/share/fonts/nmsbd.ttf"
+               fontface_headline="nmsbd.ttf"
+               fontface_title="nmsbd.ttf"
+               fontface_subtitle="nmsbd.ttf"
                fontsize_headline="46"
                fontsize_title="18"
                fontsize_subtitle="12"
index 71ea714..ec212e4 100644 (file)
@@ -1,4 +1,3 @@
-if HAVE_DDVDLIB
 SUBDIRS = src meta
 
 installdir = $(pkglibdir)/python/Plugins/Extensions/DVDPlayer
@@ -8,4 +7,3 @@ install_PYTHON = \
        plugin.py \
        keymap.xml \
        LICENSE
-endif
index 64b4ae5..e1ab3ef 100755 (executable)
@@ -39,8 +39,11 @@ class FileBrowser(Screen):
                                currDir = "/media/dvd/"
                        if not pathExists(currDir):
                                currDir = "/"
+                       if lastpath == "":  # 'None' is magic to start at the list of mountpoints
+                               currDir = None
 
-                       self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso)", useServiceRef = True)
+                       inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/home", "/lib", "/proc", "/sbin", "/share", "/sys", "/tmp", "/usr", "/var"]
+                       self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso|img)", useServiceRef = True)
                        self["filelist"] = self.filelist
 
                self["FilelistActions"] = ActionMap(["SetupActions"],
@@ -79,6 +82,12 @@ class FileBrowser(Screen):
                                        lastpath = (pathname.rstrip("/").rsplit("/",1))[0]
                                        print "lastpath video_ts.ifo=", lastpath
                                        self.close(pathname)
+                               if fileExists(pathname+"VIDEO_TS/VIDEO_TS.IFO"):
+                                       print "dvd structure found, trying to open..."
+                                       lastpath = (pathname.rstrip("/").rsplit("/",1))[0]
+                                       print "lastpath video_ts.ifo=", lastpath
+                                       pathname += "VIDEO_TS"
+                                       self.close(pathname)
                        else:
                                lastpath = filename[0:filename.rfind("/")]
                                print "lastpath directory=", lastpath
@@ -625,6 +634,14 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                        newref = eServiceReference(4369, 0, val)
                        print "play", newref.toString()
                        if curref is None or curref != newref:
+                               if newref.toString().endswith("/VIDEO_TS") or newref.toString().endswith("/"):
+                                       names = newref.toString().rsplit("/",3)
+                                       if names[2].startswith("Disk ") or names[2].startswith("DVD "):
+                                               name = str(names[1]) + " - " + str(names[2])
+                                       else:
+                                               name = names[2]
+                                       print "setting name to: ", self.service
+                                       newref.setName(str(name))
                                self.session.nav.playService(newref)
                                self.service = self.session.nav.getCurrentService()
                                print "self.service", self.service
index 27c751c..7aaec9b 100644 (file)
@@ -1,17 +1,15 @@
-OBJS := servicedvd.cpp
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
--include $(OBJS:.cpp=.d)
+plugindir = $(pkglibdir)/python/Plugins/Extensions/DVDPlayer
 
-installdir = $(pkglibdir)/python/Plugins/Extensions/DVDPlayer
+plugin_LTLIBRARIES = servicedvd.la
 
-install_PYTHON = \
-       servicedvd.so
+servicedvd_la_SOURCES = \
+       servicedvd.cpp \
+       servicedvd.h
 
-servicedvd.so:
-       $(CXX) $(CPPFLAGS) -MD $(CXXFLAGS) $(DEFS) -I$(top_srcdir)/include \
-       -Wall -W $(OBJS) -shared -fPIC -Wl,-soname,servicedvd.so -o servicedvd.so \
-       $(LDFLAGS) -ldreamdvd
-
-all: servicedvd.so
-
-CLEANFILES = servicedvd.so servicedvd.d
+servicedvd_la_LDFLAGS = -avoid-version -module
index 2ba5392..5fbfb0a 100644 (file)
@@ -32,6 +32,7 @@ eServiceFactoryDVD::eServiceFactoryDVD()
        {
                std::list<std::string> extensions;
                extensions.push_back("iso");
+               extensions.push_back("img");
                sc->addServiceFactory(eServiceFactoryDVD::id, this, extensions);
        }
 }
@@ -480,7 +481,10 @@ RESULT eServiceDVD::getName(std::string &name)
        if ( m_ddvd_titlestring[0] != '\0' )
                name = m_ddvd_titlestring;
        else
-               name = m_ref.path;
+               if ( !m_ref.name.empty() )
+                       name = m_ref.name;
+               else
+                       name = m_ref.path;
        return 0;
 }
 
index 5a6e3f3..7a3a9be 100755 (executable)
@@ -1,6 +1,10 @@
 installdir = $(pkglibdir)/python/Plugins/Extensions
 
-SUBDIRS = TuxboxPlugins CutListEditor PicturePlayer MediaScanner MediaPlayer GraphMultiEPG SocketMMI DVDPlayer DVDBurn Modem
+SUBDIRS = TuxboxPlugins CutListEditor PicturePlayer MediaScanner MediaPlayer GraphMultiEPG SocketMMI DVDBurn Modem
+
+if HAVE_LIBDDVD
+SUBDIRS += DVDPlayer
+endif
 
 install_PYTHON =       \
        __init__.py
index 8e80e18..5ce7d03 100644 (file)
@@ -1,17 +1,15 @@
-OBJS = socket_mmi.cpp
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
 
--include $(OBJS:.cpp=.d)
+plugindir = $(pkglibdir)/python/Plugins/Extensions/SocketMMI
 
-installdir = $(pkglibdir)/python/Plugins/Extensions/SocketMMI
+plugin_LTLIBRARIES = socketmmi.la
 
-install_PYTHON = \
-       socketmmi.so
+socketmmi_la_SOURCES = \
+       socket_mmi.cpp \
+       socket_mmi.h
 
-socketmmi.so: socket_mmi.cpp socket_mmi.h
-       $(CXX) $(CPPFLAGS) -MD $(CXXFLAGS) $(DEFS) -I$(top_srcdir)/include \
-       -Wall -W $(OBJS) -shared -fPIC -Wl,-soname,socketmmi.so -o socketmmi.so \
-       $(LDFLAGS)
-
-all: socketmmi.so
-
-CLEANFILES = socketmmi.so socketmmi.d
+socketmmi_la_LDFLAGS = -avoid-version -module
index 2c0edf5..52296c6 100755 (executable)
@@ -12,7 +12,7 @@ from ServiceReference import ServiceReference
 from Plugins.Plugin import PluginDescriptor
 from xml.etree.cElementTree import parse as ci_parse
 from Tools.XMLTools import elementsWithTag, mergeText, stringToXML
-from enigma import eDVBCI_UI, eDVBCIInterfaces
+from enigma import eDVBCI_UI, eDVBCIInterfaces, eEnv
 
 from os import system, path as os_path
 
@@ -115,7 +115,7 @@ class CIconfigMenu(Screen):
 
                Screen.__init__(self, session)
                self.ci_slot=ci_slot
-               self.filename="/etc/enigma2/ci"+str(self.ci_slot)+".xml"
+               self.filename = eEnv.resolve("${sysconfdir}/enigma2/ci") + str(self.ci_slot) + ".xml"
 
                self["key_red"] = StaticText(_("Delete"))
                self["key_green"] = StaticText(_("add Service"))
@@ -567,7 +567,7 @@ def activate_all(session):
                        return Len > 0 and definitions[Len-1].text or default   
 
                for ci in range(NUM_CI):
-                       filename="/etc/enigma2/ci"+str(ci)+".xml"
+                       filename = eEnv.resolve("${sysconfdir}/enigma2/ci") + str(ci) + ".xml"
 
                        if not os_path.exists(filename):
                                print "[CI_Activate_Config_CI%d] no config file found" %ci
index b19007c..1f379f1 100644 (file)
 from Plugins.Plugin import PluginDescriptor
-from twisted.internet.protocol import Protocol, Factory
-from twisted.internet import reactor
 from Components.Harddisk import harddiskmanager
+from Tools.Directories import fileExists
 
 hotplugNotifier = [ ]
+bdpoll = None
 
-class Hotplug(Protocol):
-       def connectionMade(self):
-               self.received = ""
+def processHotplugData(self, v):
+       print "hotplug:", v
+       action = v.get("ACTION")
+       device = v.get("DEVPATH")
+       physdevpath = v.get("PHYSDEVPATH")
+       media_state = v.get("X_E2_MEDIA_STATUS")
 
-       def dataReceived(self, data):
-               self.received += data
+       dev = device.split('/')[-1]
 
-       def connectionLost(self, reason):
-               data = self.received.split('\0')[:-1]
+       if action is not None and action == "add":
+               error, blacklisted, removable, is_cdrom, partitions, medium_found = harddiskmanager.addHotplugPartition(dev, physdevpath)
+               if bdpoll and removable or is_cdrom:
+                       bdpoll.addDevice(dev, is_cdrom, medium_found)
+       elif action is not None and action == "remove":
+               if bdpoll:
+                       bdpoll.removeDevice(dev)
+               harddiskmanager.removeHotplugPartition(dev)
+       elif media_state is not None:
+               if media_state == '1':
+                       harddiskmanager.removeHotplugPartition(dev)
+                       harddiskmanager.addHotplugPartition(dev, physdevpath)
+               elif media_state == '0':
+                       harddiskmanager.removeHotplugPartition(dev)
 
-               v = {}
+       for callback in hotplugNotifier:
+               try:
+                       callback(dev, action or media_state)
+               except AttributeError:
+                       hotplugNotifier.remove(callback)
 
-               for x in data:
-                       i = x.find('=')
-                       var, val = x[:i], x[i+1:]
-                       v[var] = val
+CDROM_DRIVE_STATUS = 0x5326
+CDROM_MEDIA_CHANGED = 0x5325
+CDSL_CURRENT = ((int)(~0>>1))
+CDS_NO_INFO = 0
+CDS_NO_DISC = 1
+CDS_TRAY_OPEN = 2
+CDS_DRIVE_NOT_READY = 3
+CDS_DISC_OK = 4
+ENOMEDIUM = 159
+IOC_NRBITS = 8
+IOC_NRSHIFT = 0
+IOC_TYPESHIFT = (IOC_NRSHIFT+IOC_NRBITS)
+BLKRRPART = ((0x12<<IOC_TYPESHIFT) | (95<<IOC_NRSHIFT))
 
-               print "hotplug:", v
+def autostart(reason, **kwargs):
+       if reason == 0:
+               print "starting hotplug handler"
 
-               action = v.get("ACTION")
-               device = v.get("DEVPATH")
-               physdevpath = v.get("PHYSDEVPATH")
-               media_state = v.get("X_E2_MEDIA_STATUS")
+               if fileExists('/dev/.udev'):
+                       global netlink
+                       global bdpoll
+                       from enigma import eSocketNotifier, eTimer, ePythonMessagePump
+                       import socket
+                       from select import POLLIN, POLLPRI
 
-               dev = device.split('/')[-1]
+                       class Netlink:
+                               def __init__(self):
+                                       self.netlink = socket.socket(socket.AF_NETLINK, socket.SOCK_DGRAM, 15)
+                                       self.netlink.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 65536)
+                                       self.netlink.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 65536)
+                                       self.netlink.bind((0, 1))
+                                       self.sn = eSocketNotifier(self.netlink.fileno(), POLLIN|POLLPRI)
+                                       self.sn.callback.append(self.dataAvail)
 
-               if action is not None and action == "add":
-                       harddiskmanager.addHotplugPartition(dev, physdevpath)
-               elif action is not None and action == "remove":
-                       harddiskmanager.removeHotplugPartition(dev)
-               elif media_state is not None:
-                       if media_state == '1':
-                               harddiskmanager.removeHotplugPartition(dev)
-                               harddiskmanager.addHotplugPartition(dev, physdevpath)
-                       elif media_state == '0':
-                               harddiskmanager.removeHotplugPartition(dev)
-               
-               for callback in hotplugNotifier:
-                       try:
-                               callback(dev, action or media_state)
-                       except AttributeError:
-                               hotplugNotifier.remove(callback)
+                               def dataAvail(self, what):
+                                       received = self.netlink.recvfrom(16384)
+#                                      print "HOTPLUG(%d):" %(what), received
 
-def autostart(reason, **kwargs):
-       if reason == 0:
-               print "starting hotplug handler"
-               factory = Factory()
-               factory.protocol = Hotplug
+                                       data = received[0].split('\0')[:-1]
+                                       v = {}
+
+                                       for x in data:
+                                               i = x.find('=')
+                                               var, val = x[:i], x[i+1:]
+                                               v[var] = val
+
+                                       if v['SUBSYSTEM'] == 'block' and v['ACTION'] in ('add', 'remove'):
+                                               processHotplugData(self, v)
+
+                       from threading import Thread, Semaphore, Lock
+
+                       class ThreadQueue:
+                               def __init__(self):
+                                       self.__list = [ ]
+                                       self.__lock = Lock()
+
+                               def push(self, val):
+                                       list = self.__list
+                                       lock = self.__lock
+                                       lock.acquire()
+                                       list.append(val)
+                                       lock.release()
+
+                               def pop(self):
+                                       list = self.__list
+                                       lock = self.__lock
+                                       lock.acquire()
+                                       ret = list[0]
+                                       del list[0]
+                                       lock.release()
+                                       return ret
 
-               try:
                        import os
-                       os.remove("/tmp/hotplug.socket")
-               except OSError:
-                       pass
+                       import errno
+                       import fcntl
+
+                       class BDPoll(Thread):
+                               CHECK_INTERVAL = 2000
+                               MSG_MEDIUM_REMOVED = 1
+                               MSG_MEDIUM_INSERTED = 2
+                               MSG_POLL_FINISHED = 4
+                               def __init__(self):
+                                       Thread.__init__(self)
+                                       self.__sema = Semaphore(0)
+                                       self.__lock = Lock()
+                                       self.running = False
+                                       self.devices_to_poll = { }
+                                       self.messages = ThreadQueue()
+                                       self.checkTimer = eTimer()
+                                       self.checkTimer.callback.append(self.timeout)
+                                       self.checkTimer.start(BDPoll.CHECK_INTERVAL, True)
+                                       self.mp = ePythonMessagePump()
+                                       self.mp.recv_msg.get().append(self.gotThreadMsg)
+                                       self.start()
+
+                               def gotThreadMsg(self, msg):
+                                       msg = self.messages.pop()
+                                       if msg[0] == BDPoll.MSG_MEDIUM_REMOVED:
+                                               print "MSG_MEDIUM_REMOVED"
+                                               harddiskmanager.removeHotplugPartition(msg[1])
+                                       elif msg[0] == BDPoll.MSG_MEDIUM_INSERTED:
+                                               print "MSG_MEDIUM_INSERTED"
+                                               harddiskmanager.addHotplugPartition(msg[1])
+                                       elif msg[0] == BDPoll.MSG_POLL_FINISHED:
+                                               self.checkTimer.start(BDPoll.CHECK_INTERVAL, True)
+
+                               def timeout(self):
+                                       self.__sema.release() # start bdpoll loop in thread
+
+                               def is_mounted(self, dev):
+                                       mounts = file('/proc/mounts').read()
+                                       return mounts.find(dev) != -1
+
+                               def run(self):
+                                       sema = self.__sema
+                                       lock = self.__lock
+                                       messages = self.messages
+                                       mp = self.mp
+                                       self.running = True
+                                       while self.running:
+                                               sema.acquire()
+                                               self.__lock.acquire()
+                                               devices_to_poll = self.devices_to_poll.items()
+                                               self.__lock.release()
+                                               devices_to_poll_processed = [ ]
+                                               for device, state in devices_to_poll:
+                                                       got_media = False
+                                                       is_cdrom, prev_media_state = state
+                                                       if is_cdrom:
+                                                               try:
+                                                                       fd = os.open("/dev/" + device, os.O_RDONLY | os.O_NONBLOCK | os.O_EXCL)
+                                                               except OSError, err:
+                                                                       if err.errno == errno.EBUSY:
+                                                                               print "open cdrom exclusive failed:",
+                                                                               if not self.is_mounted(device):
+                                                                                       print "not mounted"
+                                                                                       continue
+                                                                               try:
+                                                                                       print "mounted... try non exclusive"
+                                                                                       fd = os.open("/dev/" + device, os.O_RDONLY | os.O_NONBLOCK)
+                                                                               except OSError, err:
+                                                                                       print "open cdrom not exclusive failed", os.strerror(err.errno)
+                                                                                       continue
+                                                               #here the fs must be valid!
+                                                               try:
+                                                                       ret = fcntl.ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT)
+                                                               except IOError, err:
+                                                                       print "ioctl CDROM_DRIVE_STATUS failed", os.strerror(err.errno)
+                                                               else:
+                                                                       if ret in (CDS_NO_INFO, CDS_NO_DISC, CDS_TRAY_OPEN, CDS_DRIVE_NOT_READY):
+                                                                               pass
+                                                                       elif ret == CDS_DISC_OK:
+                                                                               #todo new kernels support events to userspace event on media change
+                                                                               #but not 2.6.18.... see hotplug-ng bdpoll.c
+                                                                               got_media = True
+                                                               os.close(fd)
+                                                       else:
+                                                               try:
+                                                                       fd = os.open("/dev/" + device, os.O_RDONLY)
+                                                               except OSError, err:
+                                                                       if err.errno == ENOMEDIUM:
+                                                                               pass
+                                                                       else:
+                                                                               print "open non cdrom failed", os.strerror(err.errno)
+                                                                               continue
+                                                               else:
+                                                                       got_media = True
+                                                                       os.close(fd)
+                                                       if prev_media_state:
+                                                               if not got_media:
+                                                                       print "media removal detected on", device
+                                                                       try:
+                                                                               fd = os.open("/dev/" + device, os.O_RDONLY | os.O_NONBLOCK)
+                                                                       except OSError, err:
+                                                                               print "open device for blkrrpart ioctl failed", os.strerror(err.errno)
+                                                                       else:
+                                                                               try:
+                                                                                       fcntl.ioctl(fd, BLKRRPART)
+                                                                               except IOError, err:
+                                                                                       print "ioctl BLKRRPART failed", os.strerror(err.errno)
+                                                                               os.close(fd)
+                                                       else:
+                                                               if got_media:
+                                                                       print "media insertion detected on", device
+                                                       devices_to_poll_processed.append((device, is_cdrom, got_media))
+                                               self.__lock.acquire()
+                                               for device, is_cdrom, state in devices_to_poll_processed:
+                                                       old_state = self.devices_to_poll.get(device)
+                                                       if old_state is not None and old_state[1] != state:
+                                                               msg = state and BDPoll.MSG_MEDIUM_INSERTED or BDPoll.MSG_MEDIUM_REMOVED
+                                                               self.devices_to_poll[device] = (is_cdrom, state)
+                                                               messages.push((msg, device))
+                                                               mp.send(0)
+
+                                               self.__lock.release()
+                                               messages.push((self.MSG_POLL_FINISHED,))
+                                               mp.send(0)
+
+                               def addDevice(self, device, is_cdrom, inserted):
+                                       self.__lock.acquire()
+                                       if device in self.devices_to_poll:
+                                               print "device", device, "already in bdpoll"
+                                       else:
+                                               print "add device", device, "to bdpoll current state:",
+                                               if inserted:
+                                                       print "medium inserted"
+                                               else:
+                                                       print "medium removed"
+                                               self.devices_to_poll[device] = (is_cdrom, inserted)
+                                       self.__lock.release()
+
+                               def removeDevice(self, device):
+                                       self.__lock.acquire()
+                                       if device in self.devices_to_poll:
+                                               print "device", device, "removed from bdpoll"
+                                               del self.devices_to_poll[device]
+                                       else:
+                                               print "try to del not exist device", device, "from bdpoll"
+                                       self.__lock.release()
+
+                       netlink = Netlink()
+                       bdpoll = BDPoll()
+                       for blockdev, removable, is_cdrom, medium_found in harddiskmanager.devices_scanned_on_init:
+                               if removable or is_cdrom:
+                                       bdpoll.addDevice(blockdev, is_cdrom, medium_found)
+               else:
+                       from twisted.internet.protocol import Protocol, Factory
+                       from twisted.internet import reactor
+
+                       try:
+                               import os
+                               os.remove("/tmp/hotplug.socket")
+                       except OSError:
+                               pass
+
+                       class Hotplug(Protocol):
+                               def connectionMade(self):
+                                       print "HOTPLUG connection!"
+                                       self.received = ""
+
+                               def dataReceived(self, data):
+                                       print "hotplug:", data
+                                       self.received += data
+                                       print "complete", self.received
+
+                               def connectionLost(self, reason):
+                                       print "HOTPLUG connection lost!"
+                                       data = self.received.split('\0')[:-1]
+                                       v = {}
+
+                                       for x in data:
+                                               i = x.find('=')
+                                               var, val = x[:i], x[i+1:]
+                                               v[var] = val
+
+                                       processHotplugData(self, v)
 
-               reactor.listenUNIX("/tmp/hotplug.socket", factory)
+                       factory = Factory()
+                       factory.protocol = Hotplug
+                       reactor.listenUNIX("/tmp/hotplug.socket", factory)
 
 def Plugins(**kwargs):
        return PluginDescriptor(name = "Hotplug", description = "listens to hotplug events", where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)
index 296d3bc..85ecc92 100644 (file)
@@ -16,7 +16,7 @@ from Components.MultiContent import MultiContentEntryText
 from Components.ScrollLabel import ScrollLabel
 from Components.Harddisk import harddiskmanager
 from Components.Task import Task, Job, job_manager, Condition
-from Tools.Directories import fileExists, isMount
+from Tools.Directories import fileExists, isMount, resolveFilename, SCOPE_HDD, SCOPE_MEDIA
 from Tools.HardwareInfo import HardwareInfo
 from Tools.Downloader import downloadWithProgress
 from enigma import eConsoleAppContainer, gFont, RT_HALIGN_LEFT, RT_HALIGN_CENTER, RT_VALIGN_CENTER, RT_WRAP, eTimer
@@ -391,7 +391,7 @@ class NFIDownload(Screen):
                
                self.box = HardwareInfo().get_device_name()
                self.feed_base = "http://www.dreamboxupdate.com/opendreambox" #/1.5/%s/images/" % self.box      
-               self.usbmountpoint = "/mnt/usb/"
+               self.usbmountpoint = resolveFilename(SCOPE_MEDIA)+"usb/"
 
                self.menulist = []
 
@@ -570,7 +570,7 @@ class NFIDownload(Screen):
 
        def ackedDestination(self):
                print "[ackedDestination]", self.branch, self.target_dir
-               self.container.setCWD("/mnt")
+               self.container.setCWD(resolveFilename(SCOPE_MEDIA)+"usb/")
                if self.target_dir[:8] == "/autofs/":
                        self.target_dir = "/dev/" + self.target_dir[8:-1]
 
@@ -792,13 +792,14 @@ If you already have a prepared bootable USB stick, please insert it now. Otherwi
                self.umountCallback()
 
 def main(session, **kwargs):
-       session.open(NFIDownload,"/home/root")
+       session.open(NFIDownload,resolveFilename(SCOPE_HDD))
 
 def filescan_open(list, session, **kwargs):
        dev = "/dev/" + (list[0].path).rsplit('/',1)[0][7:]
-       print "mounting device " + dev + " to /mnt/usb..."
-       system("mount "+dev+" /mnt/usb/ -o rw,sync")
-       session.open(NFIDownload,"/mnt/usb/")
+       print "mounting device " + dev + " to /media/usb..."
+       usbmountpoint = resolveFilename(SCOPE_MEDIA)+"usb/"
+       system("mount %s %s -o rw,sync" % (dev, usbmountpoint))
+       session.open(NFIDownload,usbmountpoint)
 
 def filescan(**kwargs):
        from Components.Scanner import Scanner, ScanPath
index ba96c07..3504d4c 100755 (executable)
@@ -14,7 +14,7 @@ from Screens.TaskView import JobView
 from Tools.Directories import fileExists
 from Tools.HardwareInfo import HardwareInfo
 from os import system
-from enigma import eConsoleAppContainer, quitMainloop
+from enigma import eConsoleAppContainer, quitMainloop, eEnv
 from Components.About import about
 
 class md5Postcondition(Condition):
@@ -51,7 +51,7 @@ class md5verify(Task):
 class writeNAND(Task):
        def __init__(self, job, param, box):
                Task.__init__(self,job, ("Writing image file to NAND Flash"))
-               self.setTool("/usr/lib/enigma2/python/Plugins/SystemPlugins/NFIFlash/writenfi-mipsel-2.6.18-r1")
+               self.setTool(eEnv.resolve("${libdir}/enigma2/python/Plugins/SystemPlugins/NFIFlash/writenfi-mipsel-2.6.18-r1"))
                if box == "dm7025":
                        self.end = 256
                elif box[:5] == "dm800":
@@ -226,4 +226,4 @@ class NFIFlash(Screen):
                if self.job.status == self.job.FINISHED:
                        self["status"].text = ("rebooting...")
                        from os import system
-                       system("/usr/lib/enigma2/python/Plugins/SystemPlugins/NFIFlash/kill_e2_reboot.sh")
+                       system(eEnv.resolve("${libdir}/enigma2/python/Plugins/SystemPlugins/NFIFlash/kill_e2_reboot.sh"))
index 997b957..30cbb6b 100755 (executable)
@@ -12,12 +12,13 @@ from Plugins.Plugin import PluginDescriptor
 from Components.config import config
 from Tools.Directories import resolveFilename, SCOPE_PLUGINS
 from os import path, walk
+from enigma import eEnv
 
 class SkinSelector(Screen):
        # for i18n:
        # _("Choose your Skin")
        skinlist = []
-       root = "/usr/share/enigma2/"
+       root = eEnv.resolve("${datadir}/enigma2/")
 
        def __init__(self, session, args = None):
 
index 7bd7d7a..01649bb 100755 (executable)
@@ -11,7 +11,7 @@ from Components.config import config
 from Components.ConfigList import ConfigList,ConfigListScreen
 from Components.FileList import MultiFileSelectList
 from Plugins.Plugin import PluginDescriptor
-from enigma import eTimer
+from enigma import eTimer, eEnv
 from Tools.Directories import *
 from os import popen, path, makedirs, listdir, access, stat, rename, remove, W_OK, R_OK
 from time import gmtime, strftime, localtime
@@ -20,7 +20,7 @@ from datetime import date
 
 config.plugins.configurationbackup = ConfigSubsection()
 config.plugins.configurationbackup.backuplocation = ConfigText(default = '/media/hdd/', visible_width = 50, fixed_size = False)
-config.plugins.configurationbackup.backupdirs = ConfigLocations(default=['/etc/enigma2/', '/etc/network/interfaces', '/etc/wpa_supplicant.conf', '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname'])
+config.plugins.configurationbackup.backupdirs = ConfigLocations(default=[eEnv.resolve('${sysconfdir}/enigma2/'), '/etc/network/interfaces', '/etc/wpa_supplicant.conf', '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname'])
 
 def getBackupPath():
        backuppath = config.plugins.configurationbackup.backuplocation.value
index 1797e4f..32d7140 100755 (executable)
@@ -9,13 +9,14 @@ from Plugins.Plugin import PluginDescriptor
 from Tools.Directories import fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
 from Components.Pixmap import Pixmap, MovingPixmap, MultiPixmap
 from os import popen, path, makedirs, listdir, access, stat, rename, remove, W_OK, R_OK
+from enigma import eEnv
 
 from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigText, ConfigLocations, ConfigBoolean
 from Components.Harddisk import harddiskmanager
 config.misc.firstrun = ConfigBoolean(default = True)
 config.plugins.configurationbackup = ConfigSubsection()
 config.plugins.configurationbackup.backuplocation = ConfigText(default = '/media/hdd/', visible_width = 50, fixed_size = False)
-config.plugins.configurationbackup.backupdirs = ConfigLocations(default=['/etc/enigma2/', '/etc/network/interfaces', '/etc/wpa_supplicant.conf'])
+config.plugins.configurationbackup.backupdirs = ConfigLocations(default=[eEnv.resolve('${sysconfdir}/enigma2/'), '/etc/network/interfaces', '/etc/wpa_supplicant.conf'])
 
 
 backupfile = "enigma2settingsbackup.tar.gz"
index 00608ee..896d9f2 100755 (executable)
@@ -28,7 +28,7 @@ from Components.Network import iNetwork
 from Tools.Directories import pathExists, fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_PLUGIN, SCOPE_CURRENT_SKIN, SCOPE_METADIR
 from Tools.LoadPixmap import LoadPixmap
 from Tools.NumericalTextInput import NumericalTextInput
-from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont, getDesktop, ePicLoad, eRCInput, getPrevAsciiCode
+from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont, getDesktop, ePicLoad, eRCInput, getPrevAsciiCode, eEnv
 from cPickle import dump, load
 from os import path as os_path, system as os_system, unlink, stat, mkdir, popen, makedirs, listdir, access, rename, remove, W_OK, R_OK, F_OK
 from time import time, gmtime, strftime, localtime
@@ -43,7 +43,7 @@ from SoftwareTools import iSoftwareTools
 
 config.plugins.configurationbackup = ConfigSubsection()
 config.plugins.configurationbackup.backuplocation = ConfigText(default = '/media/hdd/', visible_width = 50, fixed_size = False)
-config.plugins.configurationbackup.backupdirs = ConfigLocations(default=['/etc/enigma2/', '/etc/network/interfaces', '/etc/wpa_supplicant.conf', '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname'])
+config.plugins.configurationbackup.backupdirs = ConfigLocations(default=[eEnv.resolve('${sysconfdir}/enigma2/'), '/etc/network/interfaces', '/etc/wpa_supplicant.conf', '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname'])
 
 config.plugins.SoftwareManager = ConfigSubsection()
 config.plugins.SoftwareManager.overwriteConfigFiles = ConfigSelection(
@@ -261,9 +261,6 @@ class UpdatePluginMenu(Screen):
                                        for x in parts:
                                                if not access(x[1], F_OK|R_OK|W_OK) or x[1] == '/':
                                                        parts.remove(x)
-                                       for x in parts:
-                                               if x[1].startswith('/autofs/'):
-                                                       parts.remove(x)
                                        if len(parts):
                                                self.session.openWithCallback(self.backuplocation_choosen, ChoiceBox, title = _("Please select medium to use as backup location"), list = parts)
                                elif (currentEntry == "backupfiles"):
@@ -278,14 +275,20 @@ class UpdatePluginMenu(Screen):
 
        def backupfiles_choosen(self, ret):
                self.backupdirs = ' '.join( config.plugins.configurationbackup.backupdirs.value )
-
+               config.plugins.configurationbackup.backupdirs.save()
+               config.plugins.configurationbackup.save()
+               config.save()
+               
        def backuplocation_choosen(self, option):
+               oldpath = config.plugins.configurationbackup.backuplocation.getValue()
                if option is not None:
                        config.plugins.configurationbackup.backuplocation.value = str(option[1])
                config.plugins.configurationbackup.backuplocation.save()
                config.plugins.configurationbackup.save()
                config.save()
-               self.createBackupfolders()
+               newpath = config.plugins.configurationbackup.backuplocation.getValue()
+               if newpath != oldpath:
+                       self.createBackupfolders()
 
        def runUpgrade(self, result):
                if result:
@@ -1335,9 +1338,9 @@ class UpdatePlugin(Screen):
                self["slider"] = self.slider
                self.activityslider = Slider(0, 100)
                self["activityslider"] = self.activityslider
-               self.status = StaticText(_("Upgrading Dreambox... Please wait"))
+               self.status = StaticText(_("Please wait..."))
                self["status"] = self.status
-               self.package = StaticText()
+               self.package = StaticText(_("Verifying your internet connection..."))
                self["package"] = self.package
                self.oktext = _("Press OK on your remote control to continue.")
 
@@ -1348,20 +1351,35 @@ class UpdatePlugin(Screen):
                self.activity = 0
                self.activityTimer = eTimer()
                self.activityTimer.callback.append(self.doActivityTimer)
-               self.activityTimer.start(100, False)
 
                self.ipkg = IpkgComponent()
                self.ipkg.addCallback(self.ipkgCallback)
 
-               self.updating = True
-               self.package.setText(_("Package list update"))
-               self.ipkg.startCmd(IpkgComponent.CMD_UPDATE)
+               self.updating = False
 
                self["actions"] = ActionMap(["WizardActions"], 
                {
                        "ok": self.exit,
                        "back": self.exit
                }, -1)
+               
+               iNetwork.checkNetworkState(self.checkNetworkCB)
+               self.onClose.append(self.cleanup)
+               
+       def cleanup(self):
+               iNetwork.stopPingConsole()
+
+       def checkNetworkCB(self,data):
+               if data is not None:
+                       if data <= 2:
+                               self.updating = True
+                               self.activityTimer.start(100, False)
+                               self.package.setText(_("Package list update"))
+                               self.status.setText(_("Upgrading Dreambox... Please wait"))
+                               self.ipkg.startCmd(IpkgComponent.CMD_UPDATE)
+                       else:
+                               self.package.setText(_("Your network is not working. Please try again."))
+                               self.status.setText(self.oktext)
 
        def doActivityTimer(self):
                self.activity += 1
@@ -1440,6 +1458,9 @@ class UpdatePlugin(Screen):
                                self.session.openWithCallback(self.exitAnswer, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your Dreambox?"))
                        else:
                                self.close()
+               else:
+                       if not self.updating:
+                               self.close()
 
        def exitAnswer(self, result):
                if result is not None and result:
@@ -1679,13 +1700,15 @@ class PacketManager(Screen, NumericalTextInput):
                self.list_updating = True
                self.packetlist = []
                self.installed_packetlist = {}
+               self.upgradeable_packages = {}
                self.Console = Console()
                self.cmdList = []
                self.cachelist = []
                self.cache_ttl = 86400  #600 is default, 0 disables, Seconds cache is considered valid (24h should be ok for caching ipkgs)
-               self.cache_file = '/usr/lib/enigma2/python/Plugins/SystemPlugins/SoftwareManager/packetmanager.cache' #Path to cache directory   
+               self.cache_file = eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/SoftwareManager/packetmanager.cache') #Path to cache directory
                self.oktext = _("\nAfter pressing OK, please wait!")
                self.unwanted_extensions = ('-dbg', '-dev', '-doc', 'busybox')
+               self.opkgAvail = fileExists('/usr/bin/opkg')
 
                self.ipkg = IpkgComponent()
                self.ipkg.addCallback(self.ipkgCallback)
@@ -1847,14 +1870,19 @@ class PacketManager(Screen, NumericalTextInput):
        def IpkgList_Finished(self, result, retval, extra_args = None):
                if result:
                        self.packetlist = []
+                       last_name = ""
                        for x in result.splitlines():
-                               tokens = x.split(' - ')   #self.blacklisted_packages
+                               tokens = x.split(' - ') 
                                name = tokens[0].strip()
                                if not any(name.endswith(x) for x in self.unwanted_extensions):
                                        l = len(tokens)
                                        version = l > 1 and tokens[1].strip() or ""
                                        descr = l > 2 and tokens[2].strip() or ""
+                                       if name == last_name:
+                                               continue
+                                       last_name = name 
                                        self.packetlist.append([name, version, descr])
+
                if not self.Console:
                        self.Console = Console()
                cmd = "ipkg list_installed"
@@ -1864,30 +1892,47 @@ class PacketManager(Screen, NumericalTextInput):
                if result:
                        self.installed_packetlist = {}
                        for x in result.splitlines():
-                               tokens = x.split(' - ')   #self.blacklisted_packages
+                               tokens = x.split(' - ')
                                name = tokens[0].strip()
                                if not any(name.endswith(x) for x in self.unwanted_extensions):
                                        l = len(tokens)
                                        version = l > 1 and tokens[1].strip() or ""
                                        self.installed_packetlist[name] = version
-               self.buildPacketList()
+               if self.opkgAvail:
+                       if not self.Console:
+                               self.Console = Console()
+                       cmd = "opkg list-upgradable"
+                       self.Console.ePopen(cmd, self.OpkgListUpgradeable_Finished)
+               else:
+                       self.buildPacketList()
 
+       def OpkgListUpgradeable_Finished(self, result, retval, extra_args = None):
+               if result:
+                       self.upgradeable_packages = {}
+                       for x in result.splitlines():
+                               tokens = x.split(' - ')
+                               name = tokens[0].strip()
+                               if not any(name.endswith(x) for x in self.unwanted_extensions):
+                                       l = len(tokens)
+                                       version = l > 2 and tokens[2].strip() or ""
+                                       self.upgradeable_packages[name] = version
+               self.buildPacketList()
+       
        def buildEntryComponent(self, name, version, description, state):
                divpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/div-h.png"))
                if state == 'installed':
                        installedpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_PLUGIN, "SystemPlugins/SoftwareManager/installed.png"))
-                       return((name, version, description, state, installedpng, divpng))       
+                       return((name, version, _(description), state, installedpng, divpng))    
                elif state == 'upgradeable':
                        upgradeablepng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_PLUGIN, "SystemPlugins/SoftwareManager/upgradeable.png"))
-                       return((name, version, description, state, upgradeablepng, divpng))     
+                       return((name, version, _(description), state, upgradeablepng, divpng))  
                else:
                        installablepng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_PLUGIN, "SystemPlugins/SoftwareManager/installable.png"))
-                       return((name, version, description, state, installablepng, divpng))
+                       return((name, version, _(description), state, installablepng, divpng))
 
        def buildPacketList(self):
                self.list = []
                self.cachelist = []
-
                if self.cache_ttl > 0 and self.vc != 0:
                        print 'Loading packagelist cache from ',self.cache_file
                        try:
@@ -1903,24 +1948,28 @@ class PacketManager(Screen, NumericalTextInput):
                        print 'rebuilding fresh package list'
                        for x in self.packetlist:
                                status = ""
-                               if self.installed_packetlist.has_key(x[0].strip()):
-                                       if self.installed_packetlist[x[0].strip()] == x[1].strip():
-                                               status = "installed"
-                                               self.list.append(self.buildEntryComponent(x[0].strip(), x[1].strip(), x[2].strip(), status))
+                               if self.installed_packetlist.has_key(x[0]):
+                                       if self.opkgAvail:
+                                               if self.upgradeable_packages.has_key(x[0]):
+                                                       status = "upgradeable"
+                                               else:
+                                                       status = "installed"
                                        else:
-                                               status = "upgradeable"
-                                               self.list.append(self.buildEntryComponent(x[0].strip(), x[1].strip(), x[2].strip(), status))
+                                               if self.installed_packetlist[x[0]] == x[1]:
+                                                       status = "installed"
+                                               else:
+                                                       status = "upgradeable"
                                else:
                                        status = "installable"
-                                       self.list.append(self.buildEntryComponent(x[0].strip(), x[1].strip(), x[2].strip(), status))
-                               if not any(x[0].strip().endswith(x) for x in self.unwanted_extensions):
-                                       self.cachelist.append([x[0].strip(), x[1].strip(), x[2].strip(), status])
+                               self.list.append(self.buildEntryComponent(x[0], x[1], x[2], status))    
+                               self.cachelist.append([x[0], x[1], x[2], status])
                        write_cache(self.cache_file, self.cachelist)
                        self['list'].setList(self.list)
 
        def reloadPluginlist(self):
                plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
 
+
 class IpkgInstaller(Screen):
        skin = """
                <screen name="IpkgInstaller" position="center,center" size="550,450" title="Install extensions" >
index cfdeb65..490a772 100755 (executable)
@@ -1,4 +1,4 @@
-installdir = $(LIBDIR)/enigma2/python/Plugins/SystemPlugins/TempFanControl
+installdir = $(pkglibdir)/python/Plugins/SystemPlugins/TempFanControl
 
 SUBDIRS = meta
 
@@ -6,4 +6,4 @@ install_PYTHON = \
        __init__.py \
        plugin.py
 
-dist_install_DATA = LICENSE
\ No newline at end of file
+dist_install_DATA = LICENSE
index a0bb5fa..5c6565a 100755 (executable)
@@ -2,6 +2,8 @@
          <prerequisites>
                     <hardware type="dm8000" />
                     <hardware type="dm500hd" />
+                    <hardware type="dm800se" />
+                    <hardware type="dm7020hd" />
                     <tag type="System" />
          </prerequisites>
           <info>
index 11b0c59..f52b4da 100755 (executable)
@@ -3,6 +3,8 @@
                     <hardware type="dm8000" />
                     <hardware type="dm800" />
                     <hardware type="dm500hd" />
+                    <hardware type="dm800se" />
+                    <hardware type="dm7020hd" />
                     <tag type="Display" />
                     <tag type="System" />
          </prerequisites>
index 59c5047..dc4e8c5 100644 (file)
@@ -239,9 +239,9 @@ class VideoHardware:
                portlist = self.getPortList()
                for port in portlist:
                        descr = port
-                       if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se'):
+                       if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se', 'dm7020hd'):
                                descr = 'HDMI'
-                       elif descr == 'DVI-PC' and hw_type in ('dm500hd', 'dm800se'):
+                       elif descr == 'DVI-PC' and hw_type in ('dm500hd', 'dm800se', 'dm7020hd'):
                                descr = 'HDMI-PC'
                        lst.append((port, descr))
 
index 9b9044e..18e8176 100755 (executable)
@@ -90,7 +90,7 @@ class VideoWizard(WizardLanguage, Rc):
                for port in self.hw.getPortList():
                        if self.hw.isPortUsed(port):
                                descr = port
-                               if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se'):
+                               if descr == 'DVI' and hw_type in ('dm500hd', 'dm800se', 'dm7020hd'):
                                        descr = 'HDMI'
                                if port != "DVI-PC":
                                        list.append((descr,port))
@@ -108,7 +108,7 @@ class VideoWizard(WizardLanguage, Rc):
                self.inputSelect(self.selection)
                if self["portpic"].instance is not None:
                        picname = self.selection
-                       if picname == "DVI" and HardwareInfo().get_device_name() in ("dm500hd", "dm800se"):
+                       if picname == "DVI" and HardwareInfo().get_device_name() in ("dm500hd", "dm800se", "dm7020hd"):
                                picname = "HDMI"
                        self["portpic"].instance.setPixmapFromFile(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/Videomode/" + picname + ".png"))
                
index 28ee363..a13c797 100755 (executable)
@@ -1,4 +1,4 @@
-from enigma import eTimer, eTPM
+from enigma import eTimer, eTPM, eEnv
 from Screens.Screen import Screen
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Pixmap import Pixmap,MultiPixmap
@@ -18,7 +18,7 @@ from Tools.HardwareInfo import HardwareInfo
 from Wlan import Wlan, wpaSupplicant, iStatus
 import sha
 
-plugin_path = "/usr/lib/enigma2/python/Plugins/SystemPlugins/WirelessLan"
+plugin_path = eEnv.resolve("${libdir}/enigma2/python/Plugins/SystemPlugins/WirelessLan")
 
 list = []
 list.append("WEP")
old mode 100644 (file)
new mode 100755 (executable)
index c1c6f94..32c7269
@@ -137,7 +137,7 @@ def Plugins(**kwargs):
 file.close()
 
 makefile = open(pluginpath + "/Makefile.am", "w")
-makefile.write("""installdir = $(LIBDIR)/enigma2/python/Plugins/%s/%s
+makefile.write("""installdir = $(pkglibdir)/python/Plugins/%s/%s
 
 install_PYTHON = \\
        __init__.py \\
index c872bce..c07e349 100644 (file)
@@ -8,7 +8,7 @@ from Components.MenuList import MenuList
 from Components.ServiceEventTracker import ServiceEventTracker, InfoBarBase
 profile("ChannelSelection.py 1")
 from EpgSelection import EPGSelection
-from enigma import eServiceReference, eEPGCache, eServiceCenter, eRCInput, eTimer, eDVBDB, iPlayableService, iServiceInformation, getPrevAsciiCode
+from enigma import eServiceReference, eEPGCache, eServiceCenter, eRCInput, eTimer, eDVBDB, iPlayableService, iServiceInformation, getPrevAsciiCode, eEnv
 from Components.config import config, ConfigSubsection, ConfigText
 from Tools.NumericalTextInput import NumericalTextInput
 profile("ChannelSelection.py 2")
@@ -76,7 +76,7 @@ def append_when_current_valid(current, menu, args, level = 0, key = ""):
 
 class ChannelContextMenu(Screen):
        def __init__(self, session, csel):
-               from Components.ParentalControl import parentalControl
+
                Screen.__init__(self, session)
                #raise Exception("we need a better summary screen here")
                self.csel = csel
@@ -106,6 +106,7 @@ class ChannelContextMenu(Screen):
                                isPlayable = not (current_sel_flags & (eServiceReference.isMarker|eServiceReference.isDirectory))
                                if isPlayable:
                                        if config.ParentalControl.configured.value:
+                                               from Components.ParentalControl import parentalControl
                                                if parentalControl.getProtectionLevel(csel.getCurrentSelection().toCompareString()) == -1:
                                                        append_when_current_valid(current, menu, (_("add to parental protection"), boundFunction(self.addParentalProtection, csel.getCurrentSelection())), level = 0)
                                                else:
@@ -191,6 +192,7 @@ class ChannelContextMenu(Screen):
                self.close()
 
        def addParentalProtection(self, service):
+               from Components.ParentalControl import parentalControl
                parentalControl.protectService(service.toCompareString())
                self.close()
 
@@ -199,6 +201,7 @@ class ChannelContextMenu(Screen):
 
        def pinEntered(self, service, result):
                if result:
+                       from Components.ParentalControl import parentalControl
                        parentalControl.unProtectService(service)
                        self.close()
                else:
@@ -541,7 +544,7 @@ class ChannelSelectionEdit:
                        refstr = refstr[pos+14:]
                        pos = refstr.find('"')
                        if pos != -1:
-                               filename = '/etc/enigma2/' + refstr[:pos] # FIXMEEE !!! HARDCODED /etc/enigma2
+                               filename = eEnv.resolve('${sysconfdir}/enigma2/') + refstr[:pos]
                self.removeCurrentService()
                try:
                        if filename is not None:
index f174b58..284294f 100644 (file)
@@ -3,7 +3,7 @@ from Components.ConfigList import ConfigListScreen
 from Components.ActionMap import NumberActionMap
 from Components.config import config, getConfigListEntry, ConfigNothing, NoSave, ConfigPIN
 from Components.ParentalControlList import ParentalControlEntryComponent, ParentalControlList 
-from Components.ParentalControl import parentalControl
+
 from Components.Sources.StaticText import StaticText
 from Screens.ChoiceBox import ChoiceBox
 from Screens.MessageBox import MessageBox
@@ -119,6 +119,7 @@ class ParentalControlSetup(Screen, ConfigListScreen, ProtectedScreen):
                elif self["config"].l.getCurrentSelection() == self.changeSetupPin:
                        self.session.open(ParentalControlChangePin, config.ParentalControl.setuppin, _("setup PIN"))
                elif self["config"].l.getCurrentSelection() == self.reloadLists:
+                       from Components.ParentalControl import parentalControl
                        parentalControl.open()
                else:
                        ConfigListScreen.keyRight(self)
@@ -255,6 +256,7 @@ class ParentalControlEditor(Screen):
                self.session.openWithCallback(self.letterChosen, ChoiceBox, title=_("Show services beginning with"), list=mylist, keys = [], selection = sel)
 
        def letterChosen(self, result):
+               from Components.ParentalControl import parentalControl
                if result is not None:
                        print "result:", result
                        self.currentLetter = result[1]
@@ -284,6 +286,7 @@ class ParentalControlBouquetEditor(Screen):
                }, -1)
 
        def cancel(self):
+               from Components.ParentalControl import parentalControl
                parentalControl.save()
                self.close()
 
@@ -300,6 +303,7 @@ class ParentalControlBouquetEditor(Screen):
                        self.bouquetlist = list.getContent("CN", True)
        
        def selectBouquet(self):
+               from Components.ParentalControl import parentalControl
                self.list = [ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionType(x[0])) for x in self.bouquetlist]
                self.bouquetslist.setList(self.list)
 
index 2e2f836..f9263d8 100644 (file)
@@ -107,6 +107,7 @@ class CableTransponderSearchSupport:
                        if raw_channel:
                                frontend = raw_channel.getFrontend()
                                if frontend:
+                                       frontend.closeFrontend() # immediate close... 
                                        del frontend
                                        del raw_channel
                                        return True
@@ -114,13 +115,16 @@ class CableTransponderSearchSupport:
 
        def cableTransponderSearchSessionClosed(self, *val):
                print "cableTransponderSearchSessionClosed, val", val
-               self.resetTimeout()
                self.cable_search_container.appClosed.remove(self.cableTransponderSearchClosed)
                self.cable_search_container.dataAvail.remove(self.getCableTransponderData)
+               if val and len(val):
+                       if val[0]:
+                               self.setCableTransponderSearchResult(self.__tlist)
+                       else:
+                               self.cable_search_container.sendCtrlC()
+                               self.setCableTransponderSearchResult(None)
                self.cable_search_container = None
                self.cable_search_session = None
-               if val and len(val) and val[0]:
-                       self.setCableTransponderSearchResult(self.__tlist)
                self.__tlist = None
                self.cableTransponderSearchFinished()
 
@@ -156,25 +160,12 @@ class CableTransponderSearchSupport:
                                parm.modulation = qam[data[4]]
                                parm.inversion = inv[data[5]]
                                self.__tlist.append(parm)
-               tmpstr = _("Try to find used Transponders in cable network.. please wait...")
-               tmpstr += "\n\n"
-               tmpstr += data[1]
-               tmpstr += " kHz "
-               tmpstr += data[0]
-               self.cable_search_session["text"].setText(tmpstr)
-               
-       def setTimeout(self):
-               try:
-                       self.oldtimeoutvalue = open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "r").readline()
-                       open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "w").write("0")
-               except:
-                       print "[info] no /sys/module/dvb_core/parameters/dvb_shutdown_timeout available"                
-               
-       def resetTimeout(self):
-               try:
-                       open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "w").write(self.oldtimeoutvalue)
-               except:
-                       print "[info] no /sys/module/dvb_core/parameters/dvb_shutdown_timeout available"
+                       tmpstr = _("Try to find used Transponders in cable network.. please wait...")
+                       tmpstr += "\n\n"
+                       tmpstr += data[1]
+                       tmpstr += " kHz "
+                       tmpstr += data[0]
+                       self.cable_search_session["text"].setText(tmpstr)
 
        def startCableTransponderSearch(self, nim_idx):
                if not self.tryGetRawFrontend(nim_idx):
@@ -260,7 +251,6 @@ class CableTransponderSearchSupport:
                self.cable_search_container.execute(cmd)
                tmpstr = _("Try to find used transponders in cable network.. please wait...")
                tmpstr += "\n\n..."
-               self.setTimeout()
                self.cable_search_session = self.session.openWithCallback(self.cableTransponderSearchSessionClosed, MessageBox, tmpstr, MessageBox.TYPE_INFO)
 
 class DefaultSatLists(DefaultWizard):
@@ -845,7 +835,10 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                self.tlist = tlist
 
        def cableTransponderSearchFinished(self):
-               self.startScan(self.tlist, self.flags, self.feid)
+               if self.tlist is None:
+                       self.tlist = []
+               else:
+                       self.startScan(self.tlist, self.flags, self.feid)
 
        def startScan(self, tlist, flags, feid):
                if len(tlist):
@@ -1011,7 +1004,8 @@ class ScanSimple(ConfigListScreen, Screen, CableTransponderSearchSupport):
                                self.session.open(MessageBox, _("Nothing to scan!\nPlease setup your tuner settings before you start a service scan."), MessageBox.TYPE_ERROR)
 
        def setCableTransponderSearchResult(self, tlist):
-               self.scanList.append({"transponders": tlist, "feid": self.feid, "flags": self.flags})
+               if tlist is not None:
+                       self.scanList.append({"transponders": tlist, "feid": self.feid, "flags": self.flags})
 
        def cableTransponderSearchFinished(self):
                self.buildTransponderList()
index e9c3c68..61e6fdd 100755 (executable)
@@ -4,6 +4,7 @@ from Components.config import config, ConfigNothing
 from Components.SystemInfo import SystemInfo
 from Components.ConfigList import ConfigListScreen
 from Components.Sources.StaticText import StaticText
+from enigma import eEnv
 
 import xml.etree.cElementTree
 
@@ -14,7 +15,7 @@ try:
        setupfile = file('data/setup.xml', 'r')
 except:
        # if not found in the current path, we use the global datadir-path
-       setupfile = file('/usr/share/enigma2/setup.xml', 'r')
+       setupfile = file(eEnv.resolve('${datadir}/enigma2/setup.xml'), 'r')
 setupdom = xml.etree.cElementTree.parse(setupfile)
 setupfile.close()
 
index a752d31..61e1d5e 100755 (executable)
@@ -10,7 +10,7 @@ from Components.ActionMap import NumberActionMap
 from Components.MenuList import MenuList
 from Components.ConfigList import ConfigList
 from Components.Sources.List import List
-from enigma import eTimer
+from enigma import eTimer, eEnv
 
 from xml.sax import make_parser
 from xml.sax.handler import ContentHandler
@@ -178,7 +178,7 @@ class Wizard(Screen):
                parser.setContentHandler(wizardHandler)
                for xmlfile in self.xmlfile:
                        if xmlfile[0] != '/':
-                               parser.parse('/usr/share/enigma2/' + xmlfile)
+                               parser.parse(eEnv.resolve('${datadir}/enigma2/') + xmlfile)
                        else:
                                parser.parse(xmlfile)
 
index 8ed2c8a..518db49 100755 (executable)
@@ -3,6 +3,7 @@
 from os import path as os_path, mkdir, rmdir, system, walk, stat as os_stat, listdir, readlink, makedirs, error as os_error, symlink, access, F_OK, R_OK, W_OK
 from stat import S_IMODE
 from re import compile
+from enigma import eEnv
 
 try:
        from os import chmod
@@ -39,26 +40,26 @@ PATH_CREATE = 0
 PATH_DONTCREATE = 1
 PATH_FALLBACK = 2
 defaultPaths = {
-               SCOPE_TRANSPONDERDATA: ("/etc/", PATH_DONTCREATE),
-               SCOPE_SYSETC: ("/etc/", PATH_DONTCREATE),
-               SCOPE_FONTS: ("/usr/share/fonts/", PATH_DONTCREATE),
-               SCOPE_CONFIG: ("/etc/enigma2/", PATH_CREATE),
-               SCOPE_PLUGINS: ("/usr/lib/enigma2/python/Plugins/", PATH_CREATE),
+               SCOPE_TRANSPONDERDATA: (eEnv.resolve("${sysconfdir}/"), PATH_DONTCREATE),
+               SCOPE_SYSETC: (eEnv.resolve("${sysconfdir}/"), PATH_DONTCREATE),
+               SCOPE_FONTS: (eEnv.resolve("${datadir}/fonts/"), PATH_DONTCREATE),
+               SCOPE_CONFIG: (eEnv.resolve("${sysconfdir}/enigma2/"), PATH_CREATE),
+               SCOPE_PLUGINS: (eEnv.resolve("${libdir}/enigma2/python/Plugins/"), PATH_CREATE),
 
-               SCOPE_LANGUAGE: ("/usr/share/enigma2/po/", PATH_DONTCREATE),
+               SCOPE_LANGUAGE: (eEnv.resolve("${datadir}/enigma2/po/"), PATH_DONTCREATE),
 
-               SCOPE_SKIN: ("/usr/share/enigma2/", PATH_DONTCREATE),
-               SCOPE_SKIN_IMAGE: ("/usr/share/enigma2/", PATH_DONTCREATE),
+               SCOPE_SKIN: (eEnv.resolve("${datadir}/enigma2/"), PATH_DONTCREATE),
+               SCOPE_SKIN_IMAGE: (eEnv.resolve("${datadir}/enigma2/"), PATH_DONTCREATE),
                SCOPE_HDD: ("/hdd/movie/", PATH_DONTCREATE),
                SCOPE_MEDIA: ("/media/", PATH_DONTCREATE),
-               SCOPE_PLAYLIST: ("/etc/enigma2/playlist/", PATH_CREATE),
+               SCOPE_PLAYLIST: (eEnv.resolve("${sysconfdir}/enigma2/playlist/"), PATH_CREATE),
                
                SCOPE_USERETC: ("", PATH_DONTCREATE), # user home directory
                
-               SCOPE_DEFAULTDIR: ("/usr/share/enigma2/defaults/", PATH_CREATE),
+               SCOPE_DEFAULTDIR: (eEnv.resolve("${datadir}/enigma2/defaults/"), PATH_CREATE),
                SCOPE_DEFAULTPARTITION: ("/dev/mtdblock/6", PATH_DONTCREATE),
-               SCOPE_DEFAULTPARTITIONMOUNTDIR: ("/usr/share/enigma2/dealer", PATH_CREATE),
-               SCOPE_METADIR: ("/usr/share/meta", PATH_CREATE),
+               SCOPE_DEFAULTPARTITIONMOUNTDIR: (eEnv.resolve("${datadir}/enigma2/dealer"), PATH_CREATE),
+               SCOPE_METADIR: (eEnv.resolve("${datadir}/meta"), PATH_CREATE),
        }
 
 FILE_COPY = 0 # copy files from fallback dir to the basedir
@@ -67,7 +68,7 @@ PATH_COPY = 2 # copy the complete fallback dir to the basedir
 PATH_MOVE = 3 # move the fallback dir to the basedir (can be used for changes in paths)
 fallbackPaths = {
                SCOPE_CONFIG: [("/home/root/", FILE_MOVE),
-                                          ("/usr/share/enigma2/defaults/", FILE_COPY)],
+                                          (eEnv.resolve("${datadir}/enigma2/defaults/"), FILE_COPY)],
                SCOPE_HDD: [("/hdd/movies", PATH_MOVE)]
        }
 
index da090b1..63a58ea 100644 (file)
@@ -31,19 +31,19 @@ class NumericalTextInput:
                        return
 
                if self.lang == 'de_DE':
-                       self.mapping.append (u".,?'+\"0-()@/:_$!=") # 0
-                       self.mapping.append (u" 1") # 1
-                       self.mapping.append (u"aäbc2AÄBC") # 2
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
+                       self.mapping.append (u"abcä2ABCÄ") # 2
                        self.mapping.append (u"def3DEF") # 3
                        self.mapping.append (u"ghi4GHI") # 4
                        self.mapping.append (u"jkl5JKL") # 5
                        self.mapping.append (u"mnoö6MNOÖ") # 6
                        self.mapping.append (u"pqrsß7PQRSß") # 7
-                       self.mapping.append (u"tuüv8TUÜV") # 8
+                       self.mapping.append (u"tuvü8TUVÜ") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
                elif self.lang == 'es_ES':
-                       self.mapping.append (u".,?'+\"0-()@/:_$!=") # 0
-                       self.mapping.append (u" 1") # 1
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
                        self.mapping.append (u"abcáà2ABCÁÀ") # 2
                        self.mapping.append (u"deéèf3DEFÉÈ") # 3
                        self.mapping.append (u"ghiíì4GHIÍÌ") # 4
@@ -53,8 +53,8 @@ class NumericalTextInput:
                        self.mapping.append (u"tuvúù8TUVÚÙ") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
                if self.lang in ('sv_SE', 'fi_FI'):
-                       self.mapping.append (u".,?'+\"0-()@/:_$!=") # 0
-                       self.mapping.append (u" 1") # 1
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
                        self.mapping.append (u"abcåä2ABCÅÄ") # 2
                        self.mapping.append (u"defé3DEFÉ") # 3
                        self.mapping.append (u"ghi4GHI") # 4
@@ -64,8 +64,8 @@ class NumericalTextInput:
                        self.mapping.append (u"tuv8TUV") # 8
                        self.mapping.append (u"wxyz9WXYZ") # 9
                else:
-                       self.mapping.append (u".,?'+\"0-()@/:_$!=") # 0
-                       self.mapping.append (u" 1") # 1
+                       self.mapping.append (u"0,?!&@=*'+\"()$~") # 0
+                       self.mapping.append (u" 1.:/-_") # 1
                        self.mapping.append (u"abc2ABC") # 2
                        self.mapping.append (u"def3DEF") # 3
                        self.mapping.append (u"ghi4GHI") # 4
index ad76198..b4cd1c7 100644 (file)
@@ -3,11 +3,6 @@
 
 #include <libsig_comp.h>
 
-               /* avoid warnigs :) */
-#include <features.h>
-#undef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 200112L
-
 #include <lib/python/python.h>
 
 class PSignal
index 19fb925..7c99927 100644 (file)
@@ -38,6 +38,7 @@ is usually caused by not marking PSignals as immutable.
 #define SWIG_COMPILE
 #include <lib/base/ebase.h>
 #include <lib/base/smartptr.h>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
 #include <lib/base/etpm.h>
 #include <lib/base/nconfig.h>
@@ -50,7 +51,7 @@ is usually caused by not marking PSignals as immutable.
 #include <lib/gdi/fb.h>
 #include <lib/gdi/font.h>
 #include <lib/gdi/gpixmap.h>
-#include <lib/gdi/gfbdc.h>
+#include <lib/gdi/gmaindc.h>
 #include <lib/gui/ewidget.h>
 #include <lib/gui/elabel.h>
 #include <lib/gui/einput.h>
@@ -133,6 +134,7 @@ typedef long time_t;
 %include "std_string.i"
 %include <lib/python/swig.h>
 %include <lib/base/object.h>
+%include <lib/base/eenv.h>
 %include <lib/base/eerror.h>
 
 %immutable eSocketNotifier::activated;
@@ -164,7 +166,7 @@ typedef long time_t;
 %include <lib/gdi/fb.h>
 %include <lib/gdi/font.h>
 %include <lib/gdi/gpixmap.h>
-%include <lib/gdi/gfbdc.h>
+%include <lib/gdi/gmaindc.h>
 %include <lib/gdi/epoint.h>
 %include <lib/gdi/erect.h>
 %include <lib/gdi/esize.h>
index 18fdac7..f5b6e4d 100644 (file)
@@ -4,7 +4,6 @@
        #define __lib_python_python_class_h
 #endif
 
-#include <Python.h>
 #include <string>
 #include <lib/base/object.h>
 
index ed09d73..edafd1a 100644 (file)
@@ -1,9 +1,37 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
+
+AM_CXXFLAGS = \
+       $(LIBXINE_CFLAGS)
 
 noinst_LIBRARIES = libenigma_service.a
 
 libenigma_service_a_SOURCES = \
-       listboxservice.cpp service.cpp servicemp3.cpp servicedvb.cpp servicefs.cpp \
-       event.cpp servicedvbrecord.cpp
-       
+       event.cpp \
+       listboxservice.cpp \
+       service.cpp \
+       servicedvb.cpp \
+       servicedvbrecord.cpp \
+       servicefs.cpp \
+       servicemp3.cpp
+
+serviceincludedir = $(pkgincludedir)/lib/service
+serviceinclude_HEADERS = \
+       event.h \
+       iservice.h \
+       listboxservice.h \
+       service.h \
+       servicedvb.h \
+       servicedvbrecord.h \
+       servicefs.h \
+       servicemp3.h
+
+if HAVE_LIBXINE
+libenigma_service_a_SOURCES += \
+       servicexine.cpp
+serviceinclude_HEADERS += \
+       servicexine.h
+endif
index 2ba7cb4..7f58249 100644 (file)
@@ -289,6 +289,7 @@ public:
                sFileSize,
 
                sCAIDs,
+               sCAIDPIDs,
                sVideoType,             /* MPEG2 MPEG4 */
 
                sTags,                          /* space seperated list of tags */
index eb2757a..8c674c5 100644 (file)
@@ -201,6 +201,25 @@ RESULT eServiceCenter::removeServiceFactory(int id)
        return 0;
 }
 
+RESULT eServiceCenter::addFactoryExtension(int id, const char *extension)
+{
+       std::map<int, std::list<std::string> >::iterator it = extensions.find(id);
+       if (it == extensions.end())
+               return -1;
+       it->second.push_back(extension);
+       return 0;
+}
+
+RESULT eServiceCenter::removeFactoryExtension(int id, const char *extension)
+{
+       std::map<int, std::list<std::string> >::iterator it = extensions.find(id);
+       if (it == extensions.end())
+               return -1;
+       it->second.remove(extension);
+       return 0;
+}
+
+
 int eServiceCenter::getServiceTypeForExtension(const char *str)
 {
        for (std::map<int, std::list<std::string> >::iterator sit(extensions.begin()); sit != extensions.end(); ++sit)
index 6f6ab98..ffc7d27 100644 (file)
@@ -40,6 +40,8 @@ public:
        static RESULT getPrivInstance(ePtr<eServiceCenter> &ptr) { ptr = instance; return 0; }
        RESULT addServiceFactory(int id, iServiceHandler *hnd, std::list<std::string> &extensions);
        RESULT removeServiceFactory(int id);
+       RESULT addFactoryExtension(int id, const char *extension);
+       RESULT removeFactoryExtension(int id, const char *extension);
 #endif
        static SWIG_VOID(RESULT) getInstance(ePtr<iServiceHandler> &SWIG_NAMED_OUTPUT(ptr)) { ptr = instance; return 0; }
 };
index e498dd4..6a464af 100644 (file)
@@ -309,7 +309,9 @@ eStaticServiceDVBPVRInformation::eStaticServiceDVBPVRInformation(const eServiceR
 RESULT eStaticServiceDVBPVRInformation::getName(const eServiceReference &ref, std::string &name)
 {
        ASSERT(ref == m_ref);
-       if (m_parser.m_name.size())
+       if (!ref.name.empty())
+               name = ref.name;
+       else if (!m_parser.m_name.empty())
                name = m_parser.m_name;
        else
        {
@@ -503,18 +505,19 @@ RESULT eDVBPVRServiceOfflineOperations::reindex()
        int err = f.open(m_ref.path.c_str(), 0);
        if (err < 0)
                return -1;
-       
+
+       off_t offset = 0;
        off_t length = f.length();
        unsigned char buffer[188*256*4];
        while (1)
        {
-               off_t offset = f.lseek(0, SEEK_CUR);
                eDebug("at %08llx / %08llx (%d %%)", offset, length, (int)(offset * 100 / length));
-               int r = f.read(buffer, sizeof(buffer));
+               int r = f.read(offset, buffer, sizeof(buffer));
                if (!r)
                        break;
                if (r < 0)
                        return r;
+               offset += r;
                parser.parseData(offset, buffer, r);
        }
        
@@ -1093,7 +1096,8 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
 
                        if (m_skipmode < 0)
                                m_cue->seekTo(0, -1000);
-                       m_service_handler_timeshift.tune(r, 1, m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
+                       ePtr<iTsSource> source = createTsSource(r);
+                       m_service_handler_timeshift.tuneExt(r, 1, source, r.path.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
                        m_event((iPlayableService*)this, evUser+1);
                }
@@ -1122,7 +1126,8 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
                                m_service_handler_timeshift.free();
                                resetTimeshift(1);
 
-                               m_service_handler_timeshift.tune(r, 1, m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
+                               ePtr<iTsSource> source = createTsSource(r);
+                               m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file_next.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
                                m_event((iPlayableService*)this, evUser+1);
                        }
@@ -1152,7 +1157,8 @@ RESULT eDVBServicePlay::start()
                m_event(this, evStart);
 
        m_first_program_info = 1;
-       m_service_handler.tune(service, m_is_pvr, m_cue, false, m_dvb_service);
+       ePtr<iTsSource> source = createTsSource(service);
+       m_service_handler.tuneExt(service, m_is_pvr, source, service.path.c_str(), m_cue, false, m_dvb_service);
 
        if (m_is_pvr)
        {
@@ -1585,7 +1591,7 @@ int eDVBServicePlay::getInfo(int w)
 {
        eDVBServicePMTHandler::program program;
 
-       if (w == sCAIDs)
+       if (w == sCAIDs || w == sCAIDPIDs)
                return resIsPyObject;
 
        eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
@@ -1726,6 +1732,8 @@ PyObject *eDVBServicePlay::getInfoObject(int w)
        {
        case sCAIDs:
                return m_service_handler.getCaIds();
+       case sCAIDPIDs:
+               return m_service_handler.getCaIds(true);
        case sTransponderData:
                return eStaticServiceDVBInformation().getInfoObject(m_reference, w);
        default:
@@ -2356,6 +2364,13 @@ void eDVBServicePlay::resetTimeshift(int start)
                m_timeshift_active = 0;
 }
 
+ePtr<iTsSource> eDVBServicePlay::createTsSource(eServiceReferenceDVB &ref)
+{
+       eRawFile *f = new eRawFile();
+       f->open(ref.path.c_str());
+       return ePtr<iTsSource>(f);
+}
+
 void eDVBServicePlay::switchToTimeshift()
 {
        if (m_timeshift_active)
@@ -2367,7 +2382,9 @@ void eDVBServicePlay::switchToTimeshift()
        r.path = m_timeshift_file;
 
        m_cue->seekTo(0, -1000);
-       m_service_handler_timeshift.tune(r, 1, m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
+
+       ePtr<iTsSource> source = createTsSource(r);
+       m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
        eDebug("eDVBServicePlay::switchToTimeshift, in pause mode now.");
        pause();
index dafaf35..3efc259 100644 (file)
@@ -185,7 +185,7 @@ public:
        RESULT stream(ePtr<iStreamableService> &ptr);
        PyObject *getStreamingData();
 
-private:
+protected:
        friend class eServiceFactoryDVB;
        eServiceReference m_reference;
        
@@ -289,6 +289,8 @@ private:
 
        ePtr<eConnection> m_video_event_connection;
        void video_event(struct iTSMPEGDecoder::videoEvent);
+
+       virtual ePtr<iTsSource> createTsSource(eServiceReferenceDVB &ref);
 };
 
 class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation
index 1fb1e44..e453a2b 100644 (file)
@@ -1,5 +1,3 @@
-#ifdef HAVE_GSTREAMER
-
        /* note: this requires gstreamer 0.10.x and a big list of plugins. */
        /* it's currently hardcoded to use a big-endian alsasink as sink. */
 #include <lib/base/ebase.h>
@@ -1791,6 +1789,3 @@ void eServiceMP3::setPCMDelay(int delay)
        }
 }
 
-#else
-#warning gstreamer not available, not building media player
-#endif
index 01f7cf7..b864a10 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef __servicemp3_h
 #define __servicemp3_h
 
-#ifdef HAVE_GSTREAMER
 #include <lib/base/message.h>
 #include <lib/service/iservice.h>
 #include <lib/dvb/pmt.h>
@@ -228,6 +227,5 @@ private:
        std::string m_useragent;
        RESULT trickSeek(gdouble ratio);
 };
-#endif
 
 #endif
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644 (file)
index 0000000..38066dd
--- /dev/null
@@ -0,0 +1,5 @@
+libtool.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+lt~obsolete.m4
diff --git a/m4/ax_pkg_swig.m4 b/m4/ax_pkg_swig.m4
new file mode 100644 (file)
index 0000000..81226fb
--- /dev/null
@@ -0,0 +1,133 @@
+# ===========================================================================
+#        http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found])
+#
+# DESCRIPTION
+#
+#   This macro searches for a SWIG installation on your system. If found,
+#   then SWIG is AC_SUBST'd; if not found, then $SWIG is empty.  If SWIG is
+#   found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd.
+#
+#   You can use the optional first argument to check if the version of the
+#   available SWIG is greater than or equal to the value of the argument. It
+#   should have the format: N[.N[.N]] (N is a number between 0 and 999. Only
+#   the first N is mandatory.) If the version argument is given (e.g.
+#   1.3.17), AX_PKG_SWIG checks that the swig package is this version number
+#   or higher.
+#
+#   As usual, action-if-found is executed if SWIG is found, otherwise
+#   action-if-not-found is executed.
+#
+#   In configure.in, use as:
+#
+#     AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
+#     AX_SWIG_ENABLE_CXX
+#     AX_SWIG_MULTI_MODULE_SUPPORT
+#     AX_SWIG_PYTHON
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
+#   Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+#   Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
+#   Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za>
+#
+#   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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AC_DEFUN([AX_PKG_SWIG],[
+        AC_PATH_PROG([SWIG],[swig])
+        if test -z "$SWIG" ; then
+                m4_ifval([$3],[$3],[:])
+        elif test -n "$1" ; then
+                AC_MSG_CHECKING([SWIG version])
+                [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
+                AC_MSG_RESULT([$swig_version])
+                if test -n "$swig_version" ; then
+                        # Calculate the required version number components
+                        [required=$1]
+                        [required_major=`echo $required | sed 's/[^0-9].*//'`]
+                        if test -z "$required_major" ; then
+                                [required_major=0]
+                        fi
+                        [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+                        [required_minor=`echo $required | sed 's/[^0-9].*//'`]
+                        if test -z "$required_minor" ; then
+                                [required_minor=0]
+                        fi
+                        [required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
+                        [required_patch=`echo $required | sed 's/[^0-9].*//'`]
+                        if test -z "$required_patch" ; then
+                                [required_patch=0]
+                        fi
+                        # Calculate the available version number components
+                        [available=$swig_version]
+                        [available_major=`echo $available | sed 's/[^0-9].*//'`]
+                        if test -z "$available_major" ; then
+                                [available_major=0]
+                        fi
+                        [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+                        [available_minor=`echo $available | sed 's/[^0-9].*//'`]
+                        if test -z "$available_minor" ; then
+                                [available_minor=0]
+                        fi
+                        [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
+                        [available_patch=`echo $available | sed 's/[^0-9].*//'`]
+                        if test -z "$available_patch" ; then
+                                [available_patch=0]
+                        fi
+                        # Convert the version tuple into a single number for easier comparison.
+                        # Using base 100 should be safe since SWIG internally uses BCD values
+                        # to encode its version number.
+                        required_swig_vernum=`expr $required_major \* 10000 \
+                            \+ $required_minor \* 100 \+ $required_patch`
+                        available_swig_vernum=`expr $available_major \* 10000 \
+                            \+ $available_minor \* 100 \+ $available_patch`
+
+                        if test $available_swig_vernum -lt $required_swig_vernum; then
+                                AC_MSG_WARN([SWIG version >= $1 is required.  You have $swig_version.])
+                                SWIG=''
+                                m4_ifval([$3],[$3],[])
+                        else
+                                AC_MSG_CHECKING([for SWIG library])
+                                SWIG_LIB=`$SWIG -swiglib`
+                                AC_MSG_RESULT([$SWIG_LIB])
+                                m4_ifval([$2],[$2],[])
+                        fi
+                else
+                        AC_MSG_WARN([cannot determine SWIG version])
+                        SWIG=''
+                        m4_ifval([$3],[$3],[])
+                fi
+        fi
+        AC_SUBST([SWIG_LIB])
+])
diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4
new file mode 100644 (file)
index 0000000..2152a80
--- /dev/null
@@ -0,0 +1,283 @@
+# ===========================================================================
+#        http://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+#   This macro figures out how to build C programs using POSIX threads. It
+#   sets the PTHREAD_LIBS output variable to the threads library and linker
+#   flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+#   flags that are needed. (The user can also force certain compiler
+#   flags/libs to be tested by setting these environment variables.)
+#
+#   Also sets PTHREAD_CC to any special C compiler that is needed for
+#   multi-threaded programs (defaults to the value of CC otherwise). (This
+#   is necessary on AIX to use the special cc_r compiler alias.)
+#
+#   NOTE: You are assumed to not only compile your program with these flags,
+#   but also link it with them as well. e.g. you should link with
+#   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+#   If you are only building threads programs, you may wish to use these
+#   variables in your default LIBS, CFLAGS, and CC:
+#
+#     LIBS="$PTHREAD_LIBS $LIBS"
+#     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+#     CC="$PTHREAD_CC"
+#
+#   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
+#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+#   ACTION-IF-FOUND is a list of shell commands to run if a threads library
+#   is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+#   is not found. If ACTION-IF-FOUND is not specified, the default action
+#   will define HAVE_PTHREAD.
+#
+#   Please let the authors know if this macro fails on any platform, or if
+#   you have any other suggestions or comments. This macro was based on work
+#   by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+#   from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+#   Alejandro Forero Cuervo to the autoconf macro repository. We are also
+#   grateful for the helpful feedback of numerous users.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#
+#   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 3 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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 11
+
+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
+AC_DEFUN([AX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_SAVE
+AC_LANG_C
+ax_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on True64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+        save_CFLAGS="$CFLAGS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        save_LIBS="$LIBS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
+        AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
+        AC_MSG_RESULT($ax_pthread_ok)
+        if test x"$ax_pthread_ok" = xno; then
+                PTHREAD_LIBS=""
+                PTHREAD_CFLAGS=""
+        fi
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try.  Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important.  Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+#       other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+# -pthreads: Solaris/gcc
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+#      doesn't hurt to check since this sometimes defines pthreads too;
+#      also defines -D_REENTRANT)
+#      ... -mt is also the pthreads flag for HP/aCC
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case "${host_cpu}-${host_os}" in
+        *solaris*)
+
+        # On Solaris (at least, for some versions), libc contains stubbed
+        # (non-functional) versions of the pthreads routines, so link-based
+        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
+        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
+        # a function called by this macro, so we could check for that, but
+        # who knows whether they'll stub that too in a future libc.)  So,
+        # we'll just look for -pthreads and -lpthread first:
+
+        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
+        ;;
+
+       *-darwin*)
+       ax_pthread_flags="-pthread $ax_pthread_flags"
+       ;;
+esac
+
+if test x"$ax_pthread_ok" = xno; then
+for flag in $ax_pthread_flags; do
+
+        case $flag in
+                none)
+                AC_MSG_CHECKING([whether pthreads work without any flags])
+                ;;
+
+                -*)
+                AC_MSG_CHECKING([whether pthreads work with $flag])
+                PTHREAD_CFLAGS="$flag"
+                ;;
+
+               pthread-config)
+               AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
+               if test x"$ax_pthread_config" = xno; then continue; fi
+               PTHREAD_CFLAGS="`pthread-config --cflags`"
+               PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+               ;;
+
+                *)
+                AC_MSG_CHECKING([for the pthreads library -l$flag])
+                PTHREAD_LIBS="-l$flag"
+                ;;
+        esac
+
+        save_LIBS="$LIBS"
+        save_CFLAGS="$CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+        # Check for various functions.  We must include pthread.h,
+        # since some functions may be macros.  (On the Sequent, we
+        # need a special flag -Kthread to make this header compile.)
+        # We check for pthread_join because it is in -lpthread on IRIX
+        # while pthread_create is in libc.  We check for pthread_attr_init
+        # due to DEC craziness with -lpthreads.  We check for
+        # pthread_cleanup_push because it is one of the few pthread
+        # functions on Solaris that doesn't have a non-functional libc stub.
+        # We try pthread_create on general principles.
+        AC_TRY_LINK([#include <pthread.h>
+                    static void routine(void* a) {a=0;}
+                    static void* start_routine(void* a) {return a;}],
+                    [pthread_t th; pthread_attr_t attr;
+                     pthread_create(&th,0,start_routine,0);
+                     pthread_join(th, 0);
+                     pthread_attr_init(&attr);
+                     pthread_cleanup_push(routine, 0);
+                     pthread_cleanup_pop(0); ],
+                    [ax_pthread_ok=yes])
+
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+
+        AC_MSG_RESULT($ax_pthread_ok)
+        if test "x$ax_pthread_ok" = xyes; then
+                break;
+        fi
+
+        PTHREAD_LIBS=""
+        PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$ax_pthread_ok" = xyes; then
+        save_LIBS="$LIBS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        save_CFLAGS="$CFLAGS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+       AC_MSG_CHECKING([for joinable pthread attribute])
+       attr_name=unknown
+       for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+           AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
+                        [attr_name=$attr; break])
+       done
+        AC_MSG_RESULT($attr_name)
+        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+            AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
+                               [Define to necessary symbol if this constant
+                                uses a non-standard name on your system.])
+        fi
+
+        AC_MSG_CHECKING([if more special flags are required for pthreads])
+        flag=no
+        case "${host_cpu}-${host_os}" in
+            *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
+            *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
+        esac
+        AC_MSG_RESULT(${flag})
+        if test "x$flag" != xno; then
+            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+        fi
+
+        LIBS="$save_LIBS"
+        CFLAGS="$save_CFLAGS"
+
+        # More AIX lossage: must compile with xlc_r or cc_r
+       if test x"$GCC" != xyes; then
+          AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
+        else
+          PTHREAD_CC=$CC
+       fi
+else
+        PTHREAD_CC="$CC"
+fi
+
+AC_SUBST(PTHREAD_LIBS)
+AC_SUBST(PTHREAD_CFLAGS)
+AC_SUBST(PTHREAD_CC)
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x"$ax_pthread_ok" = xyes; then
+        ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
+        :
+else
+        ax_pthread_ok=no
+        $2
+fi
+AC_LANG_RESTORE
+])dnl AX_PTHREAD
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
new file mode 100644 (file)
index 0000000..a62b860
--- /dev/null
@@ -0,0 +1,325 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PYTHON_DEVEL([version])
+#
+# DESCRIPTION
+#
+#   Note: Defines as a precious variable "PYTHON_VERSION". Don't override it
+#   in your configure.ac.
+#
+#   This macro checks for Python and tries to get the include path to
+#   'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
+#   output variables. It also exports $(PYTHON_EXTRA_LIBS) and
+#   $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
+#
+#   You can search for some particular version of Python by passing a
+#   parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please
+#   note that you *have* to pass also an operator along with the version to
+#   match, and pay special attention to the single quotes surrounding the
+#   version number. Don't use "PYTHON_VERSION" for this: that environment
+#   variable is declared as precious and thus reserved for the end-user.
+#
+#   This macro should work for all versions of Python >= 2.1.0. As an end
+#   user, you can disable the check for the python version by setting the
+#   PYTHON_NOVERSIONCHECK environment variable to something else than the
+#   empty string.
+#
+#   If you need to use this macro for an older Python version, please
+#   contact the authors. We're always open for feedback.
+#
+# LICENSE
+#
+#   Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de>
+#   Copyright (c) 2009 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+#   Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net>
+#   Copyright (c) 2009 Andrew Collier <colliera@ukzn.ac.za>
+#   Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org>
+#   Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org>
+#
+#   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 3 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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 8
+
+AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
+AC_DEFUN([AX_PYTHON_DEVEL],[
+       #
+       # Allow the use of a (user set) custom python version
+       #
+       AC_ARG_VAR([PYTHON_VERSION],[The installed Python
+               version to use, for example '2.3'. This string
+               will be appended to the Python interpreter
+               canonical name.])
+
+       AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
+       if test -z "$PYTHON"; then
+          AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path])
+          PYTHON_VERSION=""
+       fi
+
+       #
+       # Check for a version of Python >= 2.1.0
+       #
+       AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
+       ac_supports_python_ver=`$PYTHON -c "import sys; \
+               ver = sys.version.split ()[[0]]; \
+               print (ver >= '2.1.0')"`
+       if test "$ac_supports_python_ver" != "True"; then
+               if test -z "$PYTHON_NOVERSIONCHECK"; then
+                       AC_MSG_RESULT([no])
+                       AC_MSG_FAILURE([
+This version of the AC@&t@_PYTHON_DEVEL macro
+doesn't work properly with versions of Python before
+2.1.0. You may need to re-run configure, setting the
+variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
+PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
+Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
+to something else than an empty string.
+])
+               else
+                       AC_MSG_RESULT([skip at user request])
+               fi
+       else
+               AC_MSG_RESULT([yes])
+       fi
+
+       #
+       # if the macro parameter ``version'' is set, honour it
+       #
+       if test -n "$1"; then
+               AC_MSG_CHECKING([for a version of Python $1])
+               ac_supports_python_ver=`$PYTHON -c "import sys; \
+                       ver = sys.version.split ()[[0]]; \
+                       print (ver $1)"`
+               if test "$ac_supports_python_ver" = "True"; then
+                  AC_MSG_RESULT([yes])
+               else
+                       AC_MSG_RESULT([no])
+                       AC_MSG_ERROR([this package requires Python $1.
+If you have it installed, but it isn't the default Python
+interpreter in your system path, please pass the PYTHON_VERSION
+variable to configure. See ``configure --help'' for reference.
+])
+                       PYTHON_VERSION=""
+               fi
+       fi
+
+       #
+       # Check if you have distutils, else fail
+       #
+       AC_MSG_CHECKING([for the distutils Python package])
+       ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+       if test -z "$ac_distutils_result"; then
+               AC_MSG_RESULT([yes])
+       else
+               AC_MSG_RESULT([no])
+               AC_MSG_ERROR([cannot import Python module "distutils".
+Please check your Python installation. The error was:
+$ac_distutils_result])
+               PYTHON_VERSION=""
+       fi
+
+       #
+       # Check for Python include path
+       #
+       AC_MSG_CHECKING([for Python include path])
+       if test -z "$PYTHON_CPPFLAGS"; then
+               python_path=`$PYTHON -c "import distutils.sysconfig; \
+                       print (distutils.sysconfig.get_python_inc ());"`
+               if test -n "${python_path}"; then
+                       python_path="-I$python_path"
+               fi
+               PYTHON_CPPFLAGS=$python_path
+       fi
+       AC_MSG_RESULT([$PYTHON_CPPFLAGS])
+       AC_SUBST([PYTHON_CPPFLAGS])
+
+       #
+       # Check for Python library path
+       #
+       AC_MSG_CHECKING([for Python library path])
+       if test -z "$PYTHON_LDFLAGS"; then
+               # (makes two attempts to ensure we've got a version number
+               # from the interpreter)
+               ac_python_version=`cat<<EOD | $PYTHON -
+
+# join all versioning strings, on some systems
+# major/minor numbers could be in different list elements
+from distutils.sysconfig import *
+ret = ''
+for e in get_config_vars ('VERSION'):
+       if (e != None):
+               ret += e
+print (ret)
+EOD`
+
+               if test -z "$ac_python_version"; then
+                       if test -n "$PYTHON_VERSION"; then
+                               ac_python_version=$PYTHON_VERSION
+                       else
+                               ac_python_version=`$PYTHON -c "import sys; \
+                                       print (sys.version[[:3]])"`
+                       fi
+               fi
+
+               # Make the versioning information available to the compiler
+               AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
+                                   [If available, contains the Python version number currently in use.])
+
+               # First, the library directory:
+               ac_python_libdir=`cat<<EOD | $PYTHON -
+
+# There should be only one
+import distutils.sysconfig
+for e in distutils.sysconfig.get_config_vars ('LIBDIR'):
+       if e != None:
+               print (e)
+               break
+EOD`
+
+               # Before checking for libpythonX.Y, we need to know
+               # the extension the OS we're on uses for libraries
+               # (we take the first one, if there's more than one fix me!):
+               ac_python_soext=`$PYTHON -c \
+                 "import distutils.sysconfig; \
+                 print (distutils.sysconfig.get_config_vars('SO')[[0]])"`
+
+               # Now, for the library:
+               ac_python_soname=`$PYTHON -c \
+                 "import distutils.sysconfig; \
+                 print (distutils.sysconfig.get_config_vars('LDLIBRARY')[[0]])"`
+
+               # Strip away extension from the end to canonicalize its name:
+               ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"`
+
+               # This small piece shamelessly adapted from PostgreSQL python macro;
+               # credits goes to momjian, I think. I'd like to put the right name
+               # in the credits, if someone can point me in the right direction... ?
+               #
+               if test -n "$ac_python_libdir" -a -n "$ac_python_library" \
+                       -a x"$ac_python_library" != x"$ac_python_soname"
+               then
+                       # use the official shared library
+                       ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
+                       PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
+               else
+                       # old way: use libpython from python_configdir
+                       ac_python_libdir=`$PYTHON -c \
+                         "from distutils.sysconfig import get_python_lib as f; \
+                         import os; \
+                         print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
+                       PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
+               fi
+
+               if test -z "PYTHON_LDFLAGS"; then
+                       AC_MSG_ERROR([
+  Cannot determine location of your Python DSO. Please check it was installed with
+  dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
+                       ])
+               fi
+       fi
+       AC_MSG_RESULT([$PYTHON_LDFLAGS])
+       AC_SUBST([PYTHON_LDFLAGS])
+
+       #
+       # Check for site packages
+       #
+       AC_MSG_CHECKING([for Python site-packages path])
+       if test -z "$PYTHON_SITE_PKG"; then
+               PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
+                       print (distutils.sysconfig.get_python_lib(0,0));"`
+       fi
+       AC_MSG_RESULT([$PYTHON_SITE_PKG])
+       AC_SUBST([PYTHON_SITE_PKG])
+
+       #
+       # libraries which must be linked in when embedding
+       #
+       AC_MSG_CHECKING(python extra libraries)
+       if test -z "$PYTHON_EXTRA_LIBS"; then
+          PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
+                conf = distutils.sysconfig.get_config_var; \
+                print (conf('LOCALMODLIBS') + ' ' + conf('LIBS'))"`
+       fi
+       AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
+       AC_SUBST(PYTHON_EXTRA_LIBS)
+
+       #
+       # linking flags needed when embedding
+       #
+       AC_MSG_CHECKING(python extra linking flags)
+       if test -z "$PYTHON_EXTRA_LDFLAGS"; then
+               PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
+                       conf = distutils.sysconfig.get_config_var; \
+                       print (conf('LINKFORSHARED'))"`
+       fi
+       AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
+       AC_SUBST(PYTHON_EXTRA_LDFLAGS)
+
+       #
+       # final check to see if everything compiles alright
+       #
+       AC_MSG_CHECKING([consistency of all components of python development environment])
+       # save current global flags
+       ac_save_LIBS="$LIBS"
+       ac_save_CPPFLAGS="$CPPFLAGS"
+       LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
+       CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
+       AC_LANG_PUSH([C])
+       AC_LINK_IFELSE([
+               AC_LANG_PROGRAM([[#include <Python.h>]],
+                               [[Py_Initialize();]])
+               ],[pythonexists=yes],[pythonexists=no])
+       AC_LANG_POP([C])
+       # turn back to default flags
+       CPPFLAGS="$ac_save_CPPFLAGS"
+       LIBS="$ac_save_LIBS"
+
+       AC_MSG_RESULT([$pythonexists])
+
+        if test ! "x$pythonexists" = "xyes"; then
+          AC_MSG_FAILURE([
+  Could not link test program to Python. Maybe the main Python library has been
+  installed in some non-standard library path. If so, pass it to configure,
+  via the LDFLAGS environment variable.
+  Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
+  ============================================================================
+   ERROR!
+   You probably have to install the development version of the Python package
+   for your distribution.  The exact name of this package varies among them.
+  ============================================================================
+          ])
+         PYTHON_VERSION=""
+       fi
+
+       #
+       # all done!
+       #
+])
diff --git a/m4/ax_swig_enable_cxx.m4 b/m4/ax_swig_enable_cxx.m4
new file mode 100644 (file)
index 0000000..348c15d
--- /dev/null
@@ -0,0 +1,53 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_swig_enable_cxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_SWIG_ENABLE_CXX
+#
+# DESCRIPTION
+#
+#   Enable SWIG C++ support. This affects all invocations of $(SWIG).
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
+#   Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+#   Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
+#   Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za>
+#
+#   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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 6
+
+AU_ALIAS([SWIG_ENABLE_CXX], [AX_SWIG_ENABLE_CXX])
+AC_DEFUN([AX_SWIG_ENABLE_CXX],[
+        AC_REQUIRE([AX_PKG_SWIG])
+        AC_REQUIRE([AC_PROG_CXX])
+        SWIG="$SWIG -c++"
+])
diff --git a/m4/ax_swig_python.m4 b/m4/ax_swig_python.m4
new file mode 100644 (file)
index 0000000..8fd3df5
--- /dev/null
@@ -0,0 +1,64 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_swig_python.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_SWIG_PYTHON([use-shadow-classes = {no, yes}])
+#
+# DESCRIPTION
+#
+#   Checks for Python and provides the $(AX_SWIG_PYTHON_CPPFLAGS), and
+#   $(AX_SWIG_PYTHON_OPT) output variables.
+#
+#   $(AX_SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
+#   code for Python. Shadow classes are enabled unless the value of the
+#   optional first argument is exactly 'no'. If you need multi module
+#   support (provided by the AX_SWIG_MULTI_MODULE_SUPPORT macro) use
+#   $(AX_SWIG_PYTHON_LIBS) to link against the appropriate library. It
+#   contains the SWIG Python runtime library that is needed by the type
+#   check system for example.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
+#   Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+#   Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
+#   Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za>
+#
+#   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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AU_ALIAS([SWIG_PYTHON], [AX_SWIG_PYTHON])
+AC_DEFUN([AX_SWIG_PYTHON],[
+        AC_REQUIRE([AX_PKG_SWIG])
+        AC_REQUIRE([AX_PYTHON_DEVEL])
+        test "x$1" != "xno" || swig_shadow=" -noproxy"
+        AC_SUBST([AX_SWIG_PYTHON_OPT],[-python$swig_shadow])
+        AC_SUBST([AX_SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
+])
diff --git a/m4/tuxbox.m4 b/m4/tuxbox.m4
new file mode 100644 (file)
index 0000000..985f757
--- /dev/null
@@ -0,0 +1,36 @@
+AC_DEFUN([TUXBOX_APPS_DVB],[
+AC_ARG_WITH(dvbincludes,
+       [  --with-dvbincludes=PATH  path for dvb includes [[NONE]]],
+       [DVBINCLUDES="$withval"],[DVBINCLUDES=""])
+
+if test "$DVBINCLUDES"; then
+       CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES"
+fi
+
+AC_CHECK_HEADERS(ost/dmx.h,[
+       DVB_API_VERSION=1
+       AC_MSG_NOTICE([found dvb version 1])
+])
+
+if test -z "$DVB_API_VERSION"; then
+AC_CHECK_HEADERS(linux/dvb/version.h,[
+       AC_LANG_PREPROC_REQUIRE()
+       AC_REQUIRE([AC_PROG_EGREP])
+       AC_LANG_CONFTEST([AC_LANG_SOURCE([[
+#include <linux/dvb/version.h>
+version DVB_API_VERSION
+       ]])])
+       DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
+       rm -f conftest*
+
+       AC_MSG_NOTICE([found dvb version $DVB_API_VERSION])
+])
+fi
+
+if test "$DVB_API_VERSION"; then
+       AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
+       AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
+else
+       AC_MSG_ERROR([can't find dvb headers])
+fi
+])
index c143770..aa0b008 100644 (file)
@@ -1 +1,2 @@
-entries
+enigma2
+version.h
index 4f26387..0ed4d71 100644 (file)
@@ -1,43 +1,30 @@
-INCLUDES = \
-       -I$(top_srcdir)/include
+AM_CPPFLAGS = \
+       -I$(top_srcdir) \
+       -I$(top_srcdir)/include \
+       -include Python.h \
+       -include $(top_builddir)/enigma2_config.h
+
+AM_CXXFLAGS = \
+       $(LIBSDL_CFLAGS)
 
 bin_PROGRAMS = enigma2
 
 enigma2_SOURCES = \
-       enigma.cpp bsod.cpp
-
-CLEANFILES = version.h
-
-bsod.o: version.h
-
-enigma.o: version.h
-
-# when there is no ../CVS/Entries, don't worry.
-../CVS/Entries:
-
-../CVS/Root:
+       bsod.cpp \
+       bsod.h \
+       enigma.cpp \
+       xmlgenerator.cpp \
+       xmlgenerator.h \
+       version_info.cpp \
+       version_info.h \
+       version.h
 
-.PHONY: .svn/entries
-
-entries: .svn/entries
-       @if [ ! -f entries ]; then touch entries; fi
-       @if [ -f .svn/entries ] && ! diff -q entries .svn/entries 2>/dev/null; then     \
-               cp --no-preserve=mode .svn/entries entries;                             \
-       fi;
-
-version.h: entries
-       > version.h
-       @if [ -d .svn ]; then \
-               echo "#define ENIGMA2_LAST_CHANGE_DATE \"`LANG="en" svn info | grep 'Last Changed Date:' | cut -d' ' -f4`\"" >> version.h; \
-       elif [ -d ../.git ]; then \
-               if [ -f ../.git/last_commit_info ]; then \
-                       echo "#define ENIGMA2_LAST_CHANGE_DATE \"`cat ../.git/last_commit_info | grep 'Date:' | cut -d' ' -f4`\"" >> version.h; \
-                       echo "#define ENIGMA2_BRANCH \"`cat ../.git/branch`\"" >> version.h; \
-               else \
-                       echo "#define ENIGMA2_LAST_CHANGE_DATE \"`LANG="en" git log --max-count=1 --date=short | grep 'Date:' | cut -d' ' -f4`\"" >> version.h; \
-                       echo "#define ENIGMA2_BRANCH \"`LANG="en" git branch | grep '* ' | cut -d' ' -f2`\"" >> version.h; \
-               fi; \
-       fi;
+EXTRA_DIST = \
+       enigma-dvbtest.cpp \
+       enigma-gdi.cpp \
+       enigma-gui.cpp \
+       enigma-playlist.cpp \
+       enigma-scan.cpp
 
 enigma2_LDADD_WHOLE = \
        $(top_builddir)/lib/actions/libenigma_actions.a \
@@ -54,23 +41,41 @@ enigma2_LDADD_WHOLE = \
        $(top_builddir)/lib/service/libenigma_service.a
 
 enigma2_LDADD = \
-       @FREETYPE_LIBS@ \
-       @ID3TAG_LIBS@ \
-       @MAD_LIBS@ \
-       @PNG_LIBS@ \
-       @SDL_LIBS@ \
-       @SIGC_LIBS@ \
-       @DVBSI_LIBS@ \
-       @FRIBIDI_LIBS@ \
-       @GSTREAMER_LIBS@ \
-       @GSTREAMERPBUTILS_LIBS@ \
-       @JPEG_LIBS@ \
-       @LIBUNGIF_LIBS@ \
-       @XML2_LIBS@ \
-       @XMLCCWRAP_LIBS@ \
-       -ldl -lpthread -lcrypt -lresolv -lrt
+       @BASE_LIBS@ \
+       @LIBGIF_LIBS@ \
+       @LIBJPEG_LIBS@ \
+       @LIBSDL_LIBS@ \
+       @LIBXINE_LIBS@ \
+       @LIBXMLCCWRAP_LIBS@ \
+       @PTHREAD_LIBS@ \
+       @PYTHON_LDFLAGS@
+
+enigma2_LDFLAGS = -Wl,--export-dynamic
+
+if HAVE_GIT_DIR
+GIT_DIR = $(top_srcdir)/.git
+GIT = git --git-dir=$(GIT_DIR)
+
+if HAVE_FAKE_GIT_DIR
+ENIGMA2_DATE = `cat $(GIT_DIR)/last_commit_info | grep 'Date:' | cut -d' ' -f4`
+ENIGMA2_BRANCH = `cat $(GIT_DIR)/branch`
+else
+ENIGMA2_DATE = `$(GIT) log --no-color -n 1 --pretty=format:%cd --date=short`
+ENIGMA2_BRANCH = `$(GIT) branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
+ENIGMA2_REV = `$(GIT) describe --abbrev=7 --always --long --tags`
+endif
+
+BUILT_SOURCES = version-intermediate.h
+.INTERMEDIATE: version-intermediate.h
+.PHONY: version-intermediate.h
+version-intermediate.h:
+       $(AM_V_GEN)touch $@
+       $(AM_V_at)[ -n "$(ENIGMA2_DATE)" ] && echo "#define ENIGMA2_LAST_CHANGE_DATE \"$(ENIGMA2_DATE)\"" >> $@
+       $(AM_V_at)[ -n "$(ENIGMA2_BRANCH)" ] && echo "#define ENIGMA2_BRANCH \"$(ENIGMA2_BRANCH)\"" >> $@
+       -$(AM_V_at)[ -n "$(ENIGMA2_REV)" ] && echo "#define ENIGMA2_REV \"$(ENIGMA2_REV)\"" >> $@
+       $(AM_V_at)([ -f version.h ] && diff -q version.h $@ >/dev/null) || $(INSTALL_HEADER) $@ version.h
+endif
 
 enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE)
-#      @rm -f enigma2$(EXEEXT)
-       $(CXXLINK) $(enigma2_LDFLAGS) $(enigma2_OBJECTS) -Wl,--export-dynamic -Wl,--whole-archive $(enigma2_LDADD_WHOLE) -Wl,--no-whole-archive $(enigma2_LDADD) $(LIBS)
-#      g++ -o enigma2$(EXEEXT) $(enigma2_LDFLAGS) $(enigma2_OBJECTS) -Wl,--export-dynamic -Wl,--whole-archive $(enigma2_LDADD_WHOLE) -Wl,--no-whole-archive $(enigma2_LDADD) $(LIBS)
+       $(AM_V_CXXLD)$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(enigma2_LDFLAGS) $(enigma2_OBJECTS) \
+               -Wl,--whole-archive $(enigma2_LDADD_WHOLE) -Wl,--no-whole-archive $(enigma2_LDADD) $(LIBS)
old mode 100755 (executable)
new mode 100644 (file)
index 68b5d57..f76283e
@@ -1,47 +1,52 @@
-#include <string.h>
-#include <signal.h>
-#include <asm/ptrace.h>
-
+#include <csignal>
+#include <fstream>
+#include <sstream>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
-#include <lib/base/smartptr.h>
 #include <lib/base/nconfig.h>
-#include <lib/gdi/grc.h>
-#include <lib/gdi/gfbdc.h>
-#ifdef WITH_SDL
-#include <lib/gdi/sdl.h>
+#include <lib/gdi/gmaindc.h>
+
+#if defined(__MIPSEL__)
+#include <asm/ptrace.h>
+#else
+#warning "no oops support!"
+#define NO_OOPS_SUPPORT
 #endif
 
-#include "version.h"
+#include "xmlgenerator.h"
+#include "version_info.h"
 
 /************************************************/
 
 #define CRASH_EMAILADDR "crashlog@dream-multimedia-tv.de"
-#define STDBUFFER_SIZE 512
+#define INFOFILE "/maintainer.info"
+
 #define RINGBUFFER_SIZE 16384
 static char ringbuffer[RINGBUFFER_SIZE];
-static int ringbuffer_head;
+static unsigned int ringbuffer_head;
 
-static void addToLogbuffer(const char *data, int len)
+static void addToLogbuffer(const char *data, unsigned int len)
 {
        while (len)
        {
-               int remaining = RINGBUFFER_SIZE - ringbuffer_head;
-       
+               unsigned int remaining = RINGBUFFER_SIZE - ringbuffer_head;
+
                if (remaining > len)
                        remaining = len;
-       
+
                memcpy(ringbuffer + ringbuffer_head, data, remaining);
                len -= remaining;
                data += remaining;
                ringbuffer_head += remaining;
-               if (ringbuffer_head >= RINGBUFFER_SIZE)
+               ASSERT(ringbuffer_head <= RINGBUFFER_SIZE);
+               if (ringbuffer_head == RINGBUFFER_SIZE)
                        ringbuffer_head = 0;
        }
 }
 
-static std::string getLogBuffer()
+static const std::string getLogBuffer()
 {
-       int begin = ringbuffer_head;
+       unsigned int begin = ringbuffer_head;
        while (ringbuffer[begin] == 0)
        {
                ++begin;
@@ -50,12 +55,11 @@ static std::string getLogBuffer()
                if (begin == ringbuffer_head)
                        return "";
        }
+
        if (begin < ringbuffer_head)
                return std::string(ringbuffer + begin, ringbuffer_head - begin);
        else
-       {
                return std::string(ringbuffer + begin, RINGBUFFER_SIZE - begin) + std::string(ringbuffer, ringbuffer_head);
-       }
 }
 
 static void addToLogbuffer(int level, const std::string &log)
@@ -63,122 +67,67 @@ static void addToLogbuffer(int level, const std::string &log)
        addToLogbuffer(log.c_str(), log.size());
 }
 
-static std::string getConfigFileValue(const char *entry)
+static const std::string getConfigString(const std::string &key, const std::string &defaultValue)
 {
-       std::string configfile = "/etc/enigma2/settings";
-       std::string configvalue;
-       if (entry)
-       {
-               ePythonConfigQuery::getConfigValue(entry, configvalue);
-               if (configvalue != "") //we get at least the default value if python is still alive
-               {
-                       return configvalue;
-               }
-               else // get value from enigma2 settings file
-               {
-                       FILE *f = fopen(configfile.c_str(), "r");
-                       if (!f)
-                       {
-                               return "Error";
-                       }
-                       while (1)
-                       {
-                               char line[1024];
-                               if (!fgets(line, 1024, f))
-                                       break;
-                               if (!strncmp(line, entry, strlen(entry) ))
-                               {
-                                       if (strlen(line) && line[strlen(line)-1] == '\r')
-                                               line[strlen(line)-1] = 0;
-                                       if (strlen(line) && line[strlen(line)-1] == '\n')
-                                               line[strlen(line)-1] = 0;
-                                       std::string tmp = line;
-                                       int posEqual = tmp.find("=", 0);
-                                       configvalue = tmp.substr(posEqual+1);
-                               }
-                       }
-                       fclose(f);
-                       return configvalue;
-               }
-       }
-}
+       std::string value;
 
-static std::string getFileContent(const char *file)
-{
-       std::string filecontent;
+       ePythonConfigQuery::getConfigValue(key.c_str(), value);
+       //we get at least the default value if python is still alive
+       if (!value.empty())
+               return value;
 
-       if (file)
-       {
-               FILE *f = fopen(file, "r");
-               if (!f)
-               {
-                       return "Error";
-               }
-               while (1)
-               {
-                       char line[1024];
-                       if (!fgets(line, 1024, f))
+       value = defaultValue;
+
+       // get value from enigma2 settings file
+       std::ifstream in(eEnv::resolve("${sysconfdir}/enigma2/settings").c_str());
+       if (in.good()) {
+               do {
+                       std::string line;
+                       std::getline(in, line);
+                       size_t size = key.size();
+                       if (!key.compare(0, size, line) && line[size] == '=') {
+                               value = line.substr(size + 1);
                                break;
-                       std::string tmp = line;
-                       std::string password;
-                       int pwdpos = tmp.find(".password=", 0);
-                       if( pwdpos != std::string::npos)
-                       {
-                               filecontent += tmp.substr(0,pwdpos +10);
-                               for ( int pos = pwdpos +10; pos < tmp.length()-1; ++pos )
-                               {
-                                       filecontent += "X";
-                               }
-                               filecontent += "\n";
                        }
-                       else {
-                               filecontent += line;
-                       }
-               }
-               fclose(f);
+               } while (in.good());
+               in.close();
        }
-       return filecontent;
-}
 
-static std::string execCommand(char* cmd) {
-       FILE* pipe = popen(cmd, "r");
-       if (!pipe)
-               return "Error";
-       char buffer[STDBUFFER_SIZE];
-       std::string result = "";
-       while(!feof(pipe))
-       {
-               if(!fgets(buffer,STDBUFFER_SIZE, pipe))
-                       break;
-               result += buffer;
-       }
-       pclose(pipe);
-       return result;
+       return value;
 }
 
-extern std::string execCommand();
-extern std::string getConfigFileValue();
-extern std::string getFileContent();
-extern std::string getLogBuffer();
+static bool getConfigBool(const std::string &key, bool defaultValue)
+{
+       std::string value = getConfigString(key, defaultValue ? "true" : "false");
+       const char *cvalue = value.c_str();
 
-#define INFOFILE "/maintainer.info"
+       if (!strcasecmp(cvalue, "true"))
+               return true;
+       if (!strcasecmp(cvalue, "false"))
+               return false;
+
+       return defaultValue;
+}
 
 void bsodFatal(const char *component)
 {
-       char logfile[128];
-       sprintf(logfile, "/media/hdd/enigma2_crash_%u.log", (unsigned int)time(0));
-       FILE *f = fopen(logfile, "wb");
+       std::ostringstream os;
+       os << time(0);
+
+       std::string logfile("/media/hdd/enigma2_crash_" + os.str() + ".log");
+
+       FILE *f = fopen(logfile.c_str(), "wb");
        
        std::string lines = getLogBuffer();
        
                /* find python-tracebacks, and extract "  File "-strings */
        size_t start = 0;
        
-       char crash_emailaddr[256] = CRASH_EMAILADDR;
-       char crash_component[256] = "enigma2";
+       std::string crash_emailaddr = CRASH_EMAILADDR;
+       std::string crash_component = "enigma2";
 
        if (component)
-               snprintf(crash_component, 256, component);
+               crash_component = component;
        else
        {
                while ((start = lines.find("\n  File \"", start)) != std::string::npos)
@@ -195,21 +144,12 @@ void bsodFatal(const char *component)
 
                        if (end == std::string::npos)
                                break;
-                       if (end - start >= (256 - strlen(INFOFILE)))
-                               continue;
-                       char filename[256];
-                       snprintf(filename, 256, "%s%s", lines.substr(start, end - start).c_str(), INFOFILE);
-                       FILE *cf = fopen(filename, "r");
-                       if (cf)
-                       {
-                               fgets(crash_emailaddr, sizeof crash_emailaddr, cf);
-                               if (*crash_emailaddr && crash_emailaddr[strlen(crash_emailaddr)-1] == '\n')
-                                       crash_emailaddr[strlen(crash_emailaddr)-1] = 0;
-
-                               fgets(crash_component, sizeof crash_component, cf);
-                               if (*crash_component && crash_component[strlen(crash_component)-1] == '\n')
-                                       crash_component[strlen(crash_component)-1] = 0;
-                               fclose(cf);
+
+                       std::string filename(lines.substr(start, end - start) + INFOFILE);
+                       std::ifstream in(filename.c_str());
+                       if (in.good()) {
+                               std::getline(in, crash_emailaddr) && std::getline(in, crash_component);
+                               in.close();
                        }
                }
        }
@@ -217,207 +157,108 @@ void bsodFatal(const char *component)
        if (f)
        {
                time_t t = time(0);
-               char crashtime[STDBUFFER_SIZE];
-               sprintf(crashtime, "%s",ctime(&t));
-               if (strlen(crashtime) && crashtime[strlen(crashtime)-1] == '\n')
-                               crashtime[strlen(crashtime)-1] = 0;
-               fprintf(f, "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n<opendreambox>\n");
-               fprintf(f, "\t<enigma2>\n");
-               fprintf(f, "\t\t<crashdate>%s</crashdate>\n", crashtime);
-#ifdef ENIGMA2_CHECKOUT_TAG
-               fprintf(f, "\t\t<checkouttag>" ENIGMA2_CHECKOUT_TAG "</checkouttag>\n");
-#else
-               fprintf(f, "\t\t<compiledate>" __DATE__ "</compiledate>\n");
-#endif
-#ifdef ENIGMA2_CHECKOUT_ROOT
-               fprintf(f, "\t\t<checkoutroot>" ENIGMA2_CHECKOUT_ROOT "</checkoutroot>\n");
-#endif
-               fprintf(f, "\t\t<contactemail>%s</contactemail>\n", crash_emailaddr);
-               fprintf(f, "\t\t<!-- Please email this crashlog to above address -->\n");
-               std::string activeSkin = getConfigFileValue("config.skin.primary_skin");
-               if (activeSkin != "Error")
-               {
-                       if (activeSkin == "")
-                               activeSkin = "Default Skin";
-                       fprintf(f, "\t\t<skin>%s</skin>\n", activeSkin.c_str());
-               }
-               fprintf(f, "\t</enigma2>\n");
+               struct tm tm;
+               char tm_str[32];
 
-               fprintf(f, "\t<image>\n");
-               std::string model = getFileContent("/proc/stb/info/model");
-               if (model != "Error")
-               {
-                       char modelname[STDBUFFER_SIZE];
-                       sprintf(modelname, "%s",model.c_str());
-                       if (strlen(modelname) && modelname[strlen(modelname)-1] == '\n')
-                               modelname[strlen(modelname)-1] = 0;
-                       fprintf(f, "\t\t<dreamboxmodel>%s</dreamboxmodel>\n", modelname);
-               }
-               std::string kernel = getFileContent("/proc/cmdline");
-               if (kernel != "Error")
-               {
-                       char kernelcmd[STDBUFFER_SIZE];
-                       sprintf(kernelcmd, "%s",kernel.c_str());
-                       if (strlen(kernelcmd) && kernelcmd[strlen(kernelcmd)-1] == '\n')
-                               kernelcmd[strlen(kernelcmd)-1] = 0;
-                       fprintf(f, "\t\t<kernelcmdline>%s</kernelcmdline>\n", kernelcmd);
-               }
-               std::string sendAnonCrashlog = getConfigFileValue("config.plugins.crashlogautosubmit.sendAnonCrashlog");
-               if (sendAnonCrashlog == "False" || sendAnonCrashlog == "false") // defaults to true... default anonymized crashlogs
-               {
-                       std::string ca = getFileContent("/proc/stb/info/ca");
-                       if (ca != "Error")
-                       {
-                               char dreamboxca[STDBUFFER_SIZE];
-                               sprintf(dreamboxca, "%s",ca.c_str());
-                               if (strlen(dreamboxca) && dreamboxca[strlen(dreamboxca)-1] == '\n')
-                                       dreamboxca[strlen(dreamboxca)-1] = 0;
-                               fprintf(f, "\t\t<dreamboxca>\n\t\t<![CDATA[\n%s\n\t\t]]>\n\t\t</dreamboxca>\n", dreamboxca);
-                       }
-                       std::string settings = getFileContent("/etc/enigma2/settings");
-                       if (settings != "Error")
-                       {
-                               fprintf(f, "\t\t<enigma2settings>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</enigma2settings>\n", settings.c_str());
-                       }
-               }
-               std::string addNetwork = getConfigFileValue("config.plugins.crashlogautosubmit.addNetwork");
-               if (addNetwork == "True" || addNetwork == "true")
-               {
-                       std::string nwinterfaces = getFileContent("/etc/network/interfaces");
-                       if (nwinterfaces != "Error")
-                       {
-                               fprintf(f, "\t\t<networkinterfaces>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</networkinterfaces>\n", nwinterfaces.c_str());
-                       }
-                       std::string dns = getFileContent("/etc/resolv.conf");
-                       if (dns != "Error")
-                       {
-                               fprintf(f, "\t\t<dns>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</dns>\n", dns.c_str());
-                       }
-                       std::string defaultgw = getFileContent("/etc/default_gw");
-                       if (defaultgw != "Error")
-                       {
-                               char gateway[STDBUFFER_SIZE];
-                               sprintf(gateway, "%s",defaultgw.c_str());
-                               if (strlen(gateway) && gateway[strlen(gateway)-1] == '\n')
-                                       gateway[strlen(gateway)-1] = 0;
-                               fprintf(f, "\t\t<defaultgateway>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</defaultgateway>\n", gateway);
-                       }
-               }
-               std::string addWlan = getConfigFileValue("config.plugins.crashlogautosubmit.addWlan");
-               if (addWlan == "True" || addWlan == "true")
-               {
-                       std::string wpasupplicant = getFileContent("/etc/wpa_supplicant.conf");
-                       if (wpasupplicant != "Error")
-                       {
-                               fprintf(f, "\t\t<wpasupplicant>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</wpasupplicant>\n", wpasupplicant.c_str());
-                       }
-               }
-               std::string imageversion = getFileContent("/etc/image-version");
-               if (imageversion != "Error")
-               {
-                       fprintf(f, "\t\t<imageversion>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</imageversion>\n", imageversion.c_str());
+               localtime_r(&t, &tm);
+               strftime(tm_str, sizeof(tm_str), "%a %b %_d %T %Y", &tm);
+
+               XmlGenerator xml(f);
+
+               xml.open("opendreambox");
+
+               xml.open("enigma2");
+               xml.string("crashdate", tm_str);
+               xml.string("compiledate", __DATE__);
+               xml.string("contactemail", crash_emailaddr);
+               xml.comment("Please email this crashlog to above address");
+
+               xml.string("skin", getConfigString("config.skin.primary_skin", "Default Skin"));
+               xml.string("sourcedate", enigma2_date);
+               xml.string("branch", enigma2_branch);
+               xml.string("rev", enigma2_rev);
+               xml.string("version", PACKAGE_VERSION);
+               xml.close();
+
+               xml.open("image");
+               xml.stringFromFile("dreamboxmodel", "/proc/stb/info/model");
+               xml.stringFromFile("kernelcmdline", "/proc/cmdline");
+               if (!getConfigBool("config.plugins.crashlogautosubmit.sendAnonCrashlog", true)) {
+                       xml.cDataFromFile("dreamboxca", "/proc/stb/info/ca");
+                       xml.cDataFromFile("enigma2settings", eEnv::resolve("${sysconfdir}/enigma2/settings"), ".password=");
                }
-               std::string imageissue = getFileContent("/etc/issue.net");
-               if (imageissue != "Error")
-               {
-                       fprintf(f, "\t\t<imageissue>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</imageissue>\n", imageissue.c_str());
+               if (getConfigBool("config.plugins.crashlogautosubmit.addNetwork", false)) {
+                       xml.cDataFromFile("networkinterfaces", "/etc/network/interfaces");
+                       xml.cDataFromFile("dns", "/etc/resolv.conf");
+                       xml.cDataFromFile("defaultgateway", "/etc/default_gw");
                }
-               fprintf(f, "\t</image>\n");
-
-               fprintf(f, "\t<software>\n");
-               std::string installedplugins = execCommand("ipkg list_installed | grep enigma2");
-               fprintf(f, "\t\t<enigma2software>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</enigma2software>\n", installedplugins.c_str());
-               std::string dreambox = execCommand("ipkg list_installed | grep dream");
-               fprintf(f, "\t\t<dreamboxsoftware>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</dreamboxsoftware>\n", dreambox.c_str());
-               std::string gstreamer = execCommand("ipkg list_installed | grep gst");
-               fprintf(f, "\t\t<gstreamersoftware>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</gstreamersoftware>\n", gstreamer.c_str());
-               fprintf(f, "\t</software>\n");
-
-               fprintf(f, "\t<crashlogs>\n");
-               std::string buffer = getLogBuffer();
-               fprintf(f, "\t\t<enigma2crashlog>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</enigma2crashlog>\n", buffer.c_str());
-               std::string pythonmd5 = execCommand("find /usr/lib/enigma2/python/ -name \"*.py\" | xargs md5sum");
-               fprintf(f, "\t\t<pythonMD5sum>\n\t\t<![CDATA[\n%s\t\t]]>\n\t\t</pythonMD5sum>\n", pythonmd5.c_str());
-               fprintf(f, "\t</crashlogs>\n");
-
-               fprintf(f, "\n</opendreambox>\n");
+               if (getConfigBool("config.plugins.crashlogautosubmit.addWlan", false))
+                       xml.cDataFromFile("wpasupplicant", "/etc/wpa_supplicant.conf");
+               xml.cDataFromFile("imageversion", "/etc/image-version");
+               xml.cDataFromFile("imageissue", "/etc/issue.net");
+               xml.close();
+
+               xml.open("software");
+               xml.cDataFromCmd("enigma2software", "ipkg list_installed | grep enigma2");
+               xml.cDataFromCmd("dreamboxsoftware", "ipkg list_installed | grep dream");
+               xml.cDataFromCmd("gstreamersoftware", "ipkg list_installed | grep gst");
+               xml.close();
+
+               xml.open("crashlogs");
+               xml.cDataFromString("enigma2crashlog", getLogBuffer());
+               xml.cDataFromCmd("pythonMD5sum", "find " + eEnv::resolve("${libdir}/enigma2/python/") + " -name \"*.py\" | xargs md5sum");
+               xml.close();
+
+               xml.close();
+
                fclose(f);
-               
        }
-       
-#ifdef WITH_SDL
-       ePtr<gSDLDC> my_dc;
-       gSDLDC::getInstance(my_dc);
-#else
-       ePtr<gFBDC> my_dc;
-       gFBDC::getInstance(my_dc);
-#endif
-       
-       {
-               gPainter p(my_dc);
-               p.resetOffset();
-               p.resetClip(eRect(ePoint(0, 0), my_dc->size()));
-#ifdef ENIGMA2_CHECKOUT_TAG
-               if (ENIGMA2_CHECKOUT_TAG[0] == 'T') /* tagged checkout (release) */
-                       p.setBackgroundColor(gRGB(0x0000C0));
-               else if (ENIGMA2_CHECKOUT_TAG[0] == 'D') /* dated checkout (daily experimental build) */
-               {
-                       srand(time(0));
-                       int r = rand();
-                       unsigned int col = 0;
-                       if (r & 1)
-                               col |= 0x800000;
-                       if (r & 2)
-                               col |= 0x008000;
-                       if (r & 4)
-                               col |= 0x0000c0;
-                       p.setBackgroundColor(gRGB(col));
-               }
-#else
-                       p.setBackgroundColor(gRGB(0x008000));
-#endif
 
-               p.setForegroundColor(gRGB(0xFFFFFF));
-       
-               ePtr<gFont> font = new gFont("Regular", 20);
-               p.setFont(font);
-               p.clear();
-       
-               eRect usable_area = eRect(100, 70, my_dc->size().width() - 150, 100);
-               
-               char text[512];
-               snprintf(text, 512, "We are really sorry. Your Dreambox encountered "
-                       "a software problem, and needs to be restarted. "
-                       "Please send the logfile created in /hdd/ to %s.\n"
-                       "Your Dreambox restarts in 10 seconds!\n"
-                       "Component: %s",
-                       crash_emailaddr, crash_component);
-       
-               p.renderText(usable_area, text, gPainter::RT_WRAP|gPainter::RT_HALIGN_LEFT);
-       
-               usable_area = eRect(100, 170, my_dc->size().width() - 180, my_dc->size().height() - 20);
+       ePtr<gMainDC> my_dc;
+       gMainDC::getInstance(my_dc);
        
-               int i;
+       gPainter p(my_dc);
+       p.resetOffset();
+       p.resetClip(eRect(ePoint(0, 0), my_dc->size()));
+       p.setBackgroundColor(gRGB(0x008000));
+       p.setForegroundColor(gRGB(0xFFFFFF));
+
+       ePtr<gFont> font = new gFont("Regular", 20);
+       p.setFont(font);
+       p.clear();
+
+       eRect usable_area = eRect(100, 70, my_dc->size().width() - 150, 100);
        
-               size_t start = std::string::npos + 1;
-               for (i=0; i<20; ++i)
+       std::string text("We are really sorry. Your Dreambox encountered "
+               "a software problem, and needs to be restarted. "
+               "Please send the logfile created in /hdd/ to " + crash_emailaddr + ".\n"
+               "Your Dreambox restarts in 10 seconds!\n"
+               "Component: " + crash_component);
+
+       p.renderText(usable_area, text.c_str(), gPainter::RT_WRAP|gPainter::RT_HALIGN_LEFT);
+
+       usable_area = eRect(100, 170, my_dc->size().width() - 180, my_dc->size().height() - 20);
+
+       int i;
+
+       start = std::string::npos + 1;
+       for (i=0; i<20; ++i)
+       {
+               start = lines.rfind('\n', start - 1);
+               if (start == std::string::npos)
                {
-                       start = lines.rfind('\n', start - 1);
-                       if (start == std::string::npos)
-                       {
-                               start = 0;
-                               break;
-                       }
+                       start = 0;
+                       break;
                }
-       
-               font = new gFont("Regular", 14);
-               p.setFont(font);
-       
-               p.renderText(usable_area, 
-                       lines.substr(start), gPainter::RT_HALIGN_LEFT);
-               sleep(10);
        }
 
+       font = new gFont("Regular", 14);
+       p.setFont(font);
+
+       p.renderText(usable_area, 
+               lines.substr(start), gPainter::RT_HALIGN_LEFT);
+       sleep(10);
+
        raise(SIGKILL);
 }
 
@@ -444,16 +285,13 @@ void oops(const mcontext_t &context, int dumpcode)
                eDebug(" (end)");
        }
 }
-#else
-#warning "no oops support!"
-#define NO_OOPS_SUPPORT
 #endif
 
 void handleFatalSignal(int signum, siginfo_t *si, void *ctx)
 {
+#ifndef NO_OOPS_SUPPORT
        ucontext_t *uc = (ucontext_t*)ctx;
 
-#ifndef NO_OOPS_SUPPORT
        oops(uc->uc_mcontext, signum == SIGSEGV || signum == SIGABRT);
 #endif
        eDebug("-------");
@@ -463,7 +301,6 @@ void handleFatalSignal(int signum, siginfo_t *si, void *ctx)
 void bsodCatchSignals()
 {
        struct sigaction act;
-       act.sa_handler = SIG_DFL;
        act.sa_sigaction = handleFatalSignal;
        act.sa_flags = SA_RESTART | SA_SIGINFO;
        if (sigemptyset(&act.sa_mask) == -1)
index 144e2d3..f21c870 100644 (file)
@@ -1,6 +1,7 @@
 #include <stdio.h>
 #include <libsig_comp.h>
 #include <lib/base/ebase.h>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
 #include <lib/base/init.h>
 #include <lib/base/init_num.h>
@@ -8,7 +9,7 @@
 #include <unistd.h>
 
 #include <lib/gdi/grc.h>
-#include <lib/gdi/gfbdc.h>
+#include <lib/gdi/gmaindc.h>
 #include <lib/gdi/font.h> 
 
 #include <lib/gui/ewidget.h>
@@ -52,8 +53,8 @@ int main()
        eInit init;
 
        init.setRunlevel(eAutoInitNumbers::main);
-       ePtr<gFBDC> my_dc;
-       gFBDC::getInstance(my_dc);
+       ePtr<gMainDC> my_dc;
+       gMainDC::getInstance(my_dc);
 
        gPainter p(my_dc);
        
@@ -67,7 +68,7 @@ int main()
                pal[a | 0x10] = (0x111111 * a) | 0xFF;
        p.setPalette(pal, 0, 256);
 
-       fontRenderClass::getInstance()->AddFont(FONTDIR "/arial.ttf", "Regular", 100);
+       fontRenderClass::getInstance()->AddFont(eEnv::resolve("${datadir}/fonts/arial.ttf"), "Regular", 100);
 
        p.resetClip(gRegion(eRect(0, 0, 720, 576)));
        
index e53fcca..f3d1b17 100644 (file)
@@ -8,7 +8,7 @@
 #include <unistd.h>
 
 #include <lib/gdi/grc.h>
-#include <lib/gdi/gfbdc.h>
+#include <lib/gdi/gmaindc.h>
 #include <lib/gdi/font.h> 
 
 #include <lib/gui/ewidget.h>
@@ -52,8 +52,8 @@ int main()
        eInit init;
 
        init.setRunlevel(eAutoInitNumbers::main);
-       ePtr<gFBDC> my_dc;
-       gFBDC::getInstance(my_dc);
+       ePtr<gMainDC> my_dc;
+       gMainDC::getInstance(my_dc);
 
        gPainter p(my_dc);
        
@@ -67,7 +67,7 @@ int main()
                pal[a | 0x10] = (0x111111 * a) | 0xFF;
        p.setPalette(pal, 0, 256);
 
-       fontRenderClass::getInstance()->AddFont(FONTDIR "/arial.ttf", "Regular", 100);
+       fontRenderClass::getInstance()->AddFont(eEnv::resolve("${datadir}/fonts/arial.ttf"), "Regular", 100);
 
        eWidgetDesktop dsk(eSize(720, 576));
        dsk.setDC(my_dc);
index b8554d5..1cdd867 100644 (file)
@@ -9,15 +9,13 @@
 #include <lib/driver/rc.h>
 #include <lib/base/ioprio.h>
 #include <lib/base/ebase.h>
+#include <lib/base/eenv.h>
 #include <lib/base/eerror.h>
 #include <lib/base/init.h>
 #include <lib/base/init_num.h>
-#include <lib/gdi/gfbdc.h>
+#include <lib/gdi/gmaindc.h>
 #include <lib/gdi/glcddc.h>
 #include <lib/gdi/grc.h>
-#ifdef WITH_SDL
-#include <lib/gdi/sdl.h>
-#endif
 #include <lib/gdi/epng.h>
 #include <lib/gdi/font.h>
 #include <lib/gui/ebutton.h>
 #include <lib/python/python.h>
 
 #include "bsod.h"
+#include "version_info.h"
 
-#ifdef HAVE_GSTREAMER
 #include <gst/gst.h>
-#endif
 
 #ifdef OBJECT_DEBUG
 int object_total_remaining;
@@ -135,12 +132,10 @@ int main(int argc, char **argv)
        atexit(object_dump);
 #endif
 
-#ifdef HAVE_GSTREAMER
        gst_init(&argc, &argv);
-#endif
 
        // set pythonpath if unset
-       setenv("PYTHONPATH", LIBDIR "/enigma2/python", 0);
+       setenv("PYTHONPATH", eEnv::resolve("${libdir}/enigma2/python").c_str(), 0);
        printf("PYTHONPATH: %s\n", getenv("PYTHONPATH"));
        
        bsodLogInit();
@@ -149,15 +144,10 @@ int main(int argc, char **argv)
        eMain main;
 
 #if 1
-#ifdef WITH_SDL
-       ePtr<gSDLDC> my_dc;
-       gSDLDC::getInstance(my_dc);
-#else
-       ePtr<gFBDC> my_dc;
-       gFBDC::getInstance(my_dc);
+       ePtr<gMainDC> my_dc;
+       gMainDC::getInstance(my_dc);
        
-       int double_buffer = my_dc->haveDoubleBuffering();
-#endif
+       //int double_buffer = my_dc->haveDoubleBuffering();
 
        ePtr<gLCDDC> my_lcd_dc;
        gLCDDC::getInstance(my_lcd_dc);
@@ -190,7 +180,7 @@ int main(int argc, char **argv)
        dsk_lcd.setDC(my_lcd_dc);
 
        ePtr<gPixmap> m_pm;
-       loadPNG(m_pm, DATADIR "/enigma2/skin_default/pal.png");
+       loadPNG(m_pm, eEnv::resolve("${datadir}/enigma2/skin_default/pal.png").c_str());
        if (!m_pm)
        {
                eFatal("pal.png not found!");
@@ -213,14 +203,16 @@ int main(int argc, char **argv)
                ePtr<gPixmap> wait[MAX_SPINNER];
                for (i=0; i<MAX_SPINNER; ++i)
                {
-                       char filename[strlen(DATADIR) + 41];
-                       sprintf(filename, DATADIR "/enigma2/skin_default/spinner/wait%d.png", i + 1);
-                       loadPNG(wait[i], filename);
+                       char filename[64];
+                       std::string rfilename;
+                       snprintf(filename, sizeof(filename), "${datadir}/enigma2/skin_default/spinner/wait%d.png", i + 1);
+                       rfilename = eEnv::resolve(filename);
+                       loadPNG(wait[i], rfilename.c_str());
                        
                        if (!wait[i])
                        {
                                if (!i)
-                                       eDebug("failed to load %s! (%m)", filename);
+                                       eDebug("failed to load %s! (%m)", rfilename.c_str());
                                else
                                        eDebug("found %d spinner!\n", i);
                                break;
@@ -243,7 +235,7 @@ int main(int argc, char **argv)
        setIoPrio(IOPRIO_CLASS_BE, 3);
 
 //     python.execute("mytest", "__main__");
-       python.execFile("/usr/lib/enigma2/python/mytest.py");
+       python.execFile(eEnv::resolve("${libdir}/enigma2/python/mytest.py").c_str());
 
        extern void setFullsize(); // definend in lib/gui/evideo.cpp
        setFullsize();
@@ -276,11 +268,6 @@ eApplication *getApplication()
        return eApp;
 }
 
-void runMainloop()
-{
-       eApp->runLoop();
-}
-
 void quitMainloop(int exitCode)
 {
        FILE *f = fopen("/proc/stb/fp/was_timer_wakeup", "w");
@@ -305,22 +292,30 @@ void quitMainloop(int exitCode)
        eApp->quit(0);
 }
 
-#include "version.h"
+static void sigterm_handler(int num)
+{
+       quitMainloop(128 + num);
+}
+
+void runMainloop()
+{
+       struct sigaction act;
+
+       act.sa_handler = sigterm_handler;
+       act.sa_flags = SA_RESTART;
+
+       if (sigemptyset(&act.sa_mask) == -1)
+               perror("sigemptyset");
+       if (sigaction(SIGTERM, &act, 0) == -1)
+               perror("SIGTERM");
+
+       eApp->runLoop();
+}
 
 const char *getEnigmaVersionString()
 {
-       std::string date =
-#ifdef ENIGMA2_LAST_CHANGE_DATE
-               ENIGMA2_LAST_CHANGE_DATE;
-#else
-               __DATE__;
-#endif
-       std::string branch =
-#ifdef ENIGMA2_BRANCH
-               ENIGMA2_BRANCH;
-#else
-               "HEAD";
-#endif
+       std::string date = enigma2_date;
+       std::string branch = enigma2_branch;
        return std::string(date + '-' + branch).c_str();
 }
 
diff --git a/main/version_info.cpp b/main/version_info.cpp
new file mode 100644 (file)
index 0000000..a846c61
--- /dev/null
@@ -0,0 +1,18 @@
+#include "version_info.h"
+#include "version.h"
+
+#ifndef ENIGMA2_LAST_CHANGE_DATE
+#define ENIGMA2_LAST_CHANGE_DATE __DATE__
+#endif
+const char *enigma2_date = ENIGMA2_LAST_CHANGE_DATE;
+
+#ifndef ENIGMA2_BRANCH
+#define ENIGMA2_BRANCH "HEAD"
+#endif
+const char *enigma2_branch = ENIGMA2_BRANCH;
+
+#ifndef ENIGMA2_REV
+#define ENIGMA2_REV ""
+#endif
+const char *enigma2_rev = ENIGMA2_REV;
+
diff --git a/main/version_info.h b/main/version_info.h
new file mode 100644 (file)
index 0000000..f93cf01
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef __main_version_info_h__
+#define __main_version_info_h__
+
+extern const char *enigma2_date;
+extern const char *enigma2_branch;
+extern const char *enigma2_rev;
+
+#endif
diff --git a/main/xmlgenerator.cpp b/main/xmlgenerator.cpp
new file mode 100644 (file)
index 0000000..eb4f157
--- /dev/null
@@ -0,0 +1,188 @@
+#include <fstream>
+#include <lib/base/eerror.h>
+#include "xmlgenerator.h"
+
+XmlGenerator::XmlGenerator(FILE *f) : m_file(f), m_indent(true), m_level(0)
+{
+       ::fprintf(m_file, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
+}
+
+XmlGenerator::~XmlGenerator()
+{
+}
+
+void XmlGenerator::vprint(const char *fmt, va_list ap, bool newline)
+{
+       unsigned int i;
+
+       if (m_indent)
+               for (i = 0; i < m_level; i++)
+                       ::fprintf(m_file, "\t");
+
+       ::vfprintf(m_file, fmt, ap);
+
+       if (newline)
+               ::fprintf(m_file, "\n");
+}
+
+void XmlGenerator::print(const char *fmt, ...)
+{
+       va_list ap;
+
+       ::va_start(ap, fmt);
+       vprint(fmt, ap, false);
+       ::va_end(ap);
+}
+
+void XmlGenerator::printLn(const char *fmt, ...)
+{
+       va_list ap;
+
+       ::va_start(ap, fmt);
+       vprint(fmt, ap, true);
+       ::va_end(ap);
+}
+
+void XmlGenerator::open(const std::string &tag, bool newline)
+{
+       if (newline) {
+               printLn("<%s>", tag.c_str());
+       } else {
+               print("<%s>", tag.c_str());
+               m_indent = false;
+       }
+
+       m_tags.push(tag);
+       m_level++;
+}
+
+void XmlGenerator::open(const std::string &tag)
+{
+       open(tag, true);
+}
+
+void XmlGenerator::close()
+{
+       ASSERT(!m_tags.empty());
+       ASSERT(m_level > 0);
+       m_level--;
+
+       printLn("</%s>", m_tags.top().c_str());
+       m_indent = true;
+
+       m_tags.pop();
+}
+
+void XmlGenerator::comment(const std::string &str)
+{
+       printLn("<!-- %s -->", str.c_str());
+}
+
+void XmlGenerator::commentFromErrno(const std::string &tag)
+{
+       open(tag);
+       comment(strerror(errno));
+       close();
+}
+
+std::string XmlGenerator::cDataEscape(const std::string &str)
+{
+       const std::string search = "]]>";
+       const std::string replace = "]]]]><![CDATA[>";
+       std::string ret;
+       size_t pos = 0, opos;
+
+       for (;;) {
+               opos = pos;
+               pos = str.find(search, opos);
+               if (pos == std::string::npos)
+                       break;
+               ret.append(str, opos, pos - opos);
+               ret.append(replace);
+               pos += search.size();
+       }
+
+       ret.append(str, opos, std::string::npos);
+       return ret;
+}
+
+void XmlGenerator::cDataFromCmd(const std::string &tag, const std::string &cmd)
+{
+       FILE *pipe = ::popen(cmd.c_str(), "re");
+
+       if (pipe == 0) {
+               commentFromErrno(tag);
+               return;
+       }
+
+       std::string result;
+       char *lineptr = NULL;
+       size_t n = 0;
+
+       for (;;) {
+               ssize_t ret = ::getline(&lineptr, &n, pipe);
+               if (ret < 0)
+                       break;
+               result.append(lineptr, ret);
+       }
+
+       if (lineptr)
+               ::free(lineptr);
+
+       ::pclose(pipe);
+       cDataFromString(tag, result);
+}
+
+void XmlGenerator::cDataFromFile(const std::string &tag, const std::string &filename, const char *filter)
+{
+       std::ifstream in(filename.c_str());
+       std::string line;
+       std::string content;
+
+       if (!in.good()) {
+               commentFromErrno(tag);
+               return;
+       }
+
+       while (std::getline(in, line))
+               if (!filter || !line.find(filter))
+                       content += line + '\n';
+
+       in.close();
+       cDataFromString(tag, content);
+}
+
+void XmlGenerator::cDataFromString(const std::string &tag, const std::string &str)
+{
+       bool indent = false;
+
+       open(tag);
+       printLn("<![CDATA[");
+       std::swap(m_indent, indent);
+       print("%s", cDataEscape(str).c_str());
+       printLn("]]>");
+       std::swap(m_indent, indent);
+       close();
+}
+
+void XmlGenerator::string(const std::string &tag, const std::string &str)
+{
+       open(tag, false);
+       print("%s", str.c_str());
+       close();
+}
+
+void XmlGenerator::stringFromFile(const std::string &tag, const std::string &filename)
+{
+       std::ifstream in(filename.c_str());
+       std::string line;
+
+       if (!in.good()) {
+               commentFromErrno(tag);
+               return;
+       }
+
+       std::getline(in, line);
+       in.close();
+       string(tag, line);
+}
diff --git a/main/xmlgenerator.h b/main/xmlgenerator.h
new file mode 100644 (file)
index 0000000..0dbb262
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef _main_xmlgenerator_h__
+#define _main_xmlgenerator_h__
+
+#include <cstdarg>
+#include <cstdio>
+#include <stack>
+#include <string>
+
+class XmlGenerator
+{
+private:
+       FILE *m_file;
+       bool m_indent;
+       unsigned int m_level;
+       std::stack<std::string> m_tags;
+
+       void vprint(const char *fmt, va_list ap, bool newline);
+       void __attribute__ ((__format__(__printf__, 2, 3))) print(const char *fmt, ...);
+       void __attribute__ ((__format__(__printf__, 2, 3))) printLn(const char *fmt, ...);
+
+       void open(const std::string &tag, bool newline);
+       void commentFromErrno(const std::string &tag);
+
+       std::string cDataEscape(const std::string &str);
+
+public:
+       XmlGenerator(FILE *f);
+       ~XmlGenerator();
+
+       void open(const std::string &tag);
+       void close();
+
+       void comment(const std::string &str);
+
+       void cDataFromCmd(const std::string &tag, const std::string &cmd);
+       void cDataFromFile(const std::string &tag, const std::string &filename, const char *filter = 0);
+       void cDataFromString(const std::string &tag, const std::string &str);
+
+       void string(const std::string &tag, const std::string &str);
+       void stringFromFile(const std::string &tag, const std::string &filename);
+};
+
+#endif
index a3cfb5a..d34924b 100755 (executable)
--- a/mytest.py
+++ b/mytest.py
@@ -10,7 +10,8 @@ from Tools.Profile import profile, profile_final
 profile("PYTHON_START")
 
 from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, \
-       getDesktop, ePythonConfigQuery, eAVSwitch, eServiceEvent
+       getDesktop, ePythonConfigQuery, eAVSwitch, eServiceEvent, \
+       eEPGCache
 from tools import *
 
 profile("LANGUAGE")
@@ -55,6 +56,11 @@ config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)
 config.misc.useTransponderTime = ConfigYesNo(default=True)
 config.misc.startCounter = ConfigInteger(default=0) # number of e2 starts...
 config.misc.standbyCounter = NoSave(ConfigInteger(default=0)) # number of standby
+config.misc.epgcache_filename = ConfigText(default = "/hdd/epg.dat")
+
+def setEPGCachePath(configElement):
+       eEPGCache.getInstance().setCacheFile(configElement.value)
+config.misc.epgcache_filename.addNotifier(setEPGCachePath)
 
 #demo code for use of standby enter leave callbacks
 #def leaveStandby():
diff --git a/po/.gitignore b/po/.gitignore
new file mode 100644 (file)
index 0000000..6e85d37
--- /dev/null
@@ -0,0 +1,2 @@
+*.mo
+*.pot
diff --git a/po/LINGUAS b/po/LINGUAS
deleted file mode 100644 (file)
index 6b09e26..0000000
+++ /dev/null
@@ -1 +0,0 @@
-ar ca cs da de el en es et fi fr fy hr hu is it lt lv nl no pl pt ru sv sk sl sr tr uk
old mode 100755 (executable)
new mode 100644 (file)
index ba04440..e7318f7
@@ -1,60 +1,45 @@
-DOMAIN=enigma2
-#GETTEXT=./pygettext.py
-GETTEXT=xgettext
+dist_noinst_SCRIPTS = xml2po.py
 
-#MSGFMT = ./msgfmt.py
-MSGFMT = msgfmt
+LANGS = ar ca cs da de el en es et fi fr fy hr hu is it lt lv nl no pl pt ru sv sk sl sr tr uk
+LANGMO = $(LANGS:=.mo)
+LANGPO = $(LANGS:=.po)
 
-LANGS := $(shell cat $(srcdir)/LINGUAS)
-LANGPO := $(foreach LANG, $(LANGS),$(LANG).po)
-LANGMO := $(foreach LANG, $(LANGS),$(LANG).mo)
+EXTRA_DIST = $(LANGPO)
 
-default: enigma2.pot $(LANGMO)
-       for lang in $(LANGS); do \
-               mkdir -p $$lang/LC_MESSAGES; \
-               cp $$lang.mo $$lang/LC_MESSAGES/enigma2.mo; \
-       done
-       
-rebuild: clean cleanall enigma2.pot $(LANGPO) merge default
+if UPDATE_PO
+# the TRANSLATORS: allows putting translation comments before the to-be-translated line.
+enigma2-py.pot: $(top_srcdir)/*.py $(top_srcdir)/lib/python/*/*.py $(top_srcdir)/lib/python/Plugins/*/*/*.py
+       $(XGETTEXT) -L Python --from-code=UTF-8 --add-comments="TRANSLATORS:" -d @PACKAGE_NAME@ -s -o $@ $^
 
-merge:
-       for lang in $(LANGS); do \
-               msgmerge --no-location -s -N -U $$lang.po enigma2.pot; \
-       done
+enigma2-xml.pot: $(srcdir)/xml2po.py $(top_srcdir)/data/*.xml $(top_srcdir)/lib/python/Plugins/SystemPlugins/*/*.xml
+       $(PYTHON) $^ > $@
 
+enigma2.pot: enigma2-py.pot enigma2-xml.pot
+       cat $^ | $(MSGUNIQ) --no-location -o $@ -
 
-# the TRANSLATORS: allows putting translation comments before the to-be-translated line.
-enigma2.pot:
-       $(GETTEXT) -L python --add-comments="TRANSLATORS:" -d enigma2 -s -o enigma2.pot ../lib/python/Screens/*.py ../lib/python/Components/*.py \
-                       ../lib/python/Tools/*.py \
-                       ../*.py \
-                       ../lib/python/Plugins/*/*/*.py
-
-       ./xml2po.py     ../data/ >> enigma2.pot
-       ./xml2po.py     ../lib/python/Plugins/SystemPlugins/Videomode/ >> enigma2.pot
-       ./xml2po.py     ../lib/python/Plugins/SystemPlugins/SoftwareManager/ >> enigma2.pot
-       ./xml2po.py     ../lib/python/Plugins/SystemPlugins/CleanupWizard/ >> enigma2.pot
-       ./xml2po.py     ../lib/python/Plugins/SystemPlugins/NetworkWizard/ >> enigma2.pot
-       msguniq --no-location -o enigma2uniq.pot enigma2.pot
-       $(RM) enigma2.pot
-       mv enigma2uniq.pot enigma2.pot
-
-%.mo: %.po
-       $(MSGFMT) -o $@ $<
+%.po: enigma2.pot
+       if [ -f $@ ]; then \
+               $(MSGMERGE) --backup=none --no-location -s -N -U $@ $< && touch $@; \
+       else \
+               $(MSGINIT) -l $@ -o $@ -i $< --no-translator; \
+       fi
+endif
 
-%.po:
-       msginit -l $@ -o $@ -i enigma2.pot --no-translator
+.po.mo:
+       $(MSGFMT) -o $@ $<
 
-CLEANFILES = $(foreach LANG, $(LANGS),$(LANG).mo)
+BUILT_SOURCES = $(LANGMO)
+CLEANFILES = $(LANGMO) enigma2-py.pot enigma2-xml.pot enigma2.pot
 
-cleanall:
-       $(RM) enigma2.pot
+dist-hook: $(LANGPO)
 
-clean-local:
-       $(RM) -r $(LANGS)
+install-data-local: $(LANGMO)
+       for lang in $(LANGS); do \
+               $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES; \
+               $(INSTALL_DATA) $$lang.mo $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES/@PACKAGE_NAME@.mo; \
+       done
 
-install-data-am: default
+uninstall-local:
        for lang in $(LANGS); do \
-               mkdir -p $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES; \
-               cp $$lang.mo $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES/$(DOMAIN).mo; \
+               $(RM) $(DESTDIR)$(pkgdatadir)/po/$$lang/LC_MESSAGES/@PACKAGE_NAME@.mo; \
        done
diff --git a/po/enigma2.pot b/po/enigma2.pot
deleted file mode 100755 (executable)
index 2e9f148..0000000
+++ /dev/null
@@ -1,13646 +0,0 @@
-# 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.
-#
-#: ../enigma2_experimental/lib/python/Screens/About.py:63
-#: ../enigma2_master/lib/python/Screens/About.py:63
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\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=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:148
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:148
-msgid ""
-"\n"
-"Advanced options and settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:233
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:560
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1171
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1688
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:233
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:560
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1171
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1687
-msgid ""
-"\n"
-"After pressing OK, please wait!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:131
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:131
-msgid ""
-"\n"
-"Backup your Dreambox settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:155
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:155
-msgid ""
-"\n"
-"Edit the upgrade source address."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:128
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:128
-msgid ""
-"\n"
-"Manage extensions or plugins for your Dreambox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:129
-msgid ""
-"\n"
-"Online update of your Dreambox software."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:121
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:121
-msgid ""
-"\n"
-"Press OK on your remote control to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:132
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:132
-msgid ""
-"\n"
-"Restore your Dreambox settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:130
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:130
-msgid ""
-"\n"
-"Restore your Dreambox with a new firmware."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:150
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:150
-msgid ""
-"\n"
-"Restore your backups by date."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:133
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:133
-msgid ""
-"\n"
-"Scan for local extensions and install them."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:151
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:151
-msgid ""
-"\n"
-"Select your backup device.\n"
-"Current device: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:256
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:256
-msgid ""
-"\n"
-"System will restart after the restore!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:154
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:154
-msgid ""
-"\n"
-"View, install and remove available or installed packages."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:65
-msgid " "
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:314
-msgid " Results"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:876
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:876
-msgid " extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:225
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:225
-msgid " ms"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:676
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:688
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:676
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:688
-msgid " packages selected."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:204
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:209
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:630
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:674
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:685
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:204
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:209
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:630
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:674
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:685
-msgid " updates available."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:359
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:359
-msgid " wireless networks found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1280
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1281
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1430
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1432
-#: ../enigma2_master/lib/python/Components/NimManager.py:1280
-#: ../enigma2_master/lib/python/Components/NimManager.py:1281
-#: ../enigma2_master/lib/python/Components/NimManager.py:1430
-#: ../enigma2_master/lib/python/Components/NimManager.py:1432
-msgid "%H:%M"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:125
-#: ../enigma2_master/lib/python/Screens/Standby.py:125
-#, python-format
-msgid "%d jobs are running in the background!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:150
-#: ../enigma2_master/lib/python/Screens/EventView.py:150
-#, python-format
-msgid "%d min"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:33
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:96
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:98
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:33
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:96
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:98
-#, python-format
-msgid "%d services found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimeDateInput.py:40
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:111
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:122
-#: ../enigma2_master/lib/python/Screens/TimeDateInput.py:40
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:111
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:122
-msgid "%d.%B %Y"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:58
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:140
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:227
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:231
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:232
-#, python-format
-msgid "%i ms"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/About.py:38
-#: ../enigma2_master/lib/python/Screens/About.py:38
-#, python-format
-msgid ""
-"%s\n"
-"(%s, %d MB free)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:54
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:54
-#, python-format
-msgid "%s (%s)\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:37
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:39
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:45
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:47
-#: ../enigma2_master/lib/python/Components/TimerList.py:37
-#: ../enigma2_master/lib/python/Components/TimerList.py:39
-#: ../enigma2_master/lib/python/Components/TimerList.py:45
-#: ../enigma2_master/lib/python/Components/TimerList.py:47
-msgid "(ZAP)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:585
-#: ../enigma2_master/lib/python/Components/NimManager.py:585
-msgid "(empty)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:347
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:347
-msgid "(show optional DVD audio menu)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:65
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:65
-msgid "* Only available if more than one interface is active."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:357
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:357
-msgid "1 wireless network found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1175
-#: ../enigma2_master/lib/python/Components/NimManager.py:1175
-msgid "1.0"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1175
-#: ../enigma2_master/lib/python/Components/NimManager.py:1175
-msgid "1.1"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1174
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1175
-#: ../enigma2_master/lib/python/Components/NimManager.py:1174
-#: ../enigma2_master/lib/python/Components/NimManager.py:1175
-msgid "1.2"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1171
-#: ../enigma2_master/lib/python/Components/NimManager.py:1171
-msgid "13 V"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:91
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:91
-msgid "16:10"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:83
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:83
-msgid "16:10 Letterbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:84
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:84
-msgid "16:10 PanScan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:81
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:90
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:15
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:81
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:90
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:15
-msgid "16:9"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:85
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:85
-msgid "16:9 Letterbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:82
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:82
-msgid "16:9 always"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1171
-#: ../enigma2_master/lib/python/Components/NimManager.py:1171
-msgid "18 V"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:30
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:30
-msgid "30 minutes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:89
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:15
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:89
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:15
-msgid "4:3"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:79
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:79
-msgid "4:3 Letterbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:80
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:80
-msgid "4:3 PanScan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:30
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:30
-msgid "5 minutes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:30
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:30
-msgid "60 minutes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:54
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:54
-msgid "<Current movielist location>"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:54
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:54
-msgid "<Default movie location>"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:54
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:54
-msgid "<Last timer location>"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:90
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:105
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:137
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:64
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:90
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:105
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:137
-#: ../enigma2_master/lib/python/Components/TimerList.py:64
-msgid "<unknown>"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Menu.py:155
-#: ../enigma2_experimental/lib/python/Screens/Menu.py:158
-#: ../enigma2_master/lib/python/Screens/Menu.py:155
-#: ../enigma2_master/lib/python/Screens/Menu.py:158
-msgid "??"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1173
-#: ../enigma2_master/lib/python/Components/NimManager.py:1173
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "A"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:115
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1406
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:115
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1406
-#, python-format
-msgid ""
-"A configuration file (%s) was modified since Installation.\n"
-"Do you want to keep your version?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/DemoPlugins/TPMDemo/plugin.py:85
-#: ../enigma2_experimental/lib/python/Plugins/DemoPlugins/TPMDemo/plugin.py:86
-#: ../enigma2_master/lib/python/Plugins/DemoPlugins/TPMDemo/plugin.py:85
-#: ../enigma2_master/lib/python/Plugins/DemoPlugins/TPMDemo/plugin.py:86
-msgid "A demo plugin for TPM usage."
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:300
-#: ../enigma2_master/RecordTimer.py:300
-msgid ""
-"A finished record timer wants to set your\n"
-"Dreambox to standby. Do that now?"
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:306
-#: ../enigma2_master/RecordTimer.py:306
-msgid ""
-"A finished record timer wants to shut down\n"
-"your Dreambox. Shutdown now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/plugin.py:96
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/plugin.py:96
-msgid "A graphical EPG for all services of an specific bouquet"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:267
-msgid ""
-"A mount entry with this name already exists!\n"
-"Update existing entry and continue?\n"
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:381
-#: ../enigma2_master/RecordTimer.py:381
-#, python-format
-msgid ""
-"A record has been started:\n"
-"%s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1648
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1648
-msgid ""
-"A recording is currently running.\n"
-"What do you want to do?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:589
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:589
-msgid ""
-"A recording is currently running. Please stop the recording before trying to "
-"configure the positioner."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:264
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:264
-msgid ""
-"A recording is currently running. Please stop the recording before trying to "
-"start the satfinder."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:389
-#: ../enigma2_master/lib/python/Components/Task.py:389
-#, python-format
-msgid "A required tool (%s) was not found."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:212
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:212
-msgid "A search for available updates is currently in progress."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:582
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:582
-msgid ""
-"A second configured interface has been found.\n"
-"\n"
-"Do you want to disable the second network interface?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:128
-#: ../enigma2_experimental/SleepTimer.py:34
-#: ../enigma2_master/lib/python/Screens/TaskView.py:128
-#: ../enigma2_master/SleepTimer.py:34
-msgid ""
-"A sleep timer wants to set your\n"
-"Dreambox to standby. Do that now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:125
-#: ../enigma2_experimental/SleepTimer.py:29
-#: ../enigma2_master/lib/python/Screens/TaskView.py:125
-#: ../enigma2_master/SleepTimer.py:29
-msgid ""
-"A sleep timer wants to shut down\n"
-"your Dreambox. Shutdown now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1076
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1076
-msgid "A small overview of the available icon states and actions."
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:250
-#: ../enigma2_master/RecordTimer.py:250
-msgid ""
-"A timer failed to record!\n"
-"Disable TV and try again?\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:18
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:221
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:18
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:221
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "A/V Settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1149
-#: ../enigma2_master/lib/python/Components/NimManager.py:1149
-msgid "AA"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1149
-#: ../enigma2_master/lib/python/Components/NimManager.py:1149
-msgid "AB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:98
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:98
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "AC3 default"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:75
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:100
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:75
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:100
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "AC3 downmix"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:270
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:270
-msgid "Abort"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:81
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:81
-msgid "About..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:258
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:76
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:258
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:76
-msgid "Accesspoint:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:76
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:78
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:76
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:78
-msgid "Action:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:137
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1432
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:137
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1432
-msgid "Activate Picture in Picture"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:176
-msgid "Active"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:61
-msgid ""
-"Active/\n"
-"Inactive"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:885
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:885
-msgid "Adapter settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:240
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:44
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:187
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:240
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:44
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:187
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:76
-msgid "Add"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:199
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:199
-msgid "Add Bookmark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:126
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:126
-msgid "Add WLAN configuration?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:178
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:178
-msgid "Add a mark"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:73
-msgid "Add a new NFS or CIFS mount point to your Dreambox."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:62
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:193
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:62
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:193
-msgid "Add a new title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:125
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:125
-msgid "Add network configuration?"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:103
-msgid "Add new AutoTimer"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:73
-msgid "Add new network mount point"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:75
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:222
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:257
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:373
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:40
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:71
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:107
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:167
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:576
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:611
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:662
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:75
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:222
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:257
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:373
-#: ../enigma2_master/lib/python/Screens/EventView.py:40
-#: ../enigma2_master/lib/python/Screens/EventView.py:71
-#: ../enigma2_master/lib/python/Screens/EventView.py:107
-#: ../enigma2_master/lib/python/Screens/EventView.py:167
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:576
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:611
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:662
-msgid "Add timer"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:44
-msgid "Add timer as disabled on conflict"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:62
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:80
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:62
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:80
-msgid "Add title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1760
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1760
-msgid "Add to bouquet"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1762
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1762
-msgid "Add to favourites"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:464
-msgid "Add zap timer instead of record timer?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1103
-#: ../enigma2_plugins/mytube/src/plugin.py:1341
-msgid "Added: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:179
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:179
-msgid ""
-"Adds enigma2 settings and dreambox model informations like SN, rev... if "
-"enabled."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:182
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:182
-msgid "Adds network configuration if enabled."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:185
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:185
-msgid "Adds wlan configuration if enabled."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:205
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:205
-msgid ""
-"Adjust the color settings so that all the color shades are distinguishable, "
-"but appear as saturated as possible. If you are happy with the result, press "
-"OK to close the video fine-tuning, or use the number keys to select other "
-"test screens."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:88
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:148
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:88
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:148
-msgid "Advanced Options"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:163
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:163
-msgid "Advanced Software"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:167
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:167
-msgid "Advanced Software Plugin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:397
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:397
-msgid "Advanced Video Enhancement Setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:230
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:230
-msgid "Advanced Video Setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:150
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:150
-msgid "Advanced restore"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:59
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:195
-#: ../enigma2_master/lib/python/Screens/TaskView.py:59
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:195
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:528
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:173
-msgid "After event"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:129
-msgid "Album"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:708
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:850
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:207
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:526
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:708
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:850
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:207
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:526
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:180
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:200
-#: ../enigma2_plugins/mytube/src/plugin.py:71
-#: ../enigma2_plugins/mytube/src/plugin.py:91
-msgid "All"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1168
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1169
-#: ../enigma2_master/lib/python/Components/NimManager.py:1168
-#: ../enigma2_master/lib/python/Components/NimManager.py:1169
-msgid "All Satellites"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:168
-#: ../enigma2_plugins/mytube/src/plugin.py:59
-msgid "All Time"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:22
-msgid "All non-repeating timers"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:62
-msgid "Allow zapping via Webinterface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:53
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:53
-msgid "Always ask"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-msgid "Always ask before sending"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:546
-msgid "Ammount of recordings left"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:389
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:389
-msgid "An empty filename is illegal."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:480
-msgid "An error occured."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:347
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:180
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:300
-#: ../enigma2_master/lib/python/Components/Task.py:347
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:180
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:300
-msgid "An unknown error occured!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:124
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:124
-msgid "Anonymize crashlog?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:18
-#: ../enigma2_master/lib/python/Components/Language.py:18
-msgid "Arabic"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:568
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:568
-msgid ""
-"Are you sure you want to activate this network configuration?\n"
-"\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:271
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:271
-msgid ""
-"Are you sure you want to delete\n"
-"following backup:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Wizard.py:300
-#: ../enigma2_master/lib/python/Screens/Wizard.py:300
-msgid "Are you sure you want to exit this wizard?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:815
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:815
-msgid ""
-"Are you sure you want to restart your network interfaces?\n"
-"\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:256
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:256
-msgid ""
-"Are you sure you want to restore\n"
-"following backup:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:242
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:242
-msgid ""
-"Are you sure you want to restore your Enigma2 backup?\n"
-"Enigma2 will restart after the restore"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:269
-msgid ""
-"Are you sure you want to save this network mount?\n"
-"\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:125
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:125
-msgid "Artist"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:228
-#: ../enigma2_plugins/mytube/src/plugin.py:119
-msgid "Ascending"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:90
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:92
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:90
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:92
-msgid "Ask before shutdown:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:41
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:41
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:249
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:252
-#: ../enigma2_plugins/mytube/src/plugin.py:139
-#: ../enigma2_plugins/mytube/src/plugin.py:142
-msgid "Ask user"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:90
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:78
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:90
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:78
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Aspect Ratio"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:348
-#: ../enigma2_master/lib/python/Components/Network.py:348
-msgid "Atheros"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1672
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1672
-msgid "Audio Options..."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/plugin.py:36
-msgid "Audio Sync"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/plugin.py:35
-msgid "Audio Sync Setup"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:201
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:208
-#: ../enigma2_plugins/mytube/src/plugin.py:92
-#: ../enigma2_plugins/mytube/src/plugin.py:99
-msgid "Australia"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1211
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1211
-#: ../enigma2_plugins/mytube/src/plugin.py:1338
-msgid "Author: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:151
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:151
-msgid "Authoring mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:25
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:572
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:580
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:607
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:614
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:622
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:637
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:650
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:657
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:662
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:666
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:672
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:678
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1146
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:10
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:15
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:26
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:44
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:50
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:57
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:62
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:72
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:77
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:84
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:91
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:96
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:100
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:106
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:112
-#: ../enigma2_master/lib/python/Screens/Ci.py:25
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:572
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:580
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:607
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:614
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:622
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:637
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:650
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:657
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:662
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:666
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:672
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:678
-#: ../enigma2_master/lib/python/Components/NimManager.py:1146
-#: ../enigma2_master/lib/python/Tools/Transponder.py:10
-#: ../enigma2_master/lib/python/Tools/Transponder.py:15
-#: ../enigma2_master/lib/python/Tools/Transponder.py:26
-#: ../enigma2_master/lib/python/Tools/Transponder.py:44
-#: ../enigma2_master/lib/python/Tools/Transponder.py:50
-#: ../enigma2_master/lib/python/Tools/Transponder.py:57
-#: ../enigma2_master/lib/python/Tools/Transponder.py:62
-#: ../enigma2_master/lib/python/Tools/Transponder.py:72
-#: ../enigma2_master/lib/python/Tools/Transponder.py:77
-#: ../enigma2_master/lib/python/Tools/Transponder.py:84
-#: ../enigma2_master/lib/python/Tools/Transponder.py:91
-#: ../enigma2_master/lib/python/Tools/Transponder.py:96
-#: ../enigma2_master/lib/python/Tools/Transponder.py:100
-#: ../enigma2_master/lib/python/Tools/Transponder.py:106
-#: ../enigma2_master/lib/python/Tools/Transponder.py:112
-msgid "Auto"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:96
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:96
-msgid "Auto chapter split every ? minutes (0=never)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:97
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:97
-msgid "Auto flesh"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:95
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:95
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Auto scart switching"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:373
-msgid "AutoTimer Editor"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:790
-msgid "AutoTimer Filters"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:994
-msgid "AutoTimer Services"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:33
-msgid "AutoTimer Settings"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:110
-msgid "AutoTimer overview"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:92
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:92
-msgid "Automatic"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:933
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:933
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Automatic Scan"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:182
-#: ../enigma2_plugins/mytube/src/plugin.py:73
-msgid "Autos & Vehicles"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:63
-msgid "Autowrite timer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-msgid "Available format variables"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1173
-#: ../enigma2_master/lib/python/Components/NimManager.py:1173
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "B"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1149
-#: ../enigma2_master/lib/python/Components/NimManager.py:1149
-msgid "BA"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1149
-#: ../enigma2_master/lib/python/Components/NimManager.py:1149
-msgid "BB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1270
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1275
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1280
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1285
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1290
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:507
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:658
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1270
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1275
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1280
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1285
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1290
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:507
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:658
-msgid "Back"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:32
-#: ../enigma2_master/lib/python/Screens/TaskView.py:32
-msgid "Background"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:305
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:305
-msgid "Backup done."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:307
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:307
-msgid "Backup failed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:66
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:81
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:83
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:66
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:81
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:83
-msgid "Backup is running..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:131
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:131
-msgid "Backup system settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1172
-#: ../enigma2_master/lib/python/Components/NimManager.py:1172
-msgid "Band"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:411
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:140
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:411
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:140
-msgid "Bandwidth"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:537
-msgid "Begin of \"after event\" timespan"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:509
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:78
-msgid "Begin of timespan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:50
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:344
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:50
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:344
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-msgid "Begin time"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:262
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:80
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:262
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:80
-msgid "Bitrate:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:101
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:101
-msgid "Block noise reduction"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:99
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:99
-msgid "Blue boost"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:71
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:71
-msgid "Bookmarks"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1005
-msgid "Bouquets"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:202
-#: ../enigma2_plugins/mytube/src/plugin.py:93
-msgid "Brazil"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:92
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:85
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:92
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:85
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Brightness"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:157
-msgid "Browse network neighbourhood"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:35
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:894
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:935
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:956
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:66
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:122
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:35
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:894
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:935
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:956
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:66
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:122
-msgid "Burn DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:125
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:125
-msgid "Burn existing image to DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/plugin.py:15
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/plugin.py:15
-msgid "Burn to DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:49
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:49
-msgid "Bus: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1078
-#: ../enigma2_master/lib/python/Components/NimManager.py:1078
-msgid "C-Band"
-msgstr ""
-
-#: ../enigma2_plugins/cdinfo/src/plugin.py:73
-msgid "CDInfo"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:71
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:166
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:71
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:166
-msgid "CI assignment"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:98
-msgid "CIFS share"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:71
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:71
-msgid "CVBS"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:965
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:69
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:48
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:476
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:965
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:69
-#: ../enigma2_master/lib/python/Tools/Transponder.py:48
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:476
-msgid "Cable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:179
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:179
-msgid "Cache Thumbnails"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:108
-msgid "Can't connect to server. Please check your network!"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:203
-#: ../enigma2_plugins/mytube/src/plugin.py:94
-msgid "Canada"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:171
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:94
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:128
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:239
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:375
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:57
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:334
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:24
-#: ../enigma2_experimental/lib/python/Screens/Setup.py:84
-#: ../enigma2_experimental/lib/python/Screens/TimeDateInput.py:14
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:31
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:60
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:108
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:41
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:52
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:27
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:69
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:164
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:367
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:582
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:293
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:115
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:205
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:351
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:977
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1552
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:102
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:47
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:302
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:36
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:171
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:94
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:128
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:239
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:375
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:57
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:334
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:24
-#: ../enigma2_master/lib/python/Screens/Setup.py:84
-#: ../enigma2_master/lib/python/Screens/TimeDateInput.py:14
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:31
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:60
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:108
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:41
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:52
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:27
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:69
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:164
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:367
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:582
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:293
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:115
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:205
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:351
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:977
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1552
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:102
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:47
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:302
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:36
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:66
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:63
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:393
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:811
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1014
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:44
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:118
-#: ../enigma2_plugins/autotimer/src/AutoTimerPreview.py:59
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:54
-#: ../enigma2_plugins/cdinfo/src/plugin.py:56
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:81
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:65
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:498
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:34
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Cancel"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:48
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:48
-msgid "Capacity: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:437
-#: ../enigma2_master/lib/python/Components/Harddisk.py:437
-msgid "Card"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:19
-#: ../enigma2_master/lib/python/Components/Language.py:19
-msgid "Catalan"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:32
-msgid "Center screen at the lower border"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:26
-msgid "Center screen at the upper border"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:76
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:77
-msgid "Change active delay"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:469
-msgid "Change default recording offset?"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:76
-msgid "Change hostname"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:198
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:311
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:198
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:311
-msgid "Change pin code"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:90
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:90
-msgid "Change service PIN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:87
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:87
-msgid "Change service PINs"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:81
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:81
-msgid "Change setup PIN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:315
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:315
-msgid "Change step size"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:76
-msgid "Change the hostname of your Dreambox."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:756
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:756
-msgid "Changelog"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:83
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:261
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:273
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:284
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:185
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:21
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:83
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:261
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:273
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:284
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:185
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:21
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Channel"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:85
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Channel Selection"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:61
-msgid "Channel audio:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:333
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:333
-msgid "Channel not in services list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:187
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:187
-msgid "Channel:"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1004
-msgid "Channels"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:429
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:429
-msgid "Chap."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:430
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:430
-msgid "Chapter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:165
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:165
-msgid "Chapter:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:55
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:55
-msgid "Check"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:29
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:29
-msgid "Checking Filesystem..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:224
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:224
-msgid "Choose a wireless network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:152
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:152
-msgid "Choose backup files"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:151
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:151
-msgid "Choose backup location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:735
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:735
-msgid "Choose image to download"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:231
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:231
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:331
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:459
-msgid "Choose target folder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:155
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:155
-msgid "Choose upgrade source"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:33
-#: ../enigma2_master/lib/python/Tools/Transponder.py:33
-msgid "Circular left"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:34
-#: ../enigma2_master/lib/python/Tools/Transponder.py:34
-msgid "Circular right"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:27
-msgid "Classic"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:167
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:167
-msgid "Cleanup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:43
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:133
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:43
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:133
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Cleanup Wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:63
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:125
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:63
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:125
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:129
-msgid "Cleanup Wizard settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:129
-msgid "CleanupWizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:419
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:924
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:419
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:924
-msgid "Clear before scan"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:438
-msgid "Clear history on Exit:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:414
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:414
-msgid "Clear log"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:49
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:39
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:696
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1098
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1356
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:51
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:186
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:60
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:235
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:57
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:33
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:417
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:525
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:78
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:399
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:495
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:30
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:171
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:471
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:553
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:680
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1075
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1154
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1465
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1676
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1972
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:95
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:205
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:49
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:39
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:696
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1098
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1356
-#: ../enigma2_master/lib/python/Screens/TaskView.py:51
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:186
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:60
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:235
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:57
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:33
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:417
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:525
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:78
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:399
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:495
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:30
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:171
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:471
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:553
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:680
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1075
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1154
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1465
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1676
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1944
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:95
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:205
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:398
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:562
-#: ../enigma2_plugins/mytube/src/plugin.py:281
-#: ../enigma2_plugins/mytube/src/plugin.py:1280
-#: ../enigma2_plugins/mytube/src/plugin.py:1466
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:54
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:63
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:107
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:91
-#: ../enigma2_plugins/networkbrowser/src/UserManager.py:50
-msgid "Close"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:89
-msgid "Close and forget changes"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:101
-msgid "Close and save changes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:191
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:191
-msgid "Close title selection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:412
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:412
-msgid "Code rate high"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:413
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:413
-msgid "Code rate low"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:147
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:147
-msgid "Coderate HP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:146
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:146
-msgid "Coderate LP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:150
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:150
-msgid "Collection name"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:139
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:65
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:139
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:65
-msgid "Collection settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:91
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:91
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Color Format"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:189
-#: ../enigma2_plugins/mytube/src/plugin.py:80
-msgid "Comedy"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:315
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:327
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:315
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:327
-msgid "Command order"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:311
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:311
-msgid "Committed DiSEqC command"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:634
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:634
-msgid "Common Interface Assignment"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:860
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:860
-msgid "CommonInterface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:874
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:874
-msgid "Communication"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:438
-#: ../enigma2_master/lib/python/Components/Harddisk.py:438
-msgid "Compact Flash"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:535
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:536
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:535
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:536
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-msgid "Complete"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:34
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:34
-msgid "Complex (allows mixing audio tracks and aspects)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:106
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:160
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:194
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:258
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:361
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:106
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:160
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:194
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:258
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:361
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Configuration Mode"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/plugin.py:540
-msgid "Configuration for the Webinterface"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:71
-msgid "Configure AutoTimer behavior"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:406
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:406
-msgid "Configure your internal LAN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:405
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:405
-msgid "Configure your wireless LAN again"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:106
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1397
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:106
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1397
-msgid "Configuring"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:329
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:329
-msgid "Conflicting timer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:274
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:206
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:274
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:206
-msgid "Connect"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:466
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:466
-msgid "Connect to a Wireless Network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:142
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:299
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:142
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:299
-msgid "Connected to"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:163
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:163
-msgid "Connected!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:148
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:148
-msgid "Constellation"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:294
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:294
-msgid "Content does not fit on DVD!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:612
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:612
-msgid "Continue"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:525
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:525
-msgid "Continue playing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:89
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:145
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:89
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:145
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Contrast"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:646
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:646
-msgid "Could not connect to Dreambox .NFI Image Feed Server:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:293
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:293
-msgid "Could not load Medium! No disc inserted?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:222
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:222
-msgid "Could not open Picture in Picture"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1555
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1555
-#, python-format
-msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:420
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:420
-msgid "Crashlog settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:425
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:425
-msgid "CrashlogAutoSubmit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:425
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:425
-msgid "CrashlogAutoSubmit settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:91
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:91
-msgid "CrashlogAutoSubmit settings..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:339
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:339
-msgid ""
-"Crashlogs found!\n"
-"Send them to Dream Multimedia?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:35
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:900
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:941
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:124
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:35
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:900
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:941
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:124
-msgid "Create DVD-ISO"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:220
-msgid "Create a new timer using the classic editor"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:222
-msgid "Create a new timer using the wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Create movie folder failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:250
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:250
-#, python-format
-msgid "Creating directory %s failed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Creating partition failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:20
-#: ../enigma2_master/lib/python/Components/Language.py:20
-msgid "Croatian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:986
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:986
-msgid "Current Transponder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:223
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:223
-msgid "Current device: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:362
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:362
-msgid "Current settings:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:225
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:113
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:330
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:225
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:113
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:330
-msgid "Current value: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:35
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:35
-msgid "Current version:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:738
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:738
-msgid "Currently installed image"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:287
-#, python-format
-msgid "Custom (%s)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:554
-msgid "Custom location"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:513
-msgid "Custom offset"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:84
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:84
-msgid "Cut"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:409
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:409
-msgid "Cutlist editor..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:21
-#: ../enigma2_master/lib/python/Components/Language.py:21
-msgid "Czech"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:204
-#: ../enigma2_plugins/mytube/src/plugin.py:95
-msgid "Czech Republic"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1335
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1335
-msgid "DHCP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-msgid "DUAL LAYER DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:566
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:566
-msgid "DVB-S"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:567
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:567
-msgid "DVB-S2"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:65
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:57
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:65
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:57
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "DVD File Browser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:715
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:715
-msgid "DVD Player"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:102
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:102
-msgid "DVD Titlelist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:58
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:163
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:119
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:58
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:163
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:119
-msgid "DVD media toolbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:22
-#: ../enigma2_master/lib/python/Components/Language.py:22
-msgid "Danish"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimeDateInput.py:46
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:171
-#: ../enigma2_master/lib/python/Screens/TimeDateInput.py:46
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:171
-msgid "Date"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:93
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:93
-msgid "Decide if you want to enable or disable the Cleanup Wizard."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:162
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:162
-msgid "Decide what should be done when crashlogs are found."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:165
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:165
-msgid "Decide what should happen to the crashlogs after submission."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:79
-msgid "Decrease delay"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:83
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:85
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:87
-#, python-format
-msgid "Decrease delay by %i ms (can be set)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:82
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:82
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Deep Standby"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:118
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:50
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:118
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:50
-msgid "Default"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:862
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:862
-msgid "Default Settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:91
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:109
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:91
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:109
-msgid "Default movie location"
-msgstr ""
-
-#: ../enigma2_plugins/cdinfo/src/plugin.py:58
-msgid "Defaults"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:241
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:133
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:120
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:207
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:241
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:133
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:120
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:207
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:75
-#: ../enigma2_plugins/networkbrowser/src/UserManager.py:52
-msgid "Delete"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:23
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:23
-msgid "Delete crashlogs"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:411
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:502
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:411
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:502
-msgid "Delete entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:145
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:663
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:722
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:145
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:663
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:722
-msgid "Delete failed!"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:64
-msgid "Delete mount"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:401
-#, python-format
-msgid ""
-"Delete no more configured satellite\n"
-"%s?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:229
-#: ../enigma2_plugins/mytube/src/plugin.py:120
-msgid "Descending"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:142
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:20
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:81
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:142
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:20
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:81
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:493
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:86
-msgid "Description"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:153
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:153
-msgid "Deselect"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1178
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1178
-msgid "Details for plugin: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/About.py:34
-#: ../enigma2_master/lib/python/Screens/About.py:34
-msgid "Detected HDD:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/About.py:17
-#: ../enigma2_master/lib/python/Screens/About.py:17
-msgid "Detected NIMs:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1156
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_master/lib/python/Components/NimManager.py:1156
-msgid "DiSEqC A/B"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1156
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_master/lib/python/Components/NimManager.py:1156
-msgid "DiSEqC A/B/C/D"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:307
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:307
-msgid "DiSEqC mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:330
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:330
-msgid "DiSEqC repeats"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:568
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:568
-msgid "DiSEqC-Tester settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:189
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:189
-msgid "Dialing:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:103
-msgid "Digital contour removal"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:85
-msgid "Dir:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-msgid "Direct playback of linked titles without menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:388
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:388
-#, python-format
-msgid "Directory %s nonexistent."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:43
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:43
-msgid "Directory browser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:146
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:416
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:436
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:146
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:416
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:436
-msgid "Disable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1430
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1430
-msgid "Disable Picture in Picture"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-msgid "Disable crashlog reporting"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:78
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:78
-msgid "Disable timer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:32
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:105
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:471
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:32
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:105
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:471
-msgid "Disabled"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:75
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:80
-msgid "Discard changes and close plugin"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:18
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:23
-msgid "Discard changes and close screen"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:268
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:268
-msgid "Disconnect"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:86
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:86
-msgid "Display 16:9 content as"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:82
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:82
-msgid "Display 4:3 content as"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:83
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:83
-msgid "Display >16:9 content as"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:870
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:870
-msgid "Display and Userinterface"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:419
-msgid "Display search results by:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:153
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:153
-#, python-format
-msgid ""
-"Do you really want to REMOVE\n"
-"the plugin \"%s\"?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:84
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:84
-msgid ""
-"Do you really want to check the filesystem?\n"
-"This could take lots of time!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:236
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:86
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:204
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:128
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:205
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:590
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:655
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:708
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:236
-#: ../enigma2_master/lib/python/Screens/EventView.py:86
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:204
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:128
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:205
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:590
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:655
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:708
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:183
-#, python-format
-msgid "Do you really want to delete %s?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:151
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:151
-#, python-format
-msgid ""
-"Do you really want to download\n"
-"the plugin \"%s\"?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:376
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:376
-msgid "Do you really want to exit?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:82
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:82
-msgid ""
-"Do you really want to initialize the harddisk?\n"
-"All data on the disk will be lost!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:269
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:269
-#, python-format
-msgid "Do you really want to remove directory %s from the disk?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:224
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:224
-#, python-format
-msgid "Do you really want to remove your bookmark of %s?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:434
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:255
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:434
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:255
-msgid "Do you want to burn this collection to DVD medium?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:560
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:560
-#, python-format
-msgid "Do you want to download the image to %s ?"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:391
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:393
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:406
-msgid "Do you want to enter a username and password for this host?\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1280
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1789
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1280
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1787
-msgid "Do you want to install the package:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:608
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:608
-msgid "Do you want to play DVD in drive?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:418
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:418
-msgid "Do you want to preview this DVD before burning?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:921
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1287
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1302
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1440
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1796
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1818
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:921
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1287
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1302
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1440
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1794
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1816
-msgid "Do you want to reboot your Dreambox?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1273
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1781
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1273
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1779
-msgid "Do you want to remove the package:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:239
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:239
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Do you want to restore your settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1912
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1912
-msgid "Do you want to resume this playback?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:757
-msgid "Do you want to see more entries?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:168
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:168
-msgid ""
-"Do you want to submit your email address and name so that we can contact you "
-"if needed?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:233
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:233
-msgid "Do you want to update your Dreambox?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:37
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:136
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:37
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:136
-msgid ""
-"Do you want to update your Dreambox?\n"
-"After pressing OK, please wait!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1785
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1783
-msgid "Do you want to upgrade the package:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:21
-msgid "Don't ask, just send"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:102
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:102
-msgid "Don't stop current event but disable coming events"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1420
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1420
-#, python-format
-msgid "Done - Installed or upgraded %d packages"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:58
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:58
-#, python-format
-msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:499
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:508
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:499
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:508
-msgid "Download"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:523
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:724
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:731
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:523
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:724
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:731
-#, python-format
-msgid "Download %s from Server"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:31
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:812
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:20
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:24
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:31
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:812
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:20
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:24
-msgid "Download .NFI-Files for USB-Flasher"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:76
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:76
-msgid "Download Plugins"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:538
-msgid "Download Video"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:435
-msgid "Download location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:164
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:164
-msgid "Downloadable new plugins"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:83
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:73
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:101
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1374
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:83
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:73
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:101
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1374
-msgid "Downloading"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:122
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:122
-msgid "Downloading plugin information. Please wait..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1309
-msgid "Downloading screenshots. Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-msgid "Dreambox format data DVD (HDTV compatible)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1006
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1006
-msgid "Dreambox software because updates are available."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1103
-#: ../enigma2_plugins/mytube/src/plugin.py:1335
-msgid "Duration: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:23
-#: ../enigma2_master/lib/python/Components/Language.py:23
-msgid "Dutch"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:100
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:100
-msgid "Dynamic contrast"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:973
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:397
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:51
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:484
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:973
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:397
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:51
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:484
-msgid "E"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:498
-msgid "EPG encoding"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:101
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:101
-#, python-format
-msgid "ERROR - failed to scan (%s)!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1163
-#: ../enigma2_master/lib/python/Components/NimManager.py:1163
-msgid "East"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:424
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:34
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1466
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:424
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:34
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1466
-msgid "Edit"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:421
-msgid "Edit AutoTimer"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:832
-msgid "Edit AutoTimer filters"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1035
-msgid "Edit AutoTimer services"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:376
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:376
-msgid "Edit DNS"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:158
-#: ../enigma2_plugins/autotimer/src/plugin.py:163
-msgid "Edit Timers and scan for new Events"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:43
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:43
-msgid "Edit Title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:99
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:99
-msgid "Edit bouquets list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:128
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:128
-msgid "Edit chapters of current title"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:216
-msgid "Edit new timer defaults"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:88
-msgid "Edit selected AutoTimer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:96
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:96
-msgid "Edit services list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1353
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:510
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:66
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1353
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:510
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:66
-msgid "Edit settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:850
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:850
-msgid "Edit the Nameserver configuration of your Dreambox.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:846
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:846
-msgid "Edit the network configuration of your Dreambox.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:188
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:188
-msgid "Edit title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1591
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1591
-msgid "Edit upgrade source url."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1057
-msgid "Editing"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:45
-msgid "Editor for new AutoTimers"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:193
-#: ../enigma2_plugins/mytube/src/plugin.py:84
-msgid "Education"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:872
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:872
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Electronic Program Guide"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:138
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:408
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:428
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:138
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:408
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:428
-msgid "Enable"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:61
-msgid "Enable /media"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:199
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:199
-msgid "Enable 5V for active antenna"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:75
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:75
-msgid "Enable Cleanup Wizard?"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:876
-msgid "Enable Filtering"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:65
-msgid "Enable HTTP Access"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:71
-msgid "Enable HTTP Authentication"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:76
-msgid "Enable HTTPS Access"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:81
-msgid "Enable HTTPS Authentication"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1056
-msgid "Enable Service Restriction"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:87
-msgid "Enable Streaming Authentication"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:73
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:73
-msgid "Enable parental control"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:41
-msgid ""
-"Enable this to be able to access the AutoTimer Overview from within the "
-"extension menu."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:76
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:76
-msgid "Enable timer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:30
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:109
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:475
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:30
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:109
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:475
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:492
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:128
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:85
-msgid "Enabled"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:461
-msgid ""
-"Encoding the channel uses for it's EPG data. You only need to change this if "
-"you're searching for special characters like the german umlauts."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-msgid "Encrypted: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:522
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:522
-msgid "Encryption"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:530
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:533
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:530
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:533
-msgid "Encryption Key"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:529
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:529
-msgid "Encryption Keytype"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:526
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:526
-msgid "Encryption Type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:263
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:81
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:263
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:81
-msgid "Encryption:"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:538
-msgid "End of \"after event\" timespan"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:510
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:79
-msgid "End of timespan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:51
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:345
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:51
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:345
-msgid "End time"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:181
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:181
-msgid "EndTime"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:16
-#: ../enigma2_master/lib/python/Components/Language.py:16
-msgid "English"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:80
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:80
-msgid ""
-"Enigma2 Skinselector\n"
-"\n"
-"If you experience any problems please contact\n"
-"stephan@reichholf.net\n"
-"\n"
-"© 2006 - Stephan Reichholf"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:526
-msgid "Enter IP to scan..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:379
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:379
-msgid "Enter main menu..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:108
-msgid "Enter new hostname for your Dreambox"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:215
-msgid "Enter options:"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:219
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:141
-msgid "Enter password:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:19
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:19
-msgid "Enter pin code"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:213
-msgid "Enter share directory:"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:211
-msgid "Enter share name:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:198
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:198
-msgid "Enter the service pin"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:94
-msgid "Enter user and password for host: "
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:217
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:139
-msgid "Enter username:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:171
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:171
-msgid "Enter your email address so that we can contact you if needed."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:577
-msgid "Enter your search term(s)"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:192
-#: ../enigma2_plugins/mytube/src/plugin.py:83
-msgid "Entertainment"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:284
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:224
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:614
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1430
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1756
-#: ../enigma2_master/lib/python/Components/Task.py:284
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:224
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:614
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1430
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1754
-msgid "Error"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/TuxboxPlugins/pluginrunner.py:34
-#: ../enigma2_master/lib/python/Plugins/Extensions/TuxboxPlugins/pluginrunner.py:34
-msgid "Error executing plugin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:282
-#: ../enigma2_master/lib/python/Components/Task.py:282
-#, python-format
-msgid ""
-"Error: %s\n"
-"Retry?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:24
-#: ../enigma2_master/lib/python/Components/Language.py:24
-msgid "Estonian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Everything is fine"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:143
-msgid "Exact match"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:312
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:315
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:312
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:315
-msgid "Exceeds dual layer medium!"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:885
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:902
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:927
-msgid "Exclude"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:532
-msgid "Execute \"after event\" during timespan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Console.py:43
-#: ../enigma2_master/lib/python/Screens/Console.py:43
-msgid "Execution Progress:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Console.py:55
-#: ../enigma2_master/lib/python/Screens/Console.py:55
-msgid "Execution finished!!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:91
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:91
-msgid "Exif"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:32
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:130
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:525
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:32
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:130
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:525
-msgid "Exit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:180
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:180
-msgid "Exit editor"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:60
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:66
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:60
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:66
-msgid "Exit input device selection."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:159
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:407
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:159
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:407
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Exit network wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:65
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:71
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:65
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:71
-msgid "Exit the cleanup wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:50
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:50
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:110
-msgid "Expert"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:908
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:908
-msgid "Extended Networksetup Plugin..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:904
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:904
-msgid "Extended Setup..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:141
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:141
-msgid "Extended Software"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:145
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:145
-msgid "Extended Software Plugin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:574
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:574
-msgid "Extensions management"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:377
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:379
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:406
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:145
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:447
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:449
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:85
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:87
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:377
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:379
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:406
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:145
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:447
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:449
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:85
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:87
-msgid "FEC"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:42
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:458
-#: ../enigma2_master/lib/python/Components/Task.py:42
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:458
-msgid "Failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Sensors.py:70
-#: ../enigma2_master/lib/python/Components/Sensors.py:70
-#, python-format
-msgid "Fan %d"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:127
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:127
-#, python-format
-msgid "Fan %d PWM"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:126
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:126
-#, python-format
-msgid "Fan %d Voltage"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1165
-#: ../enigma2_master/lib/python/Components/NimManager.py:1165
-msgid "Fast"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:312
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:312
-msgid "Fast DiSEqC"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1165
-#: ../enigma2_master/lib/python/Components/NimManager.py:1165
-msgid "Fast epoch"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:711
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:528
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:711
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:528
-msgid "Favourites"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:417
-#: ../enigma2_plugins/mytube/src/plugin.py:476
-msgid "Fetching feed entries"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:478
-msgid "Fetching search entries"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Filesystem contains uncorrectable errors"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:181
-#: ../enigma2_plugins/mytube/src/plugin.py:72
-msgid "Film & Animation"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:877
-msgid "Filter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:42
-#: ../enigma2_master/lib/python/Components/Task.py:42
-msgid "Finished"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:218
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:218
-msgid "Finished configuring your network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:975
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:975
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:132
-msgid "Finished restarting your network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:25
-#: ../enigma2_master/lib/python/Components/Language.py:25
-msgid "Finnish"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:167
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:167
-msgid "Flash"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:211
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:211
-msgid "Flashing failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:979
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:979
-msgid "Following tasks will be done after you press OK!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:135
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:135
-msgid "Format"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerResource.py:18
-#: ../enigma2_plugins/autotimer/src/plugin.py:116
-#, python-format
-msgid ""
-"Found a total of %d matching Events.\n"
-"%d Timer were added and %d modified."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:181
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:181
-msgid "Frame size in full view"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:205
-#: ../enigma2_plugins/mytube/src/plugin.py:96
-msgid "France"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:26
-#: ../enigma2_master/lib/python/Components/Language.py:26
-msgid "French"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:263
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:277
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:288
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:372
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:402
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:409
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:138
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:442
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:80
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:263
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:277
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:288
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:372
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:402
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:409
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:138
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:442
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:80
-msgid "Frequency"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1458
-#: ../enigma2_master/lib/python/Components/NimManager.py:1458
-msgid "Frequency bands"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:182
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:182
-msgid "Frequency scan step size(khz)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1458
-#: ../enigma2_master/lib/python/Components/NimManager.py:1458
-msgid "Frequency steps"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Fri"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:167
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:167
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:48
-msgid "Friday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:44
-#: ../enigma2_master/lib/python/Components/Language.py:44
-msgid "Frisian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/About.py:23
-#: ../enigma2_master/lib/python/Screens/About.py:23
-#, python-format
-msgid "Frontprocessor version: %d"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Fsck failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:102
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:102
-msgid ""
-"GUI needs a restart to apply a new skin\n"
-"Do you want to Restart the GUI now?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:188
-#: ../enigma2_plugins/mytube/src/plugin.py:79
-msgid "Gaming"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:366
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:401
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:404
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:502
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:366
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:401
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:404
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:502
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Gateway"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:102
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:102
-msgid "General AC3 Delay"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:103
-msgid "General PCM Delay"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:133
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:133
-msgid "Genre"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:71
-msgid "Genuine Dreambox"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:398
-#: ../enigma2_plugins/mytube/src/plugin.py:422
-#: ../enigma2_plugins/mytube/src/plugin.py:464
-msgid "Genuine Dreambox validation failed!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:17
-#: ../enigma2_master/lib/python/Components/Language.py:17
-msgid "German"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:206
-#: ../enigma2_plugins/mytube/src/plugin.py:97
-msgid "Germany"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:731
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:731
-msgid "Get latest experimental image"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:724
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:724
-msgid "Get latest release image"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:124
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:124
-msgid "Getting plugin information. Please wait..."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:54
-msgid "Global delay"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:195
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:253
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:195
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:253
-msgid "Goto 0"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:250
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:250
-msgid "Goto position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/plugin.py:95
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/plugin.py:95
-msgid "Graphical Multi EPG"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:207
-#: ../enigma2_plugins/mytube/src/plugin.py:98
-msgid "Great Britain"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:27
-#: ../enigma2_master/lib/python/Components/Language.py:27
-msgid "Greek"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:98
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:98
-msgid "Green boost"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:150
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:150
-msgid "Guard Interval"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:416
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:416
-msgid "Guard interval mode"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:43
-msgid "Guess existing timer based on begin/end"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:237
-#: ../enigma2_plugins/mytube/src/plugin.py:128
-#: ../enigma2_plugins/mytube/src/plugin.py:790
-msgid "HD videos"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:70
-msgid "HTTP Port"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:80
-msgid "HTTPS Port"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:436
-#: ../enigma2_master/lib/python/Components/Harddisk.py:436
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Harddisk"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1484
-msgid "Help"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:517
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:517
-msgid "Hidden network SSID"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:75
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:77
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:83
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:85
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:430
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:432
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:438
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:440
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:75
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:77
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:83
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:85
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:430
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:432
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:438
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:440
-msgid "Hidden networkname"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:151
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:151
-msgid "Hierarchy Information"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:417
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:417
-msgid "Hierarchy mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:335
-#: ../enigma2_master/lib/python/Screens/Ci.py:335
-msgid "High bitrate support"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:283
-msgid "History"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:209
-#: ../enigma2_plugins/mytube/src/plugin.py:100
-msgid "Holland"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:210
-#: ../enigma2_plugins/mytube/src/plugin.py:101
-msgid "Hong Kong"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:31
-#: ../enigma2_master/lib/python/Tools/Transponder.py:31
-msgid "Horizontal"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1624
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1624
-msgid "How many minutes do you want to record?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:119
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:119
-msgid "How to handle found crashlogs?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:194
-#: ../enigma2_plugins/mytube/src/plugin.py:85
-msgid "Howto & Style"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:91
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:91
-msgid "Hue"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:28
-#: ../enigma2_master/lib/python/Components/Language.py:28
-msgid "Hungarian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:364
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:497
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1341
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:364
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:497
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1341
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:514
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "IP Address"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:84
-msgid "IP:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:299
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:299
-msgid "ISO file is too large for this filesystem!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:154
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:154
-msgid "ISO path"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:31
-#: ../enigma2_master/lib/python/Components/Language.py:31
-msgid "Icelandic"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:43
-#, python-format
-msgid ""
-"If this is enabled an existing timer will also be considered recording an "
-"event if it records at least 80% of the it."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Scart.py:30
-#: ../enigma2_experimental/lib/python/Screens/Scart.py:32
-#: ../enigma2_master/lib/python/Screens/Scart.py:30
-#: ../enigma2_master/lib/python/Screens/Scart.py:32
-msgid ""
-"If you see this, something is wrong with\n"
-"your scart connection. Press OK to return."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:87
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:87
-msgid ""
-"If your TV has a brightness or contrast enhancement, disable it. If there is "
-"something called \"dynamic\", set it to standard. Adjust the backlight level "
-"to a value suiting your taste. Turn down contrast on your TV as much as "
-"possible.\n"
-"Then turn the brightness setting as low as possible, but make sure that the "
-"two lowermost shades of gray stay distinguishable.\n"
-"Do not care about the bright shades now. They will be set up in the next "
-"step.\n"
-"If you are happy with the result, press OK."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:220
-msgid "Import AutoTimer"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:213
-msgid "Import existing Timer"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:214
-msgid "Import from EPG"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:42
-#: ../enigma2_master/lib/python/Components/Task.py:42
-msgid "In Progress"
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:253
-#: ../enigma2_master/RecordTimer.py:253
-msgid ""
-"In order to record a timer, the TV was switched to the recording service!\n"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:890
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:907
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:928
-msgid "Include"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:121
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:121
-msgid "Include your email and name (optional) in the mail?"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:78
-msgid "Increase delay"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:84
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:86
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:88
-#, python-format
-msgid "Increase delay by %i ms (can be set)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:303
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:303
-msgid "Increased voltage"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:211
-#: ../enigma2_plugins/mytube/src/plugin.py:102
-msgid "India"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:250
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:250
-msgid "Info"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:322
-#: ../enigma2_master/lib/python/Screens/Ci.py:322
-msgid "Init"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:125
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:125
-msgid "Initial location in new timers"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:53
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:53
-msgid "Initialize"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:26
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:26
-msgid "Initializing Harddisk..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputBox.py:11
-#: ../enigma2_master/lib/python/Screens/InputBox.py:11
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Input"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:154
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:154
-msgid "Input device setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:662
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1215
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1973
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:662
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1215
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1945
-msgid "Install"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2006
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1978
-msgid "Install extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:133
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:133
-msgid "Install local extension"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:921
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:921
-msgid "Install or remove finished."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/DefaultWizard.py:107
-#: ../enigma2_master/lib/python/Screens/DefaultWizard.py:107
-msgid "Install settings, skins, software..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1287
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1287
-msgid "Installation finished."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:94
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1018
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1385
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:94
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1018
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1385
-msgid "Installing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1490
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1490
-msgid "Instant Record..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:95
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:95
-msgid "Instant record location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-msgid "Interface: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:49
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:49
-msgid "Intermediate"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:443
-#: ../enigma2_master/lib/python/Components/Harddisk.py:443
-msgid "Internal Flash"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:340
-#: ../enigma2_master/lib/python/Components/Network.py:340
-msgid "Internal LAN adapter."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:401
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:401
-msgid "Invalid Location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:275
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:275
-#, python-format
-msgid "Invalid directory selected: %s"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:304
-msgid "Invalid response from Security service pls restart again"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:132
-msgid "Invalid response from server."
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:177
-#, python-format
-msgid "Invalid response from server. Please report: %s"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:212
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:266
-msgid "Invalid selection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:373
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:403
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:410
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:142
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:443
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:81
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:373
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:403
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:410
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:142
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:443
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:81
-msgid "Inversion"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2025
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1997
-msgid "Ipkg"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:212
-#: ../enigma2_plugins/mytube/src/plugin.py:103
-msgid "Ireland"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:145
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:145
-msgid "Is this videomode ok?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:213
-#: ../enigma2_plugins/mytube/src/plugin.py:104
-msgid "Israel"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:32
-#: ../enigma2_master/lib/python/Components/Language.py:32
-msgid "Italian"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:214
-#: ../enigma2_plugins/mytube/src/plugin.py:105
-msgid "Italy"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:215
-#: ../enigma2_plugins/mytube/src/plugin.py:106
-msgid "Japan"
-msgstr ""
-
-#. TRANSLATORS: (aspect ratio policy: display as fullscreen, even if this breaks the aspect)
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:100
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:110
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:100
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:110
-msgid "Just Scale"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:264
-#, python-format
-msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:247
-#, python-format
-msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1319
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1319
-msgid "LAN Adapter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:326
-#: ../enigma2_experimental/lib/python/Components/Network.py:329
-#: ../enigma2_master/lib/python/Components/Network.py:326
-#: ../enigma2_master/lib/python/Components/Network.py:329
-msgid "LAN connection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:244
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:244
-msgid "LNB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:249
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:249
-msgid "LOF"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:253
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:265
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:253
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:265
-msgid "LOF/H"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:252
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:264
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:252
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:264
-msgid "LOF/L"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:97
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:161
-#: ../enigma2_master/lib/python/Components/Language.py:97
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:161
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Language selection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:49
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:49
-msgid "Last config"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:116
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:116
-msgid "Last speed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:40
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:334
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:40
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:334
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Latitude"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:30
-#: ../enigma2_master/lib/python/Components/Language.py:30
-msgid "Latvian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:532
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:532
-msgid "Leave DVD Player?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:149
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:149
-msgid "Left"
-msgstr ""
-
-#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:96
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:96
-msgid "Letterbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:245
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:245
-msgid "Limit east"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:244
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:244
-msgid "Limit west"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:243
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:243
-msgid "Limits off"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:246
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:246
-msgid "Limits on"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:260
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:78
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:260
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:78
-msgid "Link Quality:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:867
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:146
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:867
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:146
-msgid "Link:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-msgid "Linked titles with a DVD menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/config.py:1138
-#: ../enigma2_experimental/lib/python/Components/FileList.py:177
-#: ../enigma2_experimental/lib/python/Components/FileList.py:397
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-#: ../enigma2_master/lib/python/Components/config.py:1138
-#: ../enigma2_master/lib/python/Components/FileList.py:177
-#: ../enigma2_master/lib/python/Components/FileList.py:397
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-msgid "List of Storage Devices"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:29
-#: ../enigma2_master/lib/python/Components/Language.py:29
-msgid "Lithuanian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:110
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:110
-msgid "Load"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:423
-msgid "Load feed on startup:"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:64
-msgid "Load movie-length"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1328
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1328
-msgid "Local Network"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:178
-msgid "Local share name"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:188
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:188
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:191
-msgid "Location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:133
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:133
-msgid "Location for instant recordings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:606
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:606
-msgid "Log results to harddisk"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HelpMenu.py:38
-#: ../enigma2_master/lib/python/Screens/HelpMenu.py:38
-msgid "Long Keypress"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:14
-#: ../enigma2_master/lib/python/Components/RecordingConfig.py:14
-msgid "Long filenames"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:38
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:332
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:38
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:332
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Longitude"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:476
-msgid "Lower bound of timespan."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:467
-msgid ""
-"Lower bound of timespan. Nothing before this time will be matched. Offsets "
-"are not taken into account!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:439
-#: ../enigma2_master/lib/python/Components/Harddisk.py:439
-msgid "MMC Card"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:175
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:175
-msgid "Make this mark an 'in' point"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:176
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:176
-msgid "Make this mark an 'out' point"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:177
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:177
-msgid "Make this mark just a mark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:70
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:128
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:70
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:128
-msgid "Manage extensions"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:33
-msgid "Manage network shares"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:33
-msgid "Manage your network shares..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2024
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2028
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1996
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2000
-msgid "Manage your receiver's software"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:469
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:140
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:469
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:140
-msgid "Manual transponder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:271
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:282
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:271
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:282
-msgid "Manufacturer"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:155
-#, python-format
-msgid "Match Timespan: %02d:%02d - %02d:%02d"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:494
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:87
-msgid "Match title"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:137
-#, python-format
-msgid "Match title: %s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-msgid "Max. Bitrate: "
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:526
-msgid "Maximum duration (in m)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:473
-msgid ""
-"Maximum event duration to match. If an event is longer than this ammount of "
-"time (without offset) it won't be matched."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:964
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:964
-msgid "Media player"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:149
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:179
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:292
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:149
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:179
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:292
-msgid "Medium is not a writeable DVD!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:297
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:297
-msgid "Medium is not empty!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:168
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:156
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:158
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:160
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:161
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:168
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:156
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:158
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:160
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:161
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:205
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Menu"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:216
-#: ../enigma2_plugins/mytube/src/plugin.py:107
-msgid "Mexico"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Mkfs failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:110
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:62
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:110
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:62
-msgid "Mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:47
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:47
-msgid "Model: "
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:42
-msgid "Modify existing timers"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:380
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:405
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:414
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:136
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:450
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:88
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:380
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:405
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:414
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:136
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:450
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:88
-msgid "Modulation"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Mon"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:109
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:109
-msgid "Mon-Fri"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:163
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:163
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:44
-msgid "Monday"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:285
-msgid "Monthly"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:968
-msgid "More video entries."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:102
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:102
-msgid "Mosquito noise reduction"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:241
-#: ../enigma2_plugins/mytube/src/plugin.py:132
-#: ../enigma2_plugins/mytube/src/plugin.py:797
-msgid "Most discussed"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:243
-#: ../enigma2_plugins/mytube/src/plugin.py:134
-#: ../enigma2_plugins/mytube/src/plugin.py:798
-msgid "Most linked"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:795
-msgid "Most popular"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:245
-#: ../enigma2_plugins/mytube/src/plugin.py:136
-#: ../enigma2_plugins/mytube/src/plugin.py:796
-msgid "Most recent"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:244
-#: ../enigma2_plugins/mytube/src/plugin.py:135
-#: ../enigma2_plugins/mytube/src/plugin.py:800
-msgid "Most responded"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:238
-#: ../enigma2_plugins/mytube/src/plugin.py:129
-#: ../enigma2_plugins/mytube/src/plugin.py:794
-msgid "Most viewed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Mount failed"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:60
-msgid "Mount informations"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:192
-msgid "Mount options"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:180
-msgid "Mount type"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:64
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:33
-msgid "MountManager"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:59
-msgid ""
-"Mounted/\n"
-"Unmounted"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:74
-msgid "Mountpoints management"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:69
-msgid "Mounts editor"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:108
-msgid "Mounts management"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1438
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1438
-msgid "Move Picture in Picture"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:236
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:236
-msgid "Move east"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:202
-msgid "Move plugin screen"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:22
-msgid "Move screen down"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:29
-msgid "Move screen to the center of your TV"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:19
-msgid "Move screen to the left"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:31
-msgid "Move screen to the lower left corner"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:33
-msgid "Move screen to the lower right corner"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:28
-msgid "Move screen to the middle of the left border"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:30
-msgid "Move screen to the middle of the right border"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:20
-msgid "Move screen to the right"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:25
-msgid "Move screen to the upper left corner"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:27
-msgid "Move screen to the upper right corner"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:21
-msgid "Move screen up"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:233
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:233
-msgid "Move west"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:98
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:111
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:98
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:111
-msgid "Movie location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:213
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:601
-#: ../enigma2_master/lib/python/Screens/EventView.py:213
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:601
-msgid "Multi EPG"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:868
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:868
-msgid "Multimedia"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:333
-#: ../enigma2_master/lib/python/Screens/Ci.py:333
-msgid "Multiple service support"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:534
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:534
-msgid "Multisat"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:183
-#: ../enigma2_plugins/mytube/src/plugin.py:74
-msgid "Music"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1797
-msgid "My TubePlayer"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:525
-#: ../enigma2_plugins/mytube/src/plugin.py:531
-msgid "MyTube Settings"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:434
-msgid "MyTubePlayer"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:504
-#: ../enigma2_plugins/mytube/src/plugin.py:506
-#: ../enigma2_plugins/mytube/src/plugin.py:513
-msgid "MyTubePlayer Help"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:575
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:591
-msgid "MyTubePlayer active video downloads"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:412
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:415
-msgid "MyTubePlayer settings"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1350
-msgid "MyTubeVideoInfoScreen"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1493
-msgid "MyTubeVideohelpScreen"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:387
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:391
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:394
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:398
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:402
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:733
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:741
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:887
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:234
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:387
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:391
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:394
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:398
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:402
-#: ../enigma2_master/lib/python/Components/NimManager.py:733
-#: ../enigma2_master/lib/python/Components/NimManager.py:741
-#: ../enigma2_master/lib/python/Components/NimManager.py:887
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:234
-msgid "N/A"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:19
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:23
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:19
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py:23
-msgid "NFI Image Flashing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:202
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:202
-msgid "NFI image flashing completed. Press Yellow to Reboot!"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:97
-msgid "NFS share"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:112
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:112
-msgid "NTSC"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:141
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:141
-msgid "Name"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1347
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1347
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Nameserver"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:277
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:277
-#, python-format
-msgid "Nameserver %d"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:886
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:886
-msgid "Nameserver settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:365
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:498
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:365
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:498
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Netmask"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:858
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:858
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:440
-#: ../enigma2_master/lib/python/Components/Harddisk.py:440
-msgid "Network Mount"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:515
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:520
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:515
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:520
-msgid "Network SSID"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py:12
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py:21
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py:12
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py:21
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Network Wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:418
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:418
-msgid "Network scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:887
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:887
-msgid "Network test"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1305
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1305
-msgid "Network test: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:372
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:865
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:144
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:372
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:865
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:144
-msgid "Network:"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:32
-msgid "NetworkBrowser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:150
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:913
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:150
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:913
-msgid "NetworkWizard"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:285
-msgid "Never"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:957
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:957
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:814
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1017
-msgid "New"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:320
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:320
-msgid "New PIN"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:217
-#: ../enigma2_plugins/mytube/src/plugin.py:108
-msgid "New Zealand"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:36
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:36
-msgid "New version:"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:191
-#: ../enigma2_plugins/mytube/src/plugin.py:82
-msgid "News & Politics"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:61
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:61
-msgid "Next"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:25
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:27
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:169
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:176
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:272
-#: ../enigma2_master/lib/python/Screens/Ci.py:25
-#: ../enigma2_master/lib/python/Screens/Ci.py:27
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:169
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:176
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:272
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:292
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:176
-#: ../enigma2_plugins/mytube/src/plugin.py:67
-#: ../enigma2_plugins/mytube/src/plugin.py:620
-#: ../enigma2_plugins/mytube/src/plugin.py:626 ../enigma2_experimental/data/
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/data/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_plugins/autotimer/src/
-msgid "No"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:296
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:296
-msgid "No (supported) DVDROM found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:70
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:425
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:454
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:70
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:425
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:454
-msgid "No Connection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1643
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1643
-msgid "No HDD found or HDD not initialized!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:454
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:454
-msgid "No Networks found"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2216
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2216
-msgid ""
-"No data on transponder!\n"
-"(Timeout reading PAT)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1209
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1209
-msgid "No description available."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:180
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:180
-msgid "No details for this image file"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaScanner/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaScanner/plugin.py:29
-msgid "No displayable files on this medium found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1530
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1530
-msgid "No event info found, recording indefinitely."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:950
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:986
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:950
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:986
-msgid ""
-"No fast winding possible yet.. but you can use the number buttons to skip "
-"forward/backward!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2214
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2214
-msgid "No free tuner!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:214
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:640
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:214
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:640
-msgid "No network connection available."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:193
-msgid "No network devices found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:338
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:346
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:338
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:346
-msgid "No networks found"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1427
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1427
-msgid ""
-"No packages were upgraded yet. So you can check your network and try again."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1751
-msgid "No playable video found! Stop playing this movie?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:586
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:586
-msgid "No positioner capable frontend found."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:261
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:261
-msgid "No satellite frontend found!!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:431
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:431
-msgid "No tags are set on these movies."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:401
-msgid "No to all"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:601
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:601
-msgid "No tuner is configured for use with a diseqc positioner!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:744
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:744
-msgid ""
-"No tuner is enabled!\n"
-"Please setup your tuner settings before you start a service scan."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:159
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:159
-msgid ""
-"No valid service PIN found!\n"
-"Do you like to change the service PIN now?\n"
-"When you say 'No' here the service protection stay disabled!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:157
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:157
-msgid ""
-"No valid setup PIN found!\n"
-"Do you like to change the setup PIN now?\n"
-"When you say 'No' here the setup protection stay disabled!"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:483
-msgid "No videos to display"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:355
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:355
-msgid "No wireless networks found! Please refresh."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:33
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:33
-msgid ""
-"No working local network adapter found.\n"
-"Please verify that you have attached a network cable and your network is "
-"configured correctly."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:32
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:32
-msgid ""
-"No working wireless network adapter found.\n"
-"Please verify that you have attached a compatible WLAN device and your "
-"network is configured correctly."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:706
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:706
-msgid ""
-"No working wireless network interface found.\n"
-" Please verify that you have attached a compatible WLAN device or enable "
-"your local network interface."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1744
-msgid "No, but play video again"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:177
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:177
-msgid "No, but restart from begin"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:621
-msgid "No, but switch to video entries."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:627
-msgid "No, but switch to video search."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:52
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:52
-msgid "No, never"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:278
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:278
-msgid "No, not now"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:279
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:279
-msgid "No, send them never"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:586
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:629
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:674
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1149
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1152
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1173
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1175
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1181
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:14
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:61
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:107
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:586
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:629
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:674
-#: ../enigma2_master/lib/python/Components/NimManager.py:1149
-#: ../enigma2_master/lib/python/Components/NimManager.py:1152
-#: ../enigma2_master/lib/python/Components/NimManager.py:1173
-#: ../enigma2_master/lib/python/Components/NimManager.py:1175
-#: ../enigma2_master/lib/python/Components/NimManager.py:1181
-#: ../enigma2_master/lib/python/Tools/Transponder.py:14
-#: ../enigma2_master/lib/python/Tools/Transponder.py:61
-#: ../enigma2_master/lib/python/Tools/Transponder.py:107
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:316
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:339
-#: ../enigma2_plugins/autotimer/src/plugin.py:20
-msgid "None"
-msgstr ""
-
-#. TRANSLATORS: (aspect ratio policy: display as fullscreen, with stretching the left/right)
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:108
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:108
-msgid "Nonlinear"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:195
-#: ../enigma2_plugins/mytube/src/plugin.py:86
-msgid "Nonprofits & Activism"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1164
-#: ../enigma2_master/lib/python/Components/NimManager.py:1164
-msgid "North"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:33
-#: ../enigma2_master/lib/python/Components/Language.py:33
-msgid "Norwegian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:368
-#: ../enigma2_master/lib/python/Components/Task.py:368
-#, python-format
-msgid ""
-"Not enough diskspace. Please free up some diskspace and try again. (%d MB "
-"required, %d MB available)"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:485
-msgid "Not fetching feed entries"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:321
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:859
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:861
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:1009
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:1011
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/plugin.py:90
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:321
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:859
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:861
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:1009
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:1011
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/plugin.py:90
-msgid ""
-"Nothing to scan!\n"
-"Please setup your tuner settings before you start a service scan."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:147
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/VideoFinetune.py:147
-msgid ""
-"Now, use the contrast setting to turn up the brightness of the background as "
-"much as possible, but make sure that you can still see the difference "
-"between the two brightest levels of shades.If you have done that, press OK."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:479
-msgid "Number of scheduled recordings left."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:172
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:91
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:58
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:335
-#: ../enigma2_experimental/lib/python/Screens/Setup.py:85
-#: ../enigma2_experimental/lib/python/Screens/TimeDateInput.py:13
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:30
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:61
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:109
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:221
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:42
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:53
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:165
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:583
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:352
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:103
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:48
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:303
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:37
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:172
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:91
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:58
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:335
-#: ../enigma2_master/lib/python/Screens/Setup.py:85
-#: ../enigma2_master/lib/python/Screens/TimeDateInput.py:13
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:30
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:61
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:109
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:221
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:42
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:53
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:165
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:583
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:352
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:48
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:303
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:37
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:67
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:394
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1015
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:45
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:119
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:53
-#: ../enigma2_plugins/cdinfo/src/plugin.py:57
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:35
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "OK"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:70
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:70
-msgid "OK, remove another extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:64
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:64
-msgid "OK, remove some extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:107
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:107
-msgid "OSD visibility"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1172
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:12
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:46
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:59
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:114
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:148
-#: ../enigma2_master/lib/python/Components/NimManager.py:1172
-#: ../enigma2_master/lib/python/Tools/Transponder.py:12
-#: ../enigma2_master/lib/python/Tools/Transponder.py:46
-#: ../enigma2_master/lib/python/Tools/Transponder.py:59
-#: ../enigma2_master/lib/python/Tools/Transponder.py:114
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:148
-msgid "Off"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:519
-msgid "Offset after recording (in m)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:518
-msgid "Offset before recording (in m)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1172
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:11
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:45
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:58
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:113
-#: ../enigma2_master/lib/python/Components/NimManager.py:1172
-#: ../enigma2_master/lib/python/Tools/Transponder.py:11
-#: ../enigma2_master/lib/python/Tools/Transponder.py:45
-#: ../enigma2_master/lib/python/Tools/Transponder.py:58
-#: ../enigma2_master/lib/python/Tools/Transponder.py:113
-msgid "On"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:294
-msgid "On any service"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:293
-msgid "On same service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1181
-#: ../enigma2_master/lib/python/Components/NimManager.py:1181
-msgid "One"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:21
-msgid "Only AutoTimers created during this session"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:420
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:420
-msgid "Only Free scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:978
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:978
-msgid "Only extensions."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:503
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:72
-msgid "Only match during timespan"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:164
-#, python-format
-msgid "Only on Service: %s"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:95
-msgid "Open Context Menu"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:73
-msgid "Open plugin menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:175
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:175
-msgid "Optionally enter your name if you want to."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:137
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:137
-msgid "Orbital Position"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:42
-msgid "Outer Bound (+/-)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:502
-msgid "Override found with alternative service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:365
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:365
-msgid "Overwrite configuration files ?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:376
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:376
-msgid "Overwrite configuration files during software upgrade?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:112
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:112
-msgid "PAL"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:85
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:85
-msgid "PIDs"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:610
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1357
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1752
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:610
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1357
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1750
-msgid "Package list update"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:154
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:154
-msgid "Packet management"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1744
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1742
-msgid "Packet manager"
-msgstr ""
-
-#. TRANSLATORS: (aspect ratio policy: cropped content on left/right) in doubt, keep english term
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:98
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:106
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:98
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:106
-msgid "Pan&Scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/FileList.py:179
-#: ../enigma2_experimental/lib/python/Components/FileList.py:399
-#: ../enigma2_master/lib/python/Components/FileList.py:179
-#: ../enigma2_master/lib/python/Components/FileList.py:399
-msgid "Parent Directory"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:111
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:111
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Parental control"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:45
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:45
-msgid "Parental control setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:85
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:85
-msgid "Parental control type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:113
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:113
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:197
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:130
-msgid "Password"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:45
-msgid "Pause movie at end"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:190
-#: ../enigma2_plugins/mytube/src/plugin.py:81
-msgid "People & Blogs"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:184
-#: ../enigma2_plugins/mytube/src/plugin.py:75
-msgid "Pets & Animals"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:114
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:114
-msgid "Phone number"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:125
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:628
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:629
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:125
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:628
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:629
-msgid "PicturePlayer"
-msgstr ""
-
-#. TRANSLATORS: (aspect ratio policy: black bars on left/right) in doubt, keep english term.
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:104
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:104
-msgid "Pillarbox"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:383
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:143
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:453
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:91
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:383
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:143
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:453
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:91
-msgid "Pilot"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:114
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:114
-msgid "Play"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:490
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1034
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:490
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1034
-msgid "Play Audio-CD..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:531
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:756
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:531
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:756
-msgid "Play DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1022
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1022
-msgid "Play Music..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1798
-msgid "Play YouTube movies"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:249
-#: ../enigma2_plugins/mytube/src/plugin.py:139
-msgid "Play next video"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:45
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:45
-msgid "Play recorded movies..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:249
-#: ../enigma2_plugins/mytube/src/plugin.py:139
-msgid "Play video again"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Please Reboot"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaScanner/plugin.py:48
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaScanner/plugin.py:48
-msgid "Please Select Medium to be Scanned"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:299
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:299
-msgid "Please add titles to the compilation."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1609
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1609
-msgid "Please change recording endtime"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:646
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:646
-msgid "Please check your network settings!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:602
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1359
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:602
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1359
-msgid "Please choose an extension..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/DefaultWizard.py:95
-#: ../enigma2_master/lib/python/Screens/DefaultWizard.py:95
-msgid "Please choose he package..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:56
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:56
-msgid "Please do not change any values unless you know what you are doing!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:186
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:186
-msgid "Please enter a name for the new bouquet"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:260
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:260
-msgid "Please enter a name for the new marker"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:377
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:377
-msgid "Please enter a new filename"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:608
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:608
-msgid "Please enter filename (empty = use current date)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:239
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:239
-msgid "Please enter name of the new directory"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:25
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:25
-msgid "Please enter the correct pin code"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:348
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:348
-msgid "Please enter the old PIN code"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:103
-msgid "Please enter your email address here:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:105
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:105
-msgid "Please enter your name here (optional):"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:485
-msgid "Please enter your search term."
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:383
-#: ../enigma2_master/RecordTimer.py:383
-msgid ""
-"Please note that the previously selected media could not be accessed and "
-"therefore the default directory is being used instead."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:283
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:264
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:283
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:264
-msgid "Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:21
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:21
-msgid "Please press OK!"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:299
-msgid "Please provide a Text to match"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:650
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:650
-msgid "Please select a playlist to delete..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:629
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:629
-msgid "Please select a playlist..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:483
-msgid "Please select a standard feed or try searching for videos."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:350
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:350
-msgid "Please select a subservice to record..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1769
-#: ../enigma2_experimental/lib/python/Screens/SubservicesQuickzap.py:116
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1769
-#: ../enigma2_master/lib/python/Screens/SubservicesQuickzap.py:116
-msgid "Please select a subservice..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:103
-msgid "Please select an NFI file and press green key to flash!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:143
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:151
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:143
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:151
-msgid "Please select an option below."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:268
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:268
-msgid "Please select medium to use as backup location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:428
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:428
-msgid "Please select tag to filter..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:373
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:373
-msgid "Please select the movie path..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PiPSetup.py:34
-#: ../enigma2_master/lib/python/Screens/PiPSetup.py:34
-msgid ""
-"Please use direction keys to move the PiP window.\n"
-"Press Bouquet +/- to resize the window.\n"
-"Press OK to go back to the TV mode or EXIT to cancel the moving."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:96
-#: ../enigma2_master/lib/python/Components/Language.py:96
-msgid ""
-"Please use the UP and DOWN keys to select your language. Afterwards press "
-"the OK button."
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:137
-msgid "Please wait (Step 2)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:617
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:617
-msgid "Please wait for activation of your network configuration..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:326
-msgid "Please wait for activation of your network mount..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:160
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:160
-msgid "Please wait while removing selected package..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:113
-msgid "Please wait while removing your network mount..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:236
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:236
-msgid "Please wait while scanning is in progress..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:93
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:93
-msgid "Please wait while searching for removable packages..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:289
-msgid "Please wait while updating your network mount..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:205
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:205
-msgid "Please wait while we configure your network..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:185
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:185
-msgid "Please wait while we prepare your network interfaces..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:228
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:274
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:228
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:274
-msgid "Please wait while we test your network..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:962
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:962
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:119
-msgid "Please wait while your network is restarting..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1199
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1222
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1229
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:138
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:139
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:140
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:141
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:142
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:143
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1199
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1222
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1229
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:138
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:139
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:140
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:141
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:142
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:143
-msgid "Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:185
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:67
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:404
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:185
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:67
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:404
-msgid "Please wait... Loading list..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:985
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:985
-msgid "Plugin manager activity information"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1082
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1082
-msgid "Plugin manager help"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:60
-#, python-format
-msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:218
-#: ../enigma2_plugins/mytube/src/plugin.py:109
-msgid "Poland"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:375
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:445
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:83
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:375
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:445
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:83
-msgid "Polarity"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:141
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1171
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:141
-#: ../enigma2_master/lib/python/Components/NimManager.py:1171
-msgid "Polarization"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:34
-#: ../enigma2_master/lib/python/Components/Language.py:34
-msgid "Polish"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:40
-msgid "Poll Interval (in h)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:39
-msgid "Poll automatically"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:25
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:25
-msgid "Port A"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:28
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:28
-msgid "Port B"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:30
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:30
-msgid "Port C"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:31
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:31
-msgid "Port D"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:35
-#: ../enigma2_master/lib/python/Components/Language.py:35
-msgid "Portuguese"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:535
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1157
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:535
-#: ../enigma2_master/lib/python/Components/NimManager.py:1157
-msgid "Positioner"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:192
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:192
-msgid "Positioner fine movement"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:191
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:191
-msgid "Positioner movement"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:605
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:611
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:605
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:611
-msgid "Positioner setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:194
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:194
-msgid "Positioner storage"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:474
-msgid ""
-"Power state to change to after recordings. Select \"standard\" to not change "
-"the default behavior of enigma2 or values changed by yourself."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:46
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:340
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:46
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:340
-msgid "Power threshold in mA"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:470
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:140
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:470
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:140
-msgid "Predefined transponder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:736
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:736
-msgid "Prepare another USB stick for image flashing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:21
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:21
-msgid "Preparing... Please wait"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:123
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:123
-msgid "Press INFO on your remote control for additional information."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:122
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:122
-msgid "Press MENU on your remote control for additional options."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:34
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:330
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:704
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1342
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:34
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:330
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:704
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1342
-msgid "Press OK on your remote control to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:31
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:31
-msgid "Press OK to activate the selected skin."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:243
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:374
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:243
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:374
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:64
-msgid "Press OK to activate the settings."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:364
-msgid "Press OK to collapse this host"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/UserManager.py:51
-msgid "Press OK to edit selected settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:47
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:35
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:47
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:35
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:62
-msgid "Press OK to edit the settings."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:366
-msgid "Press OK to expand this host"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:560
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:560
-#, python-format
-msgid "Press OK to get further details for %s"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:360
-msgid "Press OK to mount this share!"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:111
-msgid "Press OK to mount!"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:90
-msgid "Press OK to save settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:934
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:934
-msgid "Press OK to scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:421
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:529
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:421
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:529
-msgid "Press OK to select a Provider."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:55
-msgid "Press OK to select."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:369
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:369
-msgid "Press OK to select/deselect a CAId."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:319
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:319
-msgid "Press OK to start the scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1974
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1946
-msgid "Press OK to toggle the selection."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:36
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:36
-msgid "Press yellow to set this interface as default interface."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:60
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:60
-msgid "Prev"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:212
-msgid "Preview"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerPreview.py:76
-msgid "Preview AutoTimer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:127
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:127
-msgid "Preview menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:358
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:358
-msgid "Primary DNS"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:248
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:248
-msgid "Priority"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:689
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:689
-msgid "Process"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:63
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:72
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:63
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:72
-msgid "Properties of current title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:83
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:83
-msgid "Protect services"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:79
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:79
-msgid "Protect setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:710
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:846
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1460
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:710
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:846
-#: ../enigma2_master/lib/python/Components/NimManager.py:1460
-msgid "Provider"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:166
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:166
-msgid "Provider to scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:955
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:470
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:955
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:470
-msgid "Providers"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:163
-#: ../enigma2_plugins/mytube/src/plugin.py:54
-msgid "Published"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/SocketMMI/plugin.py:25
-#: ../enigma2_master/lib/python/Plugins/Extensions/SocketMMI/plugin.py:25
-msgid "Python frontend for /tmp/mmi.socket"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-msgid "Quick"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1760
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1762
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1765
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1760
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1762
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1765
-msgid "Quickzap"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:71
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:71
-msgid "RGB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:352
-#: ../enigma2_experimental/lib/python/Components/Network.py:354
-#: ../enigma2_master/lib/python/Components/Network.py:352
-#: ../enigma2_master/lib/python/Components/Network.py:354
-msgid "Ralink"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:441
-#: ../enigma2_master/lib/python/Components/Harddisk.py:441
-msgid "Ram Disk"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:592
-msgid "Random"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:164
-#: ../enigma2_plugins/mytube/src/plugin.py:55
-msgid "Rating"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1103
-msgid "Ratings: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:263
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:652
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:440
-#: ../enigma2_experimental/lib/python/Components/ConfigList.py:237
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:222
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:408
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:174
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:263
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:652
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:440
-#: ../enigma2_master/lib/python/Components/ConfigList.py:237
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:222
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:408
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:174
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:627
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:957
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1127
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:226
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:197
-msgid "Really close without saving settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:192
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:192
-msgid "Really delete done timers?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SubservicesQuickzap.py:127
-#: ../enigma2_master/lib/python/Screens/SubservicesQuickzap.py:127
-msgid "Really exit the subservices quickzap?"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:629
-msgid "Really quit MyTube Player?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:130
-#: ../enigma2_master/lib/python/Screens/Standby.py:130
-msgid "Really reboot now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:134
-#: ../enigma2_master/lib/python/Screens/Standby.py:134
-msgid "Really restart now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:128
-#: ../enigma2_master/lib/python/Screens/Standby.py:128
-msgid "Really shutdown now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:223
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:223
-msgid "Reboot"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:240
-#: ../enigma2_plugins/mytube/src/plugin.py:131
-#: ../enigma2_plugins/mytube/src/plugin.py:799
-msgid "Recently featured"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Record"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:541
-msgid "Record a maximum of x times"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1066
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1119
-msgid "Record on"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1553
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1553
-#, python-format
-msgid "Record time limited due to conflicting timer %s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:357
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:357
-msgid "Recorded files..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:117
-#: ../enigma2_master/lib/python/Screens/EventView.py:117
-msgid "Recording"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:119
-#: ../enigma2_master/lib/python/Screens/Standby.py:119
-msgid "Recording(s) are in progress or coming up in few seconds!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:856
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:856
-msgid "Recordings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:321
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:321
-msgid "Reenter new PIN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:66
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:66
-msgid "Refresh Rate"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:976
-msgid "Related video entries."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:161
-#: ../enigma2_plugins/mytube/src/plugin.py:52
-msgid "Relevance"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1677
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1677
-msgid "Reload"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:102
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:102
-msgid "Reload Black-/Whitelists"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:93
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:93
-msgid "Remember service PIN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:95
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:95
-msgid "Remember service PIN cancel"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1219
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1219
-msgid "Remove"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:93
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:206
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:93
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:206
-msgid "Remove Bookmark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:75
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:75
-msgid "Remove Plugins"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:179
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:179
-msgid "Remove a mark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:64
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:64
-msgid "Remove currently selected title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1302
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1796
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1302
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1794
-msgid "Remove finished."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:166
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:166
-msgid "Remove plugins"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:102
-msgid "Remove selected AutoTimer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:254
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:370
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:104
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:164
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:608
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:659
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:254
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:370
-#: ../enigma2_master/lib/python/Screens/EventView.py:104
-#: ../enigma2_master/lib/python/Screens/EventView.py:164
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:608
-#: ../enigma2_master/lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py:659
-msgid "Remove timer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:64
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:293
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:64
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:293
-msgid "Remove title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:100
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1020
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1391
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:100
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1020
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1391
-msgid "Removing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:285
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:285
-#, python-format
-msgid "Removing directory %s failed. (Maybe not empty.)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:92
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:92
-msgid "Rename"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:23
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:23
-msgid "Rename crashlogs"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:145
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:145
-msgid "Repeat Type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:104
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:104
-msgid "Repeating event currently recording... What do you want to do?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:151
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:151
-msgid "Repeats"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:549
-msgid "Require description to be unique"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-msgid "Required medium type:"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:109
-msgid "Rescan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:321
-#: ../enigma2_master/lib/python/Screens/Ci.py:321
-msgid "Reset"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:129
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:129
-msgid "Reset and renumerate title names"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:547
-msgid "Reset count"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:34
-msgid "Reset saved position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:250
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:250
-msgid "Reset video enhancement settings to system defaults?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:213
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:213
-msgid "Reset video enhancement settings to your last configuration?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:64
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:64
-msgid "Resolution"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:984
-msgid "Response video entries."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:103
-msgid "Restart GUI now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:888
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:888
-msgid "Restart network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1299
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1422
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1299
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1422
-msgid "Restart test"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:856
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:856
-msgid "Restart your network connection and interfaces.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:206
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:206
-msgid "Restore"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:237
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:237
-msgid "Restore backups"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:217
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:312
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:320
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:322
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:217
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:312
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:320
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:322
-msgid "Restore is running..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:264
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:264
-msgid "Restore running"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:132
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:132
-msgid "Restore system settings"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:475
-msgid "Restrict \"after event\" to a certain timespan?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:41
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:41
-msgid "Resume from last position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1912
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1912
-#, python-format
-msgid "Resume position at %s"
-msgstr ""
-
-#. TRANSLATORS: The string "Resuming playback" flashes for a moment
-#. TRANSLATORS: at the start of a movie, when the user has selected
-#. TRANSLATORS: "Resume from last position" as start behavior.
-#. TRANSLATORS: The purpose is to notify the user that the movie starts
-#. TRANSLATORS: in the middle somewhere and not from the beginning.
-#. TRANSLATORS: (Some translators seem to have interpreted it as a
-#. TRANSLATORS: question or a choice, but it is a statement.)
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1921
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1921
-msgid "Resuming playback"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:527
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:527
-msgid "Return to file browser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:249
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:252
-#: ../enigma2_plugins/mytube/src/plugin.py:139
-#: ../enigma2_plugins/mytube/src/plugin.py:142
-msgid "Return to movie list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:45
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:43
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:45
-msgid "Return to previous service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:150
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:150
-msgid "Right"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:382
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:144
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:452
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:90
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:382
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:144
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:452
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:90
-msgid "Rolloff"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:47
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:341
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:47
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:341
-msgid "Rotor turning speed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:95
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:141
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:95
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:141
-msgid "Running"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:219
-#: ../enigma2_plugins/mytube/src/plugin.py:110
-msgid "Russia"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:36
-#: ../enigma2_master/lib/python/Components/Language.py:36
-msgid "Russian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:71
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:71
-msgid "S-Video"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-msgid "SINGLE LAYER DVD"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:259
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:77
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:259
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:77
-msgid "SSID:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Sat"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:22
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:147
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:363
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:371
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:387
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:40
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:8
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:430
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:67
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:22
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:147
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:363
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:371
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:387
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:40
-#: ../enigma2_master/lib/python/Tools/Transponder.py:8
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:430
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:67
-msgid "Satellite"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:68
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:74
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:68
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py:74
-msgid "Satellite Equipment Setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:864
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:864
-msgid "Satellite equipment"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:709
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:848
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:709
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:848
-msgid "Satellites"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:273
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:279
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:273
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:279
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Satfinder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:516
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:516
-msgid "Sats"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:90
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:90
-msgid "Saturation"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:168
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:168
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:49
-msgid "Saturday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:25
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:112
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:221
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:224
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:70
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:58
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:368
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:79
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:116
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1553
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:25
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:112
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:221
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:224
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:70
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:58
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:368
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:79
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:116
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1553
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:64
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:812
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:74
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:399
-msgid "Save"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:608
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:608
-msgid "Save Playlist"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:82
-msgid "Save current delay to key"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:68
-msgid "Save to key"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:74
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:81
-msgid "Save values and close plugin"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:17
-#: ../enigma2_plugins/ac3lipsync/src/MovableScreen.py:24
-msgid "Save values and close screen"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:93
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:110
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:93
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:110
-msgid "Scaler sharpness"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:178
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:178
-msgid "Scaling Mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:930
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:930
-msgid "Scan "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaScanner/plugin.py:94
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaScanner/plugin.py:94
-msgid "Scan Files..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:499
-msgid "Scan NFS share"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:186
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:186
-msgid "Scan QAM128"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:183
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:183
-msgid "Scan QAM16"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:187
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:187
-msgid "Scan QAM256"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:184
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:184
-msgid "Scan QAM32"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:185
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:185
-msgid "Scan QAM64"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:189
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:189
-msgid "Scan SR6875"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:188
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:188
-msgid "Scan SR6900"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:897
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:897
-msgid "Scan Wireless Networks"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:190
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:191
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:190
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:191
-msgid "Scan additional SR"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:175
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:175
-msgid "Scan band EU HYPER"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:170
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:170
-msgid "Scan band EU MID"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:174
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:174
-msgid "Scan band EU SUPER"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:172
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:172
-msgid "Scan band EU UHF IV"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:173
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:173
-msgid "Scan band EU UHF V"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:169
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:169
-msgid "Scan band EU VHF I"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:171
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:171
-msgid "Scan band EU VHF III"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:178
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:178
-msgid "Scan band US HIGH"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:180
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:180
-msgid "Scan band US HYPER"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:176
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:176
-msgid "Scan band US LOW"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:177
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:177
-msgid "Scan band US MID"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:179
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:179
-msgid "Scan band US SUPER"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:500
-msgid "Scan range"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:852
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:852
-msgid ""
-"Scan your network for wireless access points and connect to them using your "
-"selected wireless device.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/plugin.py:137
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DefaultServicesScanner/plugin.py:137
-msgid ""
-"Scans default lamedbs sorted by satellite with a connected dish positioner"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:196
-#: ../enigma2_plugins/mytube/src/plugin.py:87
-msgid "Science & Technology"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:438
-msgid "Search Term(s)"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:421
-msgid "Search category:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:235
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:235
-msgid "Search east"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:32
-msgid "Search for network shares"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/plugin.py:32
-msgid "Search for network shares..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:422
-msgid "Search region:"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:420
-msgid "Search restricted content:"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:500
-msgid "Search strictness"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:499
-msgid "Search type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:234
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:234
-msgid "Search west"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:607
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:607
-msgid "Searching for available updates. Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:610
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:610
-msgid "Searching for new installed or removed packages. Please wait..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/NetworkBrowser.py:189
-msgid "Searching your network. Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:359
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:359
-msgid "Secondary DNS"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:160
-msgid "Security service not running."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:50
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:40
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:155
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:50
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:40
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:155
-msgid "Select"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:462
-msgid ""
-"Select \"exact match\" to enforce \"Match title\" to match exactly or "
-"\"partial match\" if you only want to search for a part of the event title."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:51
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:51
-msgid "Select Location"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:59
-msgid "Select a timer to import"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:71
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:71
-msgid "Select audio track"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1103
-msgid "Select bouquet to record on"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:225
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:272
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:225
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:272
-msgid "Select channel to record from"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1097
-msgid "Select channel to record on"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:735
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:735
-msgid "Select desired image from feed list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:152
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:152
-msgid "Select files for backup."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:148
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:148
-msgid "Select files/folders to backup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:78
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:78
-msgid "Select input device"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:61
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:67
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:61
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:67
-msgid "Select input device."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:802
-msgid "Select new feed to view."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:428
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:428
-msgid "Select provider to add..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:533
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:533
-msgid "Select service to add..."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:241
-#, python-format
-msgid "Select the key you want to set to %i ms"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:483
-msgid "Select the location to save the recording to."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:925
-msgid "Select type of Filter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1495
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1495
-msgid "Select upgrade source to edit."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:463
-msgid "Select whether or not you want to enforce case correctness."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:528
-#: ../enigma2_plugins/mytube/src/plugin.py:543
-msgid "Select your choice."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:23
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:23
-msgid "Send DiSEqC"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:34
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:34
-msgid "Send DiSEqC only on satellite change"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:33
-msgid "Seperate titles with a main menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:313
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:313
-msgid "Sequence repeat"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:37
-#: ../enigma2_master/lib/python/Components/Language.py:37
-msgid "Serbian"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:182
-msgid "Server IP"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:184
-msgid "Server share"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:53
-msgid "Service delay"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1793
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1793
-msgid "Service has been added to the favourites."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1799
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1799
-msgid "Service has been added to the selected bouquet."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2218
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2218
-msgid ""
-"Service invalid!\n"
-"(Timeout reading PMT)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2217
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2217
-msgid ""
-"Service not found!\n"
-"(SID not found in PAT)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2223
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2223
-msgid ""
-"Service unavailable!\n"
-"Check tuner configuration!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:84
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:84
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Serviceinfo"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:959
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:959
-msgid "Services"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:178
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:178
-msgid "Set End Time"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:33
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:33
-msgid "Set Voltage and 22KHz"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:95
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:95
-msgid "Set available internal memory threshold for the warning."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:89
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:90
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:91
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:92
-#, python-format
-msgid "Set delay to %i ms (can be set)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:65
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:65
-msgid "Set interface as default Interface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:193
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:193
-msgid "Set limits"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:522
-msgid "Set maximum duration"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:458
-msgid "Set this NO to disable this AutoTimer."
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3main.py:252
-msgid "Setting key canceled"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:65
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:82
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:153
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:65
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:82
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:153
-msgid "Settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:63
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:63
-#: ../enigma2_plugins/autotimer/src/AutoTimerOverview.py:215
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Setup"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/plugin.py:35
-msgid "Setup for the Audio Sync Plugin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:151
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:151
-#, python-format
-msgid ""
-"Shall the USB stick wizard proceed and program the image file %s into flash "
-"memory?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:96
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:96
-msgid "Sharpness"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:187
-#: ../enigma2_plugins/mytube/src/plugin.py:78
-msgid "Short Movies"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:13
-#: ../enigma2_master/lib/python/Components/RecordingConfig.py:13
-msgid "Short filenames"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:466
-msgid "Should this AutoTimer be restricted to a timespan?"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:472
-msgid "Should this AutoTimer only match up to a certain event duration?"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:482
-msgid ""
-"Should timers created by this AutoTimer be recorded to a custom location?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1322
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1332
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1338
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1344
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1350
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1322
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1332
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1338
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1344
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1350
-msgid "Show Info"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:899
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:899
-msgid "Show WLAN Status"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:41
-msgid "Show in extension menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:255
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:255
-msgid "Show services beginning with"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:46
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:46
-msgid "Show the radio player..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:47
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:47
-msgid "Show the tv player..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:854
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:854
-msgid "Shows the state of your wireless LAN connection.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:84
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:84
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Shutdown"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:43
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:43
-msgid "Shutdown Dreambox after"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:261
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:79
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:261
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:79
-msgid "Signal Strength:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:276
-msgid "Signal: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:192
-#: ../enigma2_master/lib/python/Screens/EventView.py:192
-msgid "Similar"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:186
-#: ../enigma2_master/lib/python/Screens/EventView.py:186
-msgid "Similar broadcasts:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:48
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:48
-msgid "Simple"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:34
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDProject.py:34
-msgid "Simple titleset (compatibility for legacy players)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1155
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_master/lib/python/Components/NimManager.py:1155
-msgid "Single"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:212
-#: ../enigma2_master/lib/python/Screens/EventView.py:212
-msgid "Single EPG"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:534
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:534
-msgid "Single satellite"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:534
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:535
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:536
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:534
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:535
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:536
-msgid "Single transponder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:115
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:115
-msgid "Singlestep (GOP)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:128
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py:128
-msgid "Skin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:854
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:854
-msgid "Skins"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:85
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:87
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:85
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:87
-msgid "Sleep timer action:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:177
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:177
-msgid "Slideshow Interval (sec.)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:300
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:304
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:55
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:57
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:59
-#: ../enigma2_master/lib/python/Screens/Ci.py:300
-#: ../enigma2_master/lib/python/Screens/Ci.py:304
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:55
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:57
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:59
-#, python-format
-msgid "Slot %d"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:38
-#: ../enigma2_master/lib/python/Components/Language.py:38
-msgid "Slovakian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:39
-#: ../enigma2_master/lib/python/Components/Language.py:39
-msgid "Slovenian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1165
-#: ../enigma2_master/lib/python/Components/NimManager.py:1165
-msgid "Slow"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:866
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:866
-msgid "Software"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:193
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2017
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2024
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2028
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:193
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1989
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1996
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:2000
-msgid "Software management"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:339
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:339
-msgid "Software manager setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:130
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:130
-msgid "Software restore"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:129
-msgid "Software update"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:480
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:480
-msgid "Softwaremanager information"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:52
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:52
-msgid "Some plugins are not available:\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:250
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:250
-msgid "Sorry MediaScanner is not installed!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:244
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:244
-msgid "Sorry no backups found!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:86
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:88
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:86
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py:88
-msgid ""
-"Sorry your backup destination is not writeable.\n"
-"Please choose an other one."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:755
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:755
-msgid "Sorry, no Details available!"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:722
-msgid "Sorry, video is not available!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:301
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:301
-msgid ""
-"Sorry, your backup destination is not writeable.\n"
-"\n"
-"Please choose another one."
-msgstr ""
-
-#. TRANSLATORS: This must fit into the header button in the EPG-List
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:213
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:213
-msgid "Sort A-Z"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerPreview.py:82
-msgid "Sort AutoTimer"
-msgstr ""
-
-#. TRANSLATORS: This must fit into the header button in the EPG-List
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:210
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:210
-#: ../enigma2_plugins/autotimer/src/AutoTimerPreview.py:80
-msgid "Sort Time"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1164
-#: ../enigma2_master/lib/python/Components/NimManager.py:1164
-msgid "South"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:220
-#: ../enigma2_plugins/mytube/src/plugin.py:111
-msgid "South Korea"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:221
-#: ../enigma2_plugins/mytube/src/plugin.py:112
-msgid "Spain"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:40
-#: ../enigma2_master/lib/python/Components/Language.py:40
-msgid "Spanish"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:94
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:94
-msgid "Split preview mode"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:185
-#: ../enigma2_plugins/mytube/src/plugin.py:76
-msgid "Sports"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:87
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:55
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:60
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:87
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:55
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:60
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Standby"
-msgstr ""
-
-#: ../enigma2_experimental/mytest.py:384 ../enigma2_master/mytest.py:384
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Standby / Restart"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:129
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:129
-#, python-format
-msgid "Standby Fan %d PWM"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:128
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:128
-#, python-format
-msgid "Standby Fan %d Voltage"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:60
-msgid "Start Webinterface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:41
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:41
-msgid "Start from the beginning"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1659
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1659
-msgid "Start recording?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1357
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1357
-msgid "Start test"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:426
-msgid "Start with following feed:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:175
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:175
-msgid "StartTime"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:153
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:153
-msgid "Starting on"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:282
-msgid "Std. Feeds"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:240
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:240
-msgid "Step east"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:43
-msgid "Step in ms for arrow keys"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:48
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:49
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:50
-#, python-format
-msgid "Step in ms for key %i"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:45
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:46
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:47
-#, python-format
-msgid "Step in ms for keys '%s'"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:239
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:239
-msgid "Step west"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:228
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:229
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:230
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:231
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:228
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:229
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:230
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:231
-msgid "Stop"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1233
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1233
-msgid "Stop Timeshift?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:101
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:101
-msgid "Stop current event and disable coming events"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:100
-#: ../enigma2_master/lib/python/Screens/TimerEdit.py:100
-msgid "Stop current event but not coming events"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:181
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:181
-#: ../enigma2_plugins/mytube/src/plugin.py:1749
-msgid "Stop playing this movie?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1186
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1358
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1186
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1358
-msgid "Stop test"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:597
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:597
-msgid "Stop testing plane after # failed transponders"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:601
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:601
-msgid "Stop testing plane after # successful transponders"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:249
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:249
-msgid "Store position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:355
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:355
-msgid "Stored position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1686
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1686
-msgid "Subservice list..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:118
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:173
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:118
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:173
-msgid "Subtitle selection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:52
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:52
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
-msgid "Subtitles"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Sun"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:169
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:169
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:50
-msgid "Sunday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1435
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1435
-msgid "Swap Services"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:222
-#: ../enigma2_plugins/mytube/src/plugin.py:113
-msgid "Sweden"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:41
-#: ../enigma2_master/lib/python/Components/Language.py:41
-msgid "Swedish"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1691
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1691
-msgid "Switch to next subservice"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1692
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1692
-msgid "Switch to previous subservice"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:550
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:550
-msgid "Switchable tuner types:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:374
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:404
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:444
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:82
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:374
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:404
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:444
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:82
-msgid "Symbol Rate"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:139
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:139
-msgid "Symbolrate"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:366
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:135
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:437
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:75
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:852
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:366
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:135
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:437
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:75
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:852
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "System"
-msgstr ""
-
-#. TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
-#: ../enigma2_experimental/lib/python/Screens/About.py:58
-#: ../enigma2_master/lib/python/Screens/About.py:58
-msgid "TRANSLATOR_INFO"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:298
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:298
-msgid "TS file is too large for ISO9660 level 1!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:295
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:295
-msgid "Table of content for collection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:322
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:322
-msgid "Tag 1"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:327
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:327
-msgid "Tag 2"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:334
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:189
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:334
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:189
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:556
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:200
-msgid "Tags"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:484
-msgid "Tags the Timer/Recording will have."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1347
-msgid "Tags: "
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:223
-#: ../enigma2_plugins/mytube/src/plugin.py:114
-msgid "Taiwan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:166
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:169
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:166
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py:169
-msgid "Temperature and Fan control"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:967
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:81
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:70
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:478
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:967
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:81
-#: ../enigma2_master/lib/python/Tools/Transponder.py:70
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:478
-msgid "Terrestrial"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:198
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:198
-msgid "Terrestrial provider"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:682
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:682
-msgid "Test DiSEqC settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:593
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:593
-msgid "Test Type"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:80
-msgid "Test again"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:848
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:848
-msgid "Test the network configuration of your Dreambox.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/DemoPlugins/TestPlugin/plugin.py:47
-#: ../enigma2_master/lib/python/Plugins/DemoPlugins/TestPlugin/plugin.py:47
-msgid "Test-Messagebox?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:353
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:353
-msgid ""
-"The DVD standard doesn't support H.264 (HDTV) video streams. Do you want to "
-"create a Dreambox format data DVD (which will not play in stand-alone DVD "
-"players) instead?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:225
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:225
-msgid ""
-"The NetworkWizard extension is not installed!\n"
-"Please install it."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:367
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:367
-msgid "The PIN code has been changed successfully."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:369
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:369
-msgid "The PIN codes you entered are different."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/PluginBrowser.py:95
-#: ../enigma2_master/lib/python/Screens/PluginBrowser.py:95
-msgid ""
-"The Softwaremanagement extension is not installed!\n"
-"Please install it."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:601
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:601
-msgid ""
-"The USB stick was prepared to be bootable.\n"
-"Now you can download an NFI image file!"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:480
-msgid ""
-"The counter can automatically be reset to the limit at certain intervals."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:48
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:48
-#, python-format
-msgid ""
-"The directory %s is not writable.\n"
-"Make sure you select a writable directory instead."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:45
-msgid ""
-"The editor to be used for new AutoTimers. This can either be the Wizard or "
-"the classic editor."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:716
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:716
-#, python-format
-msgid ""
-"The following device was found:\n"
-"\n"
-"%s\n"
-"\n"
-"Do you want to write the USB flasher to this stick?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaScanner/plugin.py:35
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaScanner/plugin.py:35
-msgid "The following files were found..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:283
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:283
-msgid "The installation of the default services lists is finished."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/DefaultWizard.py:40
-#: ../enigma2_master/lib/python/Screens/DefaultWizard.py:40
-msgid ""
-"The installation of the default settings is finished. You can now continue "
-"configuring your Dreambox by pressing the OK button on the remote control."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:644
-msgid "The match attribute is mandatory."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:27
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:27
-msgid "The md5sum validation failed, the file may be corrupted!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:149
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:149
-msgid "The package:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:258
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:258
-#, python-format
-msgid "The path %s already exists."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:205
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:37
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:238
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:205
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:37
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:238
-msgid "The pin code you entered is wrong."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:528
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:528
-#, python-format
-msgid "The results have been written to %s."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:107
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:107
-msgid "The sleep timer has been activated."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:110
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:110
-msgid "The sleep timer has been disabled."
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:501
-#: ../enigma2_master/RecordTimer.py:501
-msgid "The timer file (timers.xml) is corrupt and could not be loaded."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:750
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:777
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:798
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:924
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:750
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:777
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:798
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:924
-msgid ""
-"The wireless LAN plugin is not installed!\n"
-"Please install it."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:614
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:614
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"The wizard can backup your current settings. Do you want to do a backup now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:207
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:207
-#, python-format
-msgid ""
-"The wizard found a configuration backup. Do you want to restore your old "
-"settings from %s?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:204
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:209
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:630
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:674
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:685
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:204
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:209
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:630
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:674
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:685
-msgid "There are at least "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:678
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:691
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:678
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:691
-msgid "There are currently no outstanding actions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:632
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:632
-msgid "There are no updates available."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:142
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:150
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:142
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:150
-msgid "There are now "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:364
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:364
-msgid ""
-"There might not be enough Space on the selected Partition.\n"
-"Do you really want to continue?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:614
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1756
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:614
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1754
-msgid "There was an error downloading the packetlist. Please try again."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:480
-msgid "There was an error getting the feed entries. Please try again."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:141
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:141
-msgid "There was an error. The package:"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:130
-msgid ""
-"There's a certificate update available for your dreambox. Would you like to "
-"apply this update now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:178
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:178
-msgid ""
-"This DVD RW medium is already formatted - reformatting will erase all "
-"content on the disc."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:280
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:286
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:280
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:286
-#, python-format
-msgid "This Dreambox can't decode %s streams!"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:169
-#: ../enigma2_plugins/mytube/src/plugin.py:60
-msgid "This Month"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:170
-#: ../enigma2_plugins/mytube/src/plugin.py:61
-msgid "This Week"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:459
-msgid ""
-"This is a name you can give the AutoTimer. It will be shown in the Overview "
-"and the Preview."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:40
-msgid ""
-"This is the delay in hours that the AutoTimer will wait after a search to "
-"search the EPG again."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1488
-msgid "This is the help screen. Feed me with something to display."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:460
-msgid ""
-"This is what will be looked for in event titles. Note that looking for e.g. "
-"german umlauts can be tricky as you have to know the encoding the channel "
-"uses."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:693
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:693
-msgid ""
-"This plugin creates a USB stick which can be used to update the firmware of "
-"your Dreambox without the need for a network or WLAN connection.\n"
-"First, a USB stick needs to be prepared so that it becomes bootable.\n"
-"In the next step, an NFI image file can be downloaded from the update server "
-"and saved on the USB stick.\n"
-"If you already have a prepared bootable USB stick, please insert it now. "
-"Otherwise plug in a USB stick with a minimum size of 64 MB!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1101
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1101
-msgid "This plugin is installed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1103
-msgid "This plugin is not installed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1105
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1105
-msgid "This plugin will be installed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1107
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1107
-msgid "This plugin will be removed."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:42
-msgid "This setting controls the behavior when a timer matches a found event."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1287
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1287
-msgid ""
-"This test checks for configured Nameservers.\n"
-"If you get a \"unconfirmed\" message:\n"
-"- please check your DHCP, cabling and Adapter setup\n"
-"- if you configured your Nameservers manually please verify your entries in "
-"the \"Nameserver\" Configuration"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1272
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1272
-msgid ""
-"This test checks whether a network cable is connected to your LAN-Adapter.\n"
-"If you get a \"disconnected\" message:\n"
-"- verify that a network cable is attached\n"
-"- verify that the cable is not broken"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1282
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1282
-msgid ""
-"This test checks whether a valid IP Address is found for your LAN Adapter.\n"
-"If you get a \"unconfirmed\" message:\n"
-"- no valid IP Address was found\n"
-"- please check your DHCP, cabling and adapter setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1277
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1277
-msgid ""
-"This test checks whether your LAN Adapter is set up for automatic IP Address "
-"configuration with DHCP.\n"
-"If you get a \"disabled\" message:\n"
-" - then your LAN Adapter is configured for manual IP Setup\n"
-"- verify thay you have entered correct IP informations in the AdapterSetup "
-"dialog.\n"
-"If you get an \"enabeld\" message:\n"
-"-verify that you have a configured and working DHCP Server in your network."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1267
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1267
-msgid "This test detects your configured LAN-Adapter."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:44
-msgid ""
-"This toggles the behavior on timer conflicts. If an AutoTimer matches an "
-"event that conflicts with an existing timer it will not ignore this event "
-"but add it disabled."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1181
-#: ../enigma2_master/lib/python/Components/NimManager.py:1181
-msgid "Three"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:254
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:266
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:254
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:266
-msgid "Threshold"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Thu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:61
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:61
-msgid "Thumbnails"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:166
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:166
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:47
-msgid "Thursday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimeDateInput.py:47
-#: ../enigma2_master/lib/python/Screens/TimeDateInput.py:47
-msgid "Time"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:471
-msgid "Time in minutes to append to recording."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:470
-msgid "Time in minutes to prepend to recording."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:143
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:143
-msgid "Timer Type"
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:523
-#: ../enigma2_master/RecordTimer.py:523
-msgid ""
-"Timer overlap in timers.xml detected!\n"
-"Please recheck it!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:93
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:93
-msgid "Timer record location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:30
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:32
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:30
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:32
-msgid "Timer status:"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:501
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:182
-#: ../enigma2_plugins/autotimer/src/AutoTimerWizard.py:88
-msgid "Timer type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/RecordPaths.py:100
-#: ../enigma2_master/lib/python/Screens/RecordPaths.py:100
-msgid "Timeshift location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1203
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1203
-msgid "Timeshift not possible!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:19
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:158
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:80
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:431
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:127
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:19
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:158
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:80
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:431
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:127
-msgid "Title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:63
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:294
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:63
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:294
-msgid "Title properties"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:171
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:171
-msgid "Titleset mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:634
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:634
-msgid ""
-"To update your Dreambox firmware, please follow these steps:\n"
-"1) Turn off your box with the rear power switch and make sure the bootable "
-"USB stick is plugged in.\n"
-"2) Turn mains back on and hold the DOWN button on the front panel pressed "
-"for 10 seconds.\n"
-"3) Wait for bootup and follow instructions of the wizard."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:336
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:10
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:336
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:10
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:171
-#: ../enigma2_plugins/mytube/src/plugin.py:62
-msgid "Today"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:158
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:158
-msgid "Tone Amplitude"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:304
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:304
-msgid "Tone mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:310
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:310
-msgid "Toneburst"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1155
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:515
-#: ../enigma2_master/lib/python/Components/NimManager.py:1155
-msgid "Toneburst A/B"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:242
-#: ../enigma2_plugins/mytube/src/plugin.py:133
-#: ../enigma2_plugins/mytube/src/plugin.py:793
-msgid "Top favorites"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:239
-#: ../enigma2_plugins/mytube/src/plugin.py:130
-#: ../enigma2_plugins/mytube/src/plugin.py:792
-msgid "Top rated"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:79
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:79
-msgid "Track"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:149
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:149
-msgid "Transmission Mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:415
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:415
-msgid "Transmission mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:86
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:455
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:93
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:86
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:455
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:93
-msgid "Transponder"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:134
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:134
-msgid "Transponder Type"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:186
-#: ../enigma2_plugins/mytube/src/plugin.py:77
-msgid "Travel & Events"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputBox.py:175
-#: ../enigma2_master/lib/python/Screens/InputBox.py:175
-msgid "Tries left:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:159
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:159
-msgid "Try to find used Transponders in cable network.. please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:261
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:261
-msgid "Try to find used transponders in cable network.. please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1752
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1750
-msgid "Trying to download a new packetlist. Please wait..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:417
-#: ../enigma2_plugins/mytube/src/plugin.py:476
-msgid "Trying to download the Youtube feed entries. Please wait..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:478
-msgid "Trying to download the Youtube search results. Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Tue"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:164
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:164
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:45
-msgid "Tuesday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:190
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:222
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:428
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:65
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:190
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:222
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:428
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:65
-msgid "Tune"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2215
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2215
-msgid "Tune failed!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:124
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:133
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:510
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:341
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:137
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:124
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:133
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:510
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:341
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:137
-msgid "Tuner"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:528
-#: ../enigma2_master/lib/python/Components/NimManager.py:528
-msgid "Tuner "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:87
-#: ../enigma2_master/lib/python/Screens/ServiceInfo.py:87
-msgid "Tuner status"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:102
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:102
-msgid "Tuner type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:42
-#: ../enigma2_master/lib/python/Components/Language.py:42
-msgid "Turkish"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1181
-#: ../enigma2_master/lib/python/Components/NimManager.py:1181
-msgid "Two"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:272
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:283
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:272
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:283
-msgid "Type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:352
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:355
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:358
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:352
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:355
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:358
-msgid "Type of scan"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:537
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1159
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:537
-#: ../enigma2_master/lib/python/Components/NimManager.py:1159
-msgid "USALS"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:442
-#: ../enigma2_master/lib/python/Components/Harddisk.py:442
-msgid "USB Stick"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:118
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:736
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:118
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:736
-msgid "USB stick wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Language.py:43
-#: ../enigma2_master/lib/python/Components/Language.py:43
-msgid "Ukrainian"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:75
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:75
-msgid ""
-"Unable to complete filesystem check.\n"
-"Error: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:73
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:73
-msgid ""
-"Unable to initialize harddisk.\n"
-"Error: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:328
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:328
-msgid "Uncommitted DiSEqC command"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:668
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:668
-msgid "Undo install"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:666
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:666
-msgid "Undo uninstall"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1077
-#: ../enigma2_master/lib/python/Components/NimManager.py:1077
-msgid "Unicable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1138
-#: ../enigma2_master/lib/python/Components/NimManager.py:1138
-msgid "Unicable LNB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1139
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1196
-#: ../enigma2_master/lib/python/Components/NimManager.py:1139
-#: ../enigma2_master/lib/python/Components/NimManager.py:1196
-msgid "Unicable Martix"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:660
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:660
-msgid "Uninstall"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:224
-#: ../enigma2_plugins/mytube/src/plugin.py:115
-msgid "United States"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1076
-#: ../enigma2_master/lib/python/Components/NimManager.py:1076
-msgid "Universal LNB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:358
-#: ../enigma2_master/lib/python/Components/Network.py:358
-msgid "Unknown network adapter."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerSettings.py:39
-msgid ""
-"Unless this is enabled AutoTimer will NOT automatically look for events "
-"matching your AutoTimers but only when you leave the GUI with the green "
-"button."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Harddisk.py:236
-#: ../enigma2_master/lib/python/Components/Harddisk.py:236
-msgid "Unmount failed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:459
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:469
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:459
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:469
-msgid "Unsupported"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:33
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:686
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:33
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:686
-msgid "Update"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:167
-msgid "Update done..."
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:170
-msgid ""
-"Update done... The genuine dreambox test will now be rerun and should not "
-"ask you to update again."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:638
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:638
-msgid "Updatefeed not available."
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:150
-msgid ""
-"Updating failed. Nothing is broken, just the update couldn't be applied."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:46
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:145
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:46
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:145
-msgid "Updating finished. Here is the result:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:607
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:607
-msgid "Updating software catalog"
-msgstr ""
-
-#: ../enigma2_plugins/genuinedreambox/src/plugin.py:118
-msgid "Updating, please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:52
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:151
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:52
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/OldSoftwareUpdate/plugin.py:151
-msgid "Updating... Please wait... This can take some minutes..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1440
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1818
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1440
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1816
-msgid "Upgrade finished."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ipkg.py:88
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1022
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1379
-#: ../enigma2_master/lib/python/Screens/Ipkg.py:88
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1022
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1379
-msgid "Upgrading"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1338
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1338
-msgid "Upgrading Dreambox... Please wait"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:477
-msgid "Upper bound of timespan."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:468
-msgid ""
-"Upper bound of timespan. Nothing after this time will be matched. Offsets "
-"are not taken into account!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:28
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:319
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:28
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:319
-msgid "Use"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:494
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:494
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Use DHCP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:490
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:490
-msgid "Use Interface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:43
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:337
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:43
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:337
-msgid "Use Power Measurement"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:552
-msgid "Use a custom location"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:499
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:499
-msgid "Use a gateway"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:60
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:60
-msgid "Use the Networkwizard to configure selected network adapter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:858
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:858
-msgid "Use the Networkwizard to configure your Network\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputDeviceSetup.py:252
-#: ../enigma2_master/lib/python/Screens/InputDeviceSetup.py:252
-msgid "Use this input device settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:397
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:397
-msgid "Use this settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:164
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:164
-msgid "Use this video enhancement settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:93
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:93
-msgid "Use time of currently running service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:352
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:352
-msgid "Use usals for this sat"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:163
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:163
-msgid "Used service scan type"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1079
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1140
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1196
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1198
-#: ../enigma2_master/lib/python/Components/NimManager.py:1079
-#: ../enigma2_master/lib/python/Components/NimManager.py:1140
-#: ../enigma2_master/lib/python/Components/NimManager.py:1196
-#: ../enigma2_master/lib/python/Components/NimManager.py:1198
-msgid "User defined"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:75
-msgid "User management"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/UserManager.py:60
-msgid "Usermanager"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/Modem/plugin.py:112
-#: ../enigma2_master/lib/python/Plugins/Extensions/Modem/plugin.py:112
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:195
-#: ../enigma2_plugins/networkbrowser/src/UserDialog.py:128
-msgid "Username"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:173
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:173
-msgid "VMGM (intro trailer)"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:398
-#: ../enigma2_plugins/mytube/src/plugin.py:422
-#: ../enigma2_plugins/mytube/src/plugin.py:464
-msgid ""
-"Verify your Dreambox authenticity by running the genuine dreambox plugin!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Tools/Transponder.py:32
-#: ../enigma2_master/lib/python/Tools/Transponder.py:32
-msgid "Vertical"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:33
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:37
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:33
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:37
-msgid "Video Fine-Tuning"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:38
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:38
-msgid "Video Fine-Tuning Wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:56
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:56
-msgid "Video Output"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:230
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:230
-msgid "Video Setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:233
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:233
-msgid "Video Wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:310
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:310
-msgid "Video enhancement preview"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:392
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:392
-msgid "Video enhancement settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:58
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:58
-msgid "Video enhancement setup"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:428
-msgid "Videobrowser exit behavior:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:397
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:397
-msgid "Videoenhancement Setup"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:427
-msgid "Videoplayer stop/exit behavior:"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:162
-#: ../enigma2_plugins/mytube/src/plugin.py:53
-msgid "View Count"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1003
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1003
-msgid "View Movies..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:622
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:622
-msgid "View Photos..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:1427
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:1427
-msgid "View Rass interactive..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1013
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:1013
-msgid "View Video CD..."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:539
-msgid "View active downloads"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:671
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:671
-msgid "View details"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:876
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:876
-msgid "View list of available "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:860
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:860
-msgid "View list of available CommonInterface extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:870
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:870
-msgid "View list of available Display and Userinterface extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:872
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:872
-msgid "View list of available EPG extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:864
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:864
-msgid "View list of available Satellite equipment extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:874
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:874
-msgid "View list of available communication extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:862
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:862
-msgid "View list of available default settings"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:868
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:868
-msgid "View list of available multimedia extensions."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:858
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:858
-msgid "View list of available networking extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:856
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:856
-msgid "View list of available recording extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:854
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:854
-msgid "View list of available skins"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:866
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:866
-msgid "View list of available software extensions"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:852
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:852
-msgid "View list of available system extensions"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:533
-msgid "View related videos"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:534
-msgid "View response videos"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2128
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2128
-msgid "View teletext..."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:74
-msgid "View, edit or delete mountpoints on your Dreambox."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountManager.py:75
-msgid "View, edit or delete usernames and passwords for your network."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1103
-#: ../enigma2_plugins/mytube/src/plugin.py:1344
-msgid "Views: "
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:302
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:302
-msgid "Voltage mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:971
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:395
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:49
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:482
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:971
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:395
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:49
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:482
-msgid "W"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:431
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:431
-msgid "WEP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:348
-#: ../enigma2_experimental/lib/python/Components/Network.py:350
-#: ../enigma2_experimental/lib/python/Components/Network.py:352
-#: ../enigma2_experimental/lib/python/Components/Network.py:354
-#: ../enigma2_experimental/lib/python/Components/Network.py:356
-#: ../enigma2_master/lib/python/Components/Network.py:348
-#: ../enigma2_master/lib/python/Components/Network.py:350
-#: ../enigma2_master/lib/python/Components/Network.py:352
-#: ../enigma2_master/lib/python/Components/Network.py:354
-#: ../enigma2_master/lib/python/Components/Network.py:356
-msgid "WLAN adapter."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:333
-#: ../enigma2_experimental/lib/python/Components/Network.py:336
-#: ../enigma2_master/lib/python/Components/Network.py:333
-#: ../enigma2_master/lib/python/Components/Network.py:336
-msgid "WLAN connection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:432
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:432
-msgid "WPA"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:434
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:434
-msgid "WPA or WPA2"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:433
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:433
-msgid "WPA2"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:93
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:93
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "WSS on 4:3"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/AC3setup.py:44
-msgid "Wait time in ms before activation:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Task.py:42
-#: ../enigma2_master/lib/python/Components/Task.py:42
-msgid "Waiting"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:76
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py:76
-msgid "Warn if free space drops below (kB):"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/plugin.py:540
-msgid "Webinterface"
-msgstr ""
-
-#: ../enigma2_plugins/webinterface/src/WebIfConfig.py:93
-msgid "Webinterface: Main Setup"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_experimental/lib/python/Components/EpgList.py:38
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:24
-#: ../enigma2_experimental/lib/python/Tools/FuzzyDate.py:13
-#: ../enigma2_master/lib/python/Screens/EpgSelection.py:326
-#: ../enigma2_master/lib/python/Components/EpgList.py:38
-#: ../enigma2_master/lib/python/Components/TimerList.py:24
-#: ../enigma2_master/lib/python/Tools/FuzzyDate.py:13
-msgid "Wed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:165
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:124
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:165
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:46
-msgid "Wednesday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:160
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:160
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:52
-msgid "Weekday"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:51
-msgid "Weekend"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:285
-msgid "Weekly (Monday)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:285
-msgid "Weekly (Sunday)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:207
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:207
-msgid ""
-"Welcome to the Cutlist editor.\n"
-"\n"
-"Seek to the start of the stuff you want to cut away. Press OK, select 'start "
-"cut'.\n"
-"\n"
-"Then seek to the end, press OK, select 'end cut'. That's it."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:272
-msgid ""
-"Welcome to the MyTube Youtube Player.\n"
-"\n"
-"Use the Bouqet+ button to navigate to the search field and the Bouqet- to "
-"navigate to the video entries.\n"
-"\n"
-"To play a movie just press OK on your remote control.\n"
-"\n"
-"Press info to see the movie description.\n"
-"\n"
-"Press the Menu button for additional options.\n"
-"\n"
-"The Help button shows this help again."
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:271
-msgid ""
-"Welcome to the MyTube Youtube Player.\n"
-"\n"
-"While entering your search term(s) you will get suggestions displayed "
-"matching your search term.\n"
-"\n"
-"To select a suggestion press DOWN on your remote, select the desired result "
-"and press OK on your remote to start the search.\n"
-"\n"
-"Press exit to get back to the input field."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1163
-#: ../enigma2_master/lib/python/Components/NimManager.py:1163
-msgid "West"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:120
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:120
-msgid "What to do with submitted crashlogs?"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:481
-msgid ""
-"When this option is enabled the AutoTimer won't match events where another "
-"timer with the same description already exists in the timer list."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/FactoryReset.py:5
-#: ../enigma2_master/lib/python/Screens/FactoryReset.py:5
-msgid ""
-"When you do a factory reset, you will lose ALL your configuration data\n"
-"(including bouquets, services, satellite data ...)\n"
-"After completion of factory reset, your receiver will restart "
-"automatically!\n"
-"\n"
-"Really do a factory reset?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:522
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:522
-msgid "Where to save temporary timeshift recordings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:466
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:466
-msgid "Wireless LAN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1326
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1326
-msgid "Wireless Network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:116
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:116
-msgid "Wireless Network State"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:465
-msgid ""
-"With this option enabled the channel to record on can be changed to a "
-"alternative service it is restricted to."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:478
-msgid ""
-"With this option you can restrict the AutoTimer to a certain ammount of "
-"scheduled recordings. Set this to 0 to disable this functionality."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:28
-msgid "Wizard"
-msgstr ""
-
-#: ../enigma2_experimental/RecordTimer.py:376
-#: ../enigma2_master/RecordTimer.py:376
-msgid "Write error while recording. Disk full?\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:295
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:295
-msgid "Write failed!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:75
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:75
-msgid "YPbPr"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:131
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:131
-msgid "Year"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:25
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:27
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:168
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:173
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:276
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:272
-#: ../enigma2_master/lib/python/Screens/Ci.py:25
-#: ../enigma2_master/lib/python/Screens/Ci.py:27
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:168
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:173
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:276
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:561
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:717
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:272
-#: ../enigma2_plugins/mytube/src/MyTubeSearch.py:175
-#: ../enigma2_plugins/mytube/src/plugin.py:66
-#: ../enigma2_plugins/mytube/src/plugin.py:619
-#: ../enigma2_plugins/mytube/src/plugin.py:625
-#: ../enigma2_plugins/mytube/src/plugin.py:1743 ../enigma2_experimental/data/
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/data/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_plugins/autotimer/src/
-msgid "Yes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:401
-msgid "Yes to all"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:51
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:51
-msgid "Yes, always"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:175
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:175
-msgid "Yes, and delete this movie"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:277
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:277
-msgid "Yes, and don't ask again"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1745
-msgid "Yes, but play next video"
-msgstr ""
-
-#: ../enigma2_plugins/mytube/src/plugin.py:1746
-msgid "Yes, but play previous video"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:174
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:174
-msgid "Yes, returning to movie list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1105
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1105
-msgid "You can cancel the installation."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1107
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1107
-msgid "You can cancel the removal."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1103
-msgid "You can install this plugin."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:215
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:215
-msgid "You can only burn Dreambox recordings!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1101
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1101
-msgid "You can remove this plugin."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:211
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:130
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:710
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:211
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:130
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:710
-msgid "You cannot delete this!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:282
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:282
-msgid "You didn't select a channel to record from."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:653
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:241
-#, python-format
-msgid ""
-"You entered \"%s\" as Text to match.\n"
-"Do you want to remove trailing whitespaces?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:715
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:715
-msgid ""
-"You have chosen to create a new .NFI flasher bootable USB stick. This will "
-"repartition the USB stick and therefore all data on it will be erased."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputBox.py:104
-#: ../enigma2_master/lib/python/Screens/InputBox.py:104
-#, python-format
-msgid "You have to wait %s!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:257
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:257
-msgid ""
-"Your Dreambox is now ready to use.\n"
-"\n"
-"Your internet connection is working now.\n"
-"\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:705
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:705
-msgid "Your Dreambox will restart after pressing OK on your remote control."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:325
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:325
-msgid ""
-"Your collection exceeds the size of a single layer medium, you will need a "
-"blank dual layer DVD!"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:87
-#, python-format
-msgid ""
-"Your config file is not well-formed:\n"
-"%s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:239
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:376
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:239
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:376
-msgid "Your current collection will get lost!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1429
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1429
-msgid ""
-"Your dreambox isn't connected to the internet properly. Please check it and "
-"try again."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:122
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:122
-msgid "Your email address:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:34
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py:34
-msgid ""
-"Your frontprocessor firmware must be upgraded.\n"
-"Press OK to start upgrade."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:123
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:123
-msgid "Your name (optional):"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:632
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:634
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:632
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:634
-msgid "Your network configuration has been activated."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:339
-msgid "Your network mount has been activated."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountView.py:128
-msgid "Your network mount has been removed."
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:301
-msgid "Your network mount has been updated."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceStopScreen.py:33
-#: ../enigma2_master/lib/python/Screens/ServiceStopScreen.py:33
-msgid "Zap back to previously tuned service?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:158
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py:158
-msgid "Zap back to service before positioner setup?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:217
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py:217
-msgid "Zap back to service before satfinder?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:406
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:442
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:463
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:406
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:442
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:463
-msgid "Zap back to service before tuner setup?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/Network.py:350
-#: ../enigma2_master/lib/python/Components/Network.py:350
-msgid "Zydas"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:565
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:565
-msgid "[alternative edit]"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:569
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:569
-msgid "[bouquet edit]"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:571
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:571
-msgid "[favourite edit]"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:663
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:663
-msgid "[move mode]"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:645
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:645
-msgid "a gui to assign services/providers to common interface modules"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:641
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:641
-msgid "a gui to assign services/providers/caids to common interface modules"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:171
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:171
-msgid "abort alternatives edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:165
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:165
-msgid "abort bouquet edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:168
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:168
-msgid "abort favourites edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:55
-#: ../enigma2_master/lib/python/Components/TimerList.py:55
-msgid "about to start"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:249
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:249
-msgid "activate current configuration"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:338
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:338
-msgid "activate network adapter configuration"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/plugin.py:164
-#: ../enigma2_plugins/autotimer/src/plugin.py:165
-msgid "add AutoTimer..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:122
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:122
-msgid "add Provider"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:121
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:121
-msgid "add Service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:255
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:255
-msgid "add a nameserver entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:158
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:158
-msgid "add alternatives"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:408
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:408
-msgid "add bookmark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:140
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:140
-msgid "add bouquet"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:493
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:493
-msgid "add directory to playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:154
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:154
-msgid "add file to playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:495
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:495
-msgid "add files to playlist"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:427
-msgid "add filters"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:148
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:148
-msgid "add marker"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1652
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1662
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1652
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1662
-msgid "add recording (enter recording duration)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1653
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1663
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1653
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1663
-msgid "add recording (enter recording endtime)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1651
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1661
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1651
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1661
-msgid "add recording (indefinitely)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1650
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1660
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1650
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1660
-msgid "add recording (stop after current event)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:120
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:120
-msgid "add service to bouquet"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:123
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:123
-msgid "add service to favourites"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:433
-msgid "add services"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:110
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:110
-msgid "add to parental protection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:63
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:543
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1434
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:63
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:543
-#: ../enigma2_master/lib/python/Components/NimManager.py:1434
-msgid "advanced"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:75
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:75
-msgid "alphabetic sort"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:124
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:124
-msgid "assigned CAIds:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:126
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:126
-msgid "assigned Services/Provider:"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:87
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:87
-#, python-format
-msgid "audio track (%s) format"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:88
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:88
-#, python-format
-msgid "audio track (%s) language"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:52
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:52
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-msgid "audio tracks"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:241
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:29
-msgid "auto"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:142
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:150
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:142
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:150
-msgid "available"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:173
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:56
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:173
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:56
-msgid "back"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:160
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:160
-msgid "background image"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:183
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:183
-msgid "backgroundcolor"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:23
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:23
-msgid "better"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-msgid "black"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:33
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:33
-msgid "blacklist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-msgid "blue"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:85
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:85
-#, python-format
-msgid "burn audio track (%s)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:181
-msgid "case-insensitive search"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:181
-msgid "case-sensitive search"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1654
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1654
-msgid "change recording (duration)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1655
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1655
-msgid "change recording (endtime)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:101
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:101
-msgid "chapters"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:577
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:577
-msgid "circular left"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:578
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:578
-msgid "circular right"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:171
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:501
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:171
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:501
-msgid "clear playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:28
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:28
-msgid "complex"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1395
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1409
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1395
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1409
-msgid "confirmed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1384
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1440
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:295
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1384
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1440
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:295
-msgid "connected"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:756
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:504
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:756
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py:504
-msgid "continue"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:129
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:129
-msgid "copy to bouquets"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:141
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:141
-msgid "could not be removed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:412
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:412
-msgid "create directory"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:103
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NFIFlash/flasher.py:103
-#, python-format
-msgid "currently installed image: %s"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:109
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:109
-msgid "daily"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-msgid "day"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:813
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:1016
-msgid "delete"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:69
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:71
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:69
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:71
-msgid "delete cut"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:498
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:498
-msgid "delete file"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:170
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:170
-msgid "delete playlist entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:509
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:509
-msgid "delete saved playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:69
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:69
-msgid "delete..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1207
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1207
-msgid "description"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/config.py:449
-#: ../enigma2_master/lib/python/Components/config.py:449
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:128
-msgid "disable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:160
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:160
-msgid "disable move mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1213
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1501
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:69
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1213
-#: ../enigma2_master/lib/python/Components/NimManager.py:1501
-#: ../enigma2_master/lib/python/Components/TimerList.py:69
-msgid "disabled"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1369
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1388
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1435
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1369
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1388
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1435
-msgid "disconnected"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:28
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:28
-msgid "do not change"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1656
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:51
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1656
-#: ../enigma2_master/lib/python/Screens/TaskView.py:51
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:238
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:26
-msgid "do nothing"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1664
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1664
-msgid "don't record"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:62
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:66
-#: ../enigma2_master/lib/python/Components/TimerList.py:62
-#: ../enigma2_master/lib/python/Components/TimerList.py:66
-msgid "done!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:154
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:154
-msgid "edit alternatives"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:425
-msgid "edit filters"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:431
-msgid "edit services"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:576
-#: ../enigma2_master/lib/python/Components/NimManager.py:576
-msgid "empty"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/config.py:449
-#: ../enigma2_master/lib/python/Components/config.py:449
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:128
-msgid "enable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:150
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:150
-msgid "enable bouquet edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:152
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:152
-msgid "enable favourite edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:146
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:146
-msgid "enable move mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1209
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:548
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1448
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1488
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1209
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:548
-#: ../enigma2_master/lib/python/Components/NimManager.py:1448
-#: ../enigma2_master/lib/python/Components/NimManager.py:1488
-msgid "enabled"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:170
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:170
-msgid "end alternatives edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:164
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:164
-msgid "end bouquet edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:64
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:66
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:64
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:66
-msgid "end cut here"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:167
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:167
-msgid "end favourites edit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:463
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:319
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:368
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:294
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:340
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:365
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:463
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:319
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:368
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:294
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:340
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:365
-msgid "enter hidden network SSID"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:68
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:508
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1436
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:68
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:508
-#: ../enigma2_master/lib/python/Components/NimManager.py:1436
-msgid "equal to"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:180
-msgid "exact match"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:346
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:346
-msgid "exit DVD player or return to file browser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:155
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:155
-msgid "exit mediaplayer"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:237
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:237
-msgid "exit movielist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:248
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:254
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:248
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:254
-msgid "exit nameserver configuration"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:337
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:343
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:337
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:343
-msgid "exit network adapter configuration"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:52
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:58
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:52
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:58
-msgid "exit network interface list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:718
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:724
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:718
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:724
-msgid "exit networkadapter setup menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:628
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:628
-msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:237
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:237
-msgid "filename"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:37
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/VideoTune/plugin.py:37
-msgid "fine-tune your display"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:342
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:342
-msgid "forward to the next chapter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:322
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:332
-msgid "free"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/DiskInfo.py:30
-#: ../enigma2_master/lib/python/Components/DiskInfo.py:30
-msgid "free diskspace"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:48
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:99
-#: ../enigma2_master/lib/python/Screens/TaskView.py:48
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:99
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:240
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:27
-msgid "go to deep standby"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:51
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_master/lib/python/Screens/TaskView.py:51
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:102
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:239
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:28
-msgid "go to standby"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:83
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:83
-msgid "grab this frame as bitmap"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-msgid "green"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:63
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:63
-msgid "hear radio..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:85
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:85
-msgid "hide extended description"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:505
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:505
-msgid "hide player"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:575
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:575
-msgid "horizontal"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:25
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:25
-msgid "hour"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:25
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:26
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:25
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:26
-msgid "hours"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:54
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:59
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:54
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:59
-msgid "immediate shutdown"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:796
-msgid "in Description"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:795
-msgid "in Shortdescription"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:794
-msgid "in Title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:327
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:351
-#: ../enigma2_master/lib/python/Screens/Ci.py:327
-#: ../enigma2_master/lib/python/Screens/Ci.py:351
-msgid "init module"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:57
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:57
-msgid "init modules"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:79
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:79
-msgid "insert mark here"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:345
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:345
-msgid "jump back to the previous title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:344
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:344
-msgid "jump forward to the next title"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:166
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:166
-msgid "jump to listbegin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:167
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:167
-msgid "jump to listend"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1883
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1883
-msgid "jump to next marked position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1882
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1882
-msgid "jump to previous marked position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:141
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:141
-msgid "leave movie player..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:80
-msgid "left"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-msgid "length"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:490
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:490
-msgid "list of EPG views..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:80
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:80
-msgid "list style compact"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:79
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:79
-msgid "list style compact with description"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:78
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:78
-msgid "list style default"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:81
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:81
-msgid "list style single line"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:506
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:506
-msgid "load playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TunerInfo.py:77
-#: ../enigma2_master/lib/python/Components/TunerInfo.py:77
-msgid "locked"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:72
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:507
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1439
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:72
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:507
-#: ../enigma2_master/lib/python/Components/NimManager.py:1439
-msgid "loopthrough to"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:539
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1159
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:539
-#: ../enigma2_master/lib/python/Components/NimManager.py:1159
-msgid "manual"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:147
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:223
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:181
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:71
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:165
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:147
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:223
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:181
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/TitleList.py:71
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:165
-msgid "menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:860
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:860
-msgid "menulist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:39
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:41
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:47
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:49
-#: ../enigma2_master/lib/python/Components/TimerList.py:39
-#: ../enigma2_master/lib/python/Components/TimerList.py:41
-#: ../enigma2_master/lib/python/Components/TimerList.py:47
-#: ../enigma2_master/lib/python/Components/TimerList.py:49
-#: ../enigma2_plugins/autotimer/src/AutoTimerPreview.py:52
-msgid "mins"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:23
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:23
-msgid "minute"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputBox.py:104
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:44
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:23
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:24
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:25
-#: ../enigma2_master/lib/python/Screens/InputBox.py:104
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:44
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:23
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:24
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:25
-msgid "minutes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
-msgid "month"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:32
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:32
-msgid "move PiP to main picture"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:713
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:713
-msgid "move down to last entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:711
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:711
-msgid "move down to next entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:712
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:712
-msgid "move up to first entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:710
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:710
-msgid "move up to previous entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1138
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1139
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1140
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1138
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1139
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1140
-msgid "movie list"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/AVSwitch.py:112
-#: ../enigma2_master/lib/python/Components/AVSwitch.py:112
-msgid "multinorm"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:30
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:30
-msgid "never"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:299
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:299
-msgid "next channel"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:301
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:301
-msgid "next channel in history"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MessageBox.py:44
-#: ../enigma2_experimental/lib/python/Screens/MessageBox.py:46
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:923
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:92
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:114
-#: ../enigma2_experimental/lib/python/Components/config.py:439
-#: ../enigma2_master/lib/python/Screens/MessageBox.py:44
-#: ../enigma2_master/lib/python/Screens/MessageBox.py:46
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:923
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:92
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:114
-#: ../enigma2_master/lib/python/Components/config.py:439
-msgid "no"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:231
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:234
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:231
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:234
-msgid "no CAId selected"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:62
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:62
-msgid "no CI slots found"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/HarddiskSetup.py:100
-#: ../enigma2_master/lib/python/Screens/HarddiskSetup.py:100
-msgid "no HDD found"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:189
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:189
-msgid "no Services/Providers selected"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:325
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:349
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:55
-#: ../enigma2_master/lib/python/Screens/Ci.py:325
-#: ../enigma2_master/lib/python/Screens/Ci.py:349
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:55
-msgid "no module found"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:22
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:22
-msgid "no standby"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:15
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:15
-msgid "no timeout"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/About.py:40
-#: ../enigma2_master/lib/python/Screens/About.py:40
-msgid "none"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:61
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:512
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:61
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:512
-msgid "not configured"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TunerInfo.py:79
-#: ../enigma2_master/lib/python/Components/TunerInfo.py:79
-msgid "not locked"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:587
-#: ../enigma2_master/lib/python/Components/NimManager.py:587
-msgid "not supported"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1219
-#: ../enigma2_master/lib/python/Components/NimManager.py:1219
-msgid "not used"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:546
-#: ../enigma2_experimental/lib/python/Components/FileList.py:200
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1161
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1433
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1449
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1489
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:546
-#: ../enigma2_master/lib/python/Components/FileList.py:200
-#: ../enigma2_master/lib/python/Components/NimManager.py:1161
-#: ../enigma2_master/lib/python/Components/NimManager.py:1433
-#: ../enigma2_master/lib/python/Components/NimManager.py:1449
-#: ../enigma2_master/lib/python/Components/NimManager.py:1489
-msgid "nothing connected"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:140
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:140
-msgid "of a DUAL layer medium used."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:143
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:143
-msgid "of a SINGLE layer medium used."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:570
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:605
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:612
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:635
-#: ../enigma2_experimental/lib/python/Components/config.py:444
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:28
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:570
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:605
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:612
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:635
-#: ../enigma2_master/lib/python/Components/config.py:444
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:28
-msgid "off"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:571
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:606
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:613
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:636
-#: ../enigma2_experimental/lib/python/Components/config.py:444
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:28
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:571
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:606
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:613
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:636
-#: ../enigma2_master/lib/python/Components/config.py:444
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:28
-msgid "on"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:146
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/DVDToolbox.py:146
-msgid "on READ ONLY medium."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:797
-msgid "on Weekday"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:103
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:103
-msgid "once"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:344
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:344
-msgid "open nameserver configuration"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:302
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:302
-msgid "open servicelist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:297
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:297
-msgid "open servicelist(down)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:296
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:296
-msgid "open servicelist(up)"
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:180
-msgid "partial match"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:137
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:137
-msgid "pass"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:755
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:161
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:755
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:161
-msgid "pause"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:160
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:160
-msgid "play entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:164
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:164
-msgid "play from next mark or playlist entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:163
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:163
-msgid "play from previous mark or playlist entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:93
-#: ../enigma2_master/lib/python/Screens/Ci.py:93
-msgid "please press OK when ready"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/Process.py:462
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:473
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/Process.py:462
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:473
-msgid "please wait, loading picture..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:298
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:298
-msgid "previous channel"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:300
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:300
-msgid "previous channel in history"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:97
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:97
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:187
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:182
-msgid "record"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:60
-#: ../enigma2_master/lib/python/Components/TimerList.py:60
-msgid "recording..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-msgid "red"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:256
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:256
-msgid "remove a nameserver entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:74
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:74
-msgid "remove after this position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:156
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:156
-msgid "remove all alternatives"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:131
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:131
-msgid "remove all new found flags"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:73
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:73
-msgid "remove before this position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:418
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:418
-msgid "remove bookmark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:413
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:413
-msgid "remove directory"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:133
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:141
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:133
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:141
-msgid "remove entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:112
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:112
-msgid "remove from parental protection"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:135
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:135
-msgid "remove new found flag"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:126
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:126
-msgid "remove selected satellite"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:81
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:81
-msgid "remove this mark"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:92
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:92
-msgid "repeat playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:103
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:103
-msgid "repeated"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:343
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:343
-msgid "rewind to the previous chapter"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:80
-msgid "right"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:94
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:94
-msgid "save last directory on exit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:508
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:508
-msgid "save playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:93
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:93
-msgid "save playlist on exit"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:96
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:98
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:96
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:98
-msgid "scan done!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ServiceScan.py:33
-#: ../enigma2_master/lib/python/Components/ServiceScan.py:33
-#, python-format
-msgid "scan in progress - %d%% done!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ServiceScan.py:48
-#: ../enigma2_master/lib/python/Screens/ServiceScan.py:48
-msgid "scan state"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:15
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:15
-msgid "second"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:70
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:509
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1437
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:70
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:509
-#: ../enigma2_master/lib/python/Components/NimManager.py:1437
-msgid "second cable of motorized LNB"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InputBox.py:104
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:15
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:16
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:17
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:22
-#: ../enigma2_master/lib/python/Screens/InputBox.py:104
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:15
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:16
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:17
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:22
-msgid "seconds"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:127
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:127
-msgid "select"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:123
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:123
-msgid "select CAId"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:381
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:381
-msgid "select CAId's"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:53
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:59
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:53
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:59
-msgid "select interface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:719
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:719
-msgid "select menu entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:238
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:238
-msgid "select movie"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:217
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:217
-msgid "select the movie path"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:118
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:147
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:118
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:147
-msgid "service PIN"
-msgstr ""
-
-#: ../enigma2_plugins/ac3lipsync/src/plugin.py:36
-msgid "sets the Audio Delay (LipSync)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:120
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:140
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:120
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:140
-msgid "setup PIN"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:340
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:340
-msgid "show DVD main menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:489
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:489
-msgid "show EPG..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:180
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:180
-msgid "show Infoline"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:229
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:229
-msgid "show all"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:155
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:155
-msgid "show alternatives"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:402
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:224
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:178
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:402
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:224
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:178
-msgid "show event details"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:87
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:87
-msgid "show extended description"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:230
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:230
-msgid "show first selected tag"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:231
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:231
-msgid "show second selected tag"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:53
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:58
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:53
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:58
-msgid "show shutdown menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:600
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:600
-msgid "show single service EPG..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:232
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:232
-msgid "show tag menu"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:103
-#: ../enigma2_master/lib/python/Screens/ChannelSelection.py:103
-msgid "show transponder info"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:172
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:504
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:172
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:504
-msgid "shuffle playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TaskView.py:50
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:101
-#: ../enigma2_master/lib/python/Screens/TaskView.py:50
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:101
-msgid "shut down"
-msgstr ""
-
-#: ../enigma2_experimental/SleepTimer.py:14 ../enigma2_master/SleepTimer.py:14
-msgid "shutdown"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:62
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:541
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1434
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:23
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:62
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:541
-#: ../enigma2_master/lib/python/Components/NimManager.py:1434
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:23
-msgid "simple"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:760
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:760
-msgid "skip backward"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:761
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:761
-msgid "skip backward (enter time)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:758
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:758
-msgid "skip forward"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:759
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:759
-msgid "skip forward (enter time)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:182
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:182
-msgid "slide picture in loop"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:73
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:73
-msgid "sort by date"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ParentalControlSetup.py:249
-#: ../enigma2_master/lib/python/Screens/ParentalControlSetup.py:249
-msgid "special characters"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:12
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:31
-#: ../enigma2_master/lib/python/Components/RecordingConfig.py:12
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:31
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:238
-msgid "standard"
-msgstr ""
-
-#: ../enigma2_experimental/SleepTimer.py:14 ../enigma2_master/SleepTimer.py:14
-msgid "standby"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:59
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/CutListEditor/plugin.py:61
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:59
-#: ../enigma2_master/lib/python/Plugins/Extensions/CutListEditor/plugin.py:61
-msgid "start cut here"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/settings.py:96
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/settings.py:96
-msgid "start directory"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1175
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1175
-msgid "start timeshift"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
-#: ../enigma2_master/lib/python/Screens/AudioSelection.py:80
-msgid "stereo"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:32
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:32
-msgid "stop PiP"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:162
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:162
-msgid "stop entry"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1649
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1649
-msgid "stop recording"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1176
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1176
-msgid "stop timeshift"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/UsageConfig.py:31
-#: ../enigma2_master/lib/python/Components/UsageConfig.py:31
-msgid "swap PiP and main picture"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:141
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:407
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:141
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:407
-msgid "switch to bookmarks"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:142
-#: ../enigma2_experimental/lib/python/Screens/LocationBox.py:417
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:169
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:500
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:142
-#: ../enigma2_master/lib/python/Screens/LocationBox.py:417
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:169
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:500
-msgid "switch to filelist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:168
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:496
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:168
-#: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:496
-msgid "switch to playlist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:350
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:350
-msgid "switch to the next angle"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:348
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:348
-msgid "switch to the next audio track"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:349
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:349
-msgid "switch to the next subtitle language"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:156
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:156
-msgid "template file"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:184
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:184
-msgid "textcolor"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:200
-#: ../enigma2_experimental/lib/python/Screens/MovieSelection.py:121
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:200
-#: ../enigma2_master/lib/python/Screens/MovieSelection.py:121
-msgid "this recording"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:111
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:111
-msgid "this service is protected by a parental control pin"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1884
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1884
-msgid "toggle a cut mark at the current position"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:341
-#: ../enigma2_master/lib/python/Plugins/Extensions/DVDPlayer/plugin.py:341
-msgid "toggle time, chapter, audio, subtitle info"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:552
-#: ../enigma2_master/lib/python/Screens/Satconfig.py:552
-msgid "tuner is not supported"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:338
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:346
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:294
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:340
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:338
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py:346
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:294
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:340
-msgid "unavailable"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1399
-#: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1413
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1399
-#: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1413
-msgid "unconfirmed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1199
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1204
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1199
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1204
-msgid "unknown"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/EventView.py:123
-#: ../enigma2_master/lib/python/Screens/EventView.py:123
-msgid "unknown service"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:30
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:29
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:30
-msgid "until standby/restart"
-msgstr ""
-
-#: ../enigma2_plugins/networkbrowser/src/MountEdit.py:186
-msgid "use as HDD replacement"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:109
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:109
-msgid "user defined"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:576
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:576
-msgid "vertical"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1307
-#: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1307
-msgid "view extensions..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/InfoBar.py:62
-#: ../enigma2_master/lib/python/Screens/InfoBar.py:62
-msgid "view recordings..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/Ci.py:32
-#: ../enigma2_master/lib/python/Screens/Ci.py:32
-msgid "wait for ci..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py:21
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py:21
-#: ../enigma2_master/lib/python/Plugins/Extensions/SocketMMI/SocketMMI.py:28
-msgid "wait for mmi..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:53
-#: ../enigma2_master/lib/python/Components/TimerList.py:53
-msgid "waiting"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:149
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/CleanupWizard.py:149
-msgid "was removed successfully"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:109
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:109
-msgid "weekly"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/ParentalControl.py:33
-#: ../enigma2_master/lib/python/Components/ParentalControl.py:33
-msgid "whitelist"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:261
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py:261
-msgid "working"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:28
-#: ../enigma2_master/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:29
-msgid "yellow"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/MessageBox.py:44
-#: ../enigma2_experimental/lib/python/Screens/MessageBox.py:46
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:923
-#: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:90
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:114
-#: ../enigma2_experimental/lib/python/Components/config.py:439
-#: ../enigma2_master/lib/python/Screens/MessageBox.py:44
-#: ../enigma2_master/lib/python/Screens/MessageBox.py:46
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:923
-#: ../enigma2_master/lib/python/Screens/SleepTimerEdit.py:90
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:114
-#: ../enigma2_master/lib/python/Components/config.py:439
-msgid "yes"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:923
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:537
-#: ../enigma2_master/lib/python/Screens/ScanSetup.py:923
-msgid "yes (keep feeds)"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1425
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py:1425
-msgid ""
-"your dreambox might be unusable now. Please consult the manual for further "
-"assistance before rebooting your dreambox."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:97
-#: ../enigma2_master/lib/python/Screens/TimerEntry.py:97
-#: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:187
-#: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:182
-msgid "zap"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Components/TimerList.py:58
-#: ../enigma2_master/lib/python/Components/TimerList.py:58
-msgid "zapped"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#000000"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#0064c7"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#25062748"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#389416"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#80000000"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#80ffffff"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#bab329"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#f23d21"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#ffffff"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "#ffffffff"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "0"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "1"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "12V output"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "2"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "3"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "4"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "5"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "6"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "7"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "8"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "9"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "About"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Action on long powerbutton press"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Action on short powerbutton press"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Activate network settings"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"After the start wizard is completed, you need to protect single services. "
-"Refer to your dreambox's manual on how to do that."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Alpha"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Alternative radio mode"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Alternative services tuner priority"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Audio"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "BER"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "BER:"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Behavior of 'pause' when paused"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Behavior of 0 key in PiP-mode"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Behavior when a movie is started"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Behavior when a movie is stopped"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Behavior when a movie reaches the end"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"By pressing the OK Button on your remote control, the info bar is being "
-"displayed."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "C"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Change bouquets in quickzap"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Channellist menu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Choose Tuner"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Choose bouquet"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Choose your Skin"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Command execution..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Common Interface"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Composition of the recording filenames"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Continue in background"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Custom skip time for '1'/'3'-keys"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Custom skip time for '4'/'6'-keys"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Custom skip time for '7'/'9'-keys"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Customize"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "D"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Default services lists"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Delay"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "DiSEqC"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Dish"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Display Setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Do you want to do a service scan?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Do you want to do another manual service scan?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Do you want to enable the parental control feature on your dreambox?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Do you want to install default sat lists?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Do you want to view a tutorial?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Downloadable plugins"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "EPG Selection"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Enable multiple bouquets"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Enter Fast Forward at speed"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Enter Rewind at speed"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Eventview"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Exit wizard"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Extensions"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Factory reset"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Fast Forward speeds"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Filesystem Check"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Finetune"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Frame repeat count during non-smooth winding"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "General AC3 delay (ms)"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "General PCM delay (ms)"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Harddisk setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Harddisk standby after"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Index"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "InfoBar"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Infobar timeout"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Information"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Initialization"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Input devices"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Installing Software..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Installing default sat lists... Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Installing defaults... Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Installing package content... Please wait..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Job View"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Keyboard"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Keyboard Map"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Keyboard Setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Keymap"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Language"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Limited character set for recording filenames"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Load Length of Movies in Movielist"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Lock:"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "MORE"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Main menu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Mainmenu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Manual Scan"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Margin after record"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Margin before record (minutes)"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "MediaPlayer"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Message"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Message..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Modulator"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Movielist menu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Mute"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "NEXT"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "NOW"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Nameserver Setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Network Configuration..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Network Setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Network setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Network test..."
-msgstr ""
-
-#: ../enigma2_experimental/data/
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/data/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "No, just start my dreambox"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "No, scan later manually"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Now Playing"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "OSD Settings"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Parental control services Editor"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "PiPSetup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Pin code needed"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"Please be aware, that anyone can disable the parental control, if you have "
-"not set a PIN."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Please choose the default services lists you want to install."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Please set up tuner B"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Please set up tuner C"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Please set up tuner D"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Plugin browser"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Plugins"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "RC Menu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "RF output"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Radio"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Reception Settings"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Recording paths"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Recordings always have priority"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Repeat"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Restart"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Restart GUI"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Rewind speeds"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "SNR"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "SNR:"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Sat / Dish Setup"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Seek"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Select HDD"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Select Network Adapter"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Select a movie"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Service"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Service Scan"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Service Searching"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Service scan"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Setup Mode"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show Message when Recording starts"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show blinking clock in display during recording"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show event-progress in channel selection"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show infobar on channel change"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show infobar on event change"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show infobar on skip forward/backward"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Show positioner movement"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Sleep Timer"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Slow Motion speeds"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Sound"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Soundcarrier"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Subservices"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "TV System"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Test mode"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"Thank you for using the wizard. Your box is now ready to use.\n"
-"Please press OK to start using your Dreambox."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "The package doesn't contain anything."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "There are no default services lists in your image."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "There are no default settings in your image."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "This is step number 2."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Time/Date Input"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer Edit"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer Editor"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer entry"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer log"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer sanity error"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timer selection"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timeshift"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Timezone"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Translation"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Translation:"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Tuner Slot"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Tuner configuration"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "UnhandledKey"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Use non-smooth winding at speeds above"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Use power measurement"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"Use the left and right buttons to change an option.\n"
-"\n"
-"Please set up tuner A"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"Use the up/down keys on your remote control to select an option. After that, "
-"press OK."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Use wizard to set up basic features"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "VCR scart"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Virtual KeyBoard"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Volume"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Welcome..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"Welcome.\n"
-"\n"
-"This start wizard will guide you through the basic setup of your Dreambox.\n"
-"Press the OK button on your remote control to move to the next step."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "What do you want to scan?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Yes, do a manual scan now"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Yes, do an automatic scan now"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Yes, do another manual scan now"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "Yes, view the tutorial"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"You can choose some default settings now. Please select the settings you "
-"want to be installed."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "You can choose, what you want to install..."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "You chose not to install any default services lists."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"You chose not to install any default settings. You can however install the "
-"default settings later in the settings menu."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"You chose not to install anything. Please press OK finish the install wizard."
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid ""
-"You need to set a PIN code and hide it from your children.\n"
-"\n"
-"Do you want to set the pin now?"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "config menu"
-msgstr ""
-
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
-msgid "help..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "No picture on TV? Press EXIT and retry."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "Refresh rate selection."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "Select refresh rate"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "Select video input with up/down buttons"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "Select video mode"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid ""
-"The input port should be configured now.\n"
-"You can now configure the screen by displaying some test pictures. Do you "
-"want to do that now?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid ""
-"Video input selection\n"
-"\n"
-"Please press OK if you can see this page on your TV (or select a different "
-"input port).\n"
-"\n"
-"The next input port will be automatically probed in 10 seconds."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/
-msgid "Video mode selection."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Exit the wizard"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Install a new image with a USB stick"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Install a new image with your web browser"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "No backup needed"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "No, do nothing."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "OK, guide me through the upgrade process"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "The backup failed. Please choose a different backup location."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "The wizard is finished now."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"Welcome to the Image upgrade wizard. The wizard will assist you in upgrading "
-"the firmware of your Dreambox by providing a backup facility for your "
-"current settings and a short explanation of how to upgrade your firmware."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Where do you want to backup your settings?"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Yes, backup my settings!"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Yes, perform a shutdown now."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Yes, restore the settings now"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"You have chosen to backup your settings. Please press OK to start the backup "
-"now."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"You have chosen to restore your settings. Enigma2 will restart after "
-"restore. Please press OK to start the restore now."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"You need a PC connected to your dreambox. If you need further instructions, "
-"please visit the website http://www.dm7025.de.\n"
-"Your dreambox will now be halted. After you have performed the update "
-"instructions from the website, your new firmware will ask you to restore "
-"your settings."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid ""
-"Your backup succeeded. We will now continue to explain the further upgrade "
-"process."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/SoftwareManager/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/SoftwareManager/
-msgid "Your dreambox is shutting down. Please stand by..."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Package removal failed.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Package removed successfully.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Please select an extension to remove."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Remove failed."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Removed successfully."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid "Select package"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CleanupWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/CleanupWizard/
-msgid ""
-"Welcome to the cleanup wizard.\n"
-"\n"
-"We have detected that your available internal memory has dropped below 2MB.\n"
-"To ensure stable operation of your Dreambox, the internal memory should be "
-"cleaned up.\n"
-"You can use this wizard to remove some extensions.\n"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Configure interface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Configure nameservers"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Configure your network again"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Please configure or verify your Nameservers by filling out the required "
-"values.\n"
-"When you are ready press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Please configure your internet connection by filling out the required "
-"values.\n"
-"When you are ready press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Please follow the instructions on the TV"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Please select the network interface that you want to use for your internet "
-"connection.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Please select the wireless network that you want to connect to.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Select interface"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid "Select wireless network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Thank you for using the wizard.\n"
-"Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"The wireless LAN plugin is not installed!\n"
-"Please install it and choose what you want to do next."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Welcome.\n"
-"\n"
-"If you want to connect your Dreambox to the Internet, this wizard will guide "
-"you through the basic network setup of your Dreambox.\n"
-"\n"
-"Press OK to start configuring your network"
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Your Dreambox is now ready to use.\n"
-"\n"
-"Your internet connection is working now.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Your internet connection is not working!\n"
-"Please choose what you want to do next."
-msgstr ""
-
-#: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/NetworkWizard/
-#: ../enigma2_master/lib/python/Plugins/SystemPlugins/NetworkWizard/
-msgid ""
-"Your wireless LAN internet connection could not be started!\n"
-"Have you attached your USB WLAN Stick?\n"
-"\n"
-"Please choose what you want to do next."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid "Abort this Wizard."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid "Create a new AutoTimer."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"Filters are another powerful tool when matching events. An AutoTimer can be "
-"restricted to certain Weekdays or only match an event with a text inside eg "
-"it's Description.\n"
-"Press BLUE to add a new restriction and YELLOW to remove the selected one."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"It's possible to restrict an AutoTimer to certain Services or Bouquets or to "
-"deny specific ones.\n"
-"An Event will only match this AutoTimer if it's on a specific and not denied "
-"Service (inside a Bouquet).\n"
-"Press BLUE to add a new restriction and YELLOW to remove the selected one."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid "No, remove them."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"Thank you for using the wizard. Your new AutoTimer has been added to the "
-"List.\n"
-"Please press OK to continue."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"The Timer will not be added to the List.\n"
-"Please press OK to close this Wizard."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"The Timespan of an AutoTimer is the first 'advanced' attribute. If a "
-"timespan is specified an event will only match this AutoTimer if it lies "
-"inside of this timespan."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"Welcome.\n"
-"\n"
-"This Wizard will help you to create a new AutoTimer by providing "
-"descriptions for common settings."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid "Yes, keep them."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"You can set the basic properties of an AutoTimer here.\n"
-"While 'Name' is just a human-readable name displayed in the Overview, 'Match "
-"in title' is what is looked for in the EPG."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"You did not provide a valid 'Match in title' Attribute for your new "
-"AutoTimer.\n"
-"As this is a mandatory Attribute you cannot continue without doing so."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"You successfully configured a new AutoTimer. Do you want to add it to the "
-"list?\n"
-"\n"
-"You can go back a step by pressing EXIT on your remote."
-msgstr ""
-
-#: ../enigma2_plugins/autotimer/src/
-msgid ""
-"Your 'Match in title' Attribute ends with a Whitespace.\n"
-"Please confirm if this was intentional, if not they will be removed."
-msgstr ""
-
-#: ../meta_skins/skin_basic-hd.xml
-msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
-msgstr ""
-
-#: ../meta_skins/skin_basic-hd.xml
-msgid "BASIC-HD Skin by Ismail Demir"
-msgstr ""
-
-#: ../meta_skins/skin_brushedalu-hd.xml
-msgid "A nice looking HD skin in Brushed Alu Design from Kerni."
-msgstr ""
-
-#: ../meta_skins/skin_brushedalu-hd.xml
-msgid "Kerni's BrushedAlu-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_dmm-hd.xml ../meta_skins/skin_dreammm-hd.xml
-#: ../meta_skins/skin_elgato-hd.xml ../meta_skins/skin_ultraviolet.xml
-#: ../meta_skins/skin_yads-hd.xml
-msgid "a HD skin from Kerni"
-msgstr ""
-
-#: ../meta_skins/skin_dmm-hd.xml
-msgid "Kerni's dmm-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_dreammm-hd.xml
-msgid "Kerni's DreamMM-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_dreamtv-hd.xml ../meta_skins/skin_dtv-hd-reloaded.xml
-#: ../meta_skins/skin_dtv-hd.xml
-msgid "A nice looking HD skin from Kerni"
-msgstr ""
-
-#: ../meta_skins/skin_dreamtv-hd.xml
-msgid "Kerni's dreamTV-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_dtv-hd-reloaded.xml
-msgid "Kerni's dTV-HD-Reloaded skin"
-msgstr ""
-
-#: ../meta_skins/skin_dtv-hd.xml
-msgid "Kerni's dTV-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_elgato-hd.xml
-msgid "Kerni's Elgato-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_kerni-hd1.xml
-msgid "Kerni-HD1 skin"
-msgstr ""
-
-#: ../meta_skins/skin_kerni-hd1.xml
-msgid "Kernis HD1 skin"
-msgstr ""
-
-#: ../meta_skins/skin_kerni-hd1r2.xml
-msgid "Kerni-HD1R2 skin"
-msgstr ""
-
-#: ../meta_skins/skin_kerni-hd1r2.xml
-msgid "redesigned Kerni-HD1 skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blackbox.xml
-msgid "Nemesis BlackBox Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blackbox.xml
-msgid "Nemesis BlackBox Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.extended.xml
-msgid "Nemesis Blueline.Extended Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.extended.xml
-msgid "Nemesis Blueline.Extended Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.single.xml
-msgid "Nemesis Blueline Single Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.single.xml
-msgid "Nemesis Blueline Single Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.xml
-msgid "Nemesis Blueline Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.blueline.xml
-msgid "Nemesis Blueline Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.chromeline.cobolt.xml
-msgid "Nemesis ChromeLine Cobolt Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.chromeline.cobolt.xml
-msgid "Nemesis ChromeLine Cobolt Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.chromeline.xml
-msgid "Nemesis ChromeLine Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.chromeline.xml
-msgid "Nemesis ChromeLine Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.flatline.blue.xml
-msgid "Nemesis Flatline Blue Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.flatline.blue.xml
-msgid "Nemesis Flatline Blue Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.flatline.xml
-msgid "Nemesis Flatline Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.flatline.xml
-msgid "Nemesis Flatline Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.glassline.xml
-msgid "Nemesis GlassLine Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.glassline.xml
-msgid "Nemesis GlassLine Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.extended.xml
-msgid "Nemesis Greenline Extended Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.extended.xml
-msgid "Nemesis Greenline Extended Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.single.xml
-msgid "Nemesis Greenline Single Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.single.xml
-msgid "Nemesis Greenline Single Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.xml
-msgid "Nemesis Greenline Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greenline.xml
-msgid "Nemesis Greenline Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.extended.xml
-msgid "Nemesis Greyline Extended Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.extended.xml
-msgid "Nemesis Greyline Extended Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.single.xml
-msgid "Nemesis Greyline Single Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.single.xml
-msgid "Nemesis Greyline Single Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.xml
-msgid "Nemesis Greyline Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.greyline.xml
-msgid "Nemesis Greyline Skin"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.shadowline.xml
-msgid "Nemesis ShadowLine Skin for the Dreambox"
-msgstr ""
-
-#: ../meta_skins/skin_nemesis.shadowline.xml
-msgid "Nemesis ShadowLine Skin"
-msgstr ""
-
-#: ../meta_skins/skin_simple.xml ../meta_skins/skin_swain-hd.xml
-#: ../meta_skins/skin_swain.xml
-msgid "A nice looking skin from Kerni"
-msgstr ""
-
-#: ../meta_skins/skin_simple.xml
-msgid "Kerni's simple skin"
-msgstr ""
-
-#: ../meta_skins/skin_swain-hd.xml
-msgid "Kerni's SWAIN-HD skin"
-msgstr ""
-
-#: ../meta_skins/skin_swain.xml
-msgid "Kerni's SWAIN skin"
-msgstr ""
-
-#: ../meta_skins/skin_ultraviolet.xml
-msgid "Kerni's UltraViolet skin"
-msgstr ""
-
-#: ../meta_skins/skin_vali-xd.xml
-msgid "Vali-XD skin"
-msgstr ""
-
-#: ../meta_skins/skin_vali-xd.xml
-msgid "The skin is in KingSize-definition 1024x576"
-msgstr ""
-
-#: ../meta_skins/skin_vali.hd.nano.xml
-msgid "Vali.HD.nano skin"
-msgstr ""
-
-#: ../meta_skins/skin_vali.hd.nano.xml
-msgid "A BackToTheRoots-Skin .. or good old times."
-msgstr ""
-
-#: ../meta_skins/skin_vali.hd.nano.xml
-msgid "A BackToTheRoots-Skin ... or good old times."
-msgstr ""
-
-#: ../meta_skins/skin_yads-hd.xml
-msgid "Kerni's YADS-HD skin"
-msgstr ""
-
-#: ../meta_plugins/plugin_aihdcontrol.xml
-msgid "First generate your skin-style with the Ai.HD-Control plugin."
-msgstr ""
-
-#: ../meta_plugins/plugin_aihdcontrol.xml
-msgid "Ai.HD skin-style control plugin"
-msgstr ""
-
-#: ../meta_plugins/plugin_antiscrollbar.xml
-msgid ""
-"With AntiScrollbar you can cover up annoying ticker lines (e.g. in news "
-"channels)."
-msgstr ""
-
-#: ../meta_plugins/plugin_antiscrollbar.xml
-msgid "Overlay for scrolling bars"
-msgstr ""
-
-#: ../meta_plugins/plugin_ardmediathek.xml
-msgid "Access to the ARD-Mediathek online video database."
-msgstr ""
-
-#: ../meta_plugins/plugin_ardmediathek.xml
-msgid "Access to the ARD-Mediathek"
-msgstr ""
-
-#: ../meta_plugins/plugin_audiosync.xml
-msgid ""
-"AudoSync allows delaying the sound output (Bitstream/PCM) so that it is "
-"synchronous to the picture."
-msgstr ""
-
-#: ../meta_plugins/plugin_audiosync.xml
-msgid "Set Bitstream/PCM audio delays"
-msgstr ""
-
-#: ../meta_plugins/plugin_automatictimerlistcleanup.xml
-msgid "Cleanup timerlist automatically."
-msgstr ""
-
-#: ../meta_plugins/plugin_automatictimerlistcleanup.xml
-msgid "Cleanup timerlist automatically"
-msgstr ""
-
-#: ../meta_plugins/plugin_automaticvolumeadjustment.xml
-msgid "Automatic volume adjustment"
-msgstr ""
-
-#: ../meta_plugins/plugin_automaticvolumeadjustment.xml
-msgid "Automatic volume adjustment for ac3/dts services."
-msgstr ""
-
-#: ../meta_plugins/plugin_autoresolution.xml
-msgid "Automatically change video resolution"
-msgstr ""
-
-#: ../meta_plugins/plugin_autoresolution.xml
-msgid ""
-"Automatically changes the output resolution depending on the video "
-"resolution you are watching."
-msgstr ""
-
-#: ../meta_plugins/plugin_autotimer.xml
-msgid ""
-"AutoTimer scans the EPG and creates Timers depending on user-defined search  "
-"criteria."
-msgstr ""
-
-#: ../meta_plugins/plugin_autotimer.xml
-msgid "Automatically create timer events based on keywords"
-msgstr ""
-
-#: ../meta_plugins/plugin_babelzapper.xml
-msgid "Control your dreambox with only the MUTE button"
-msgstr ""
-
-#: ../meta_plugins/plugin_babelzapper.xml
-msgid "Control your dreambox with only the MUTE button."
-msgstr ""
-
-#: ../meta_plugins/plugin_bitrateviewer.xml
-msgid "Shows average bitrate of video and audio"
-msgstr ""
-
-#: ../meta_plugins/plugin_bonjour.xml
-msgid "Bonjour/Avahi control plugin."
-msgstr ""
-
-#: ../meta_plugins/plugin_bonjour.xml
-msgid "Bonjour/Avahi control plugin"
-msgstr ""
-
-#: ../meta_plugins/plugin_cdinfo.xml
-msgid ""
-"CDInfo enables gathering album and track details from CDDB and CD-Text when "
-"playing Audio CDs in Mediaplayer."
-msgstr ""
-
-#: ../meta_plugins/plugin_cdinfo.xml
-msgid "Get AudioCD info from CDDB and CD-Text"
-msgstr ""
-
-#: ../meta_plugins/plugin_dreamirc.xml
-msgid "IRC Client for Enigma2"
-msgstr ""
-
-#: ../meta_plugins/plugin_dreamirc.xml
-msgid "Simple IRC GroupChat client for e2 #dm8000-vip channel"
-msgstr ""
-
-#: ../meta_plugins/plugin_dvdbackup.xml
-msgid "Create a backup of your Video-DVD"
-msgstr ""
-
-#: ../meta_plugins/plugin_dvdbackup.xml
-msgid "Create a backup of your Video DVD on your DreamBox hard drive."
-msgstr ""
-
-#: ../meta_plugins/plugin_dyndns.xml
-msgid "A client for www.dyndns.org"
-msgstr ""
-
-#: ../meta_plugins/plugin_eibox.xml
-msgid "Visualization for the European Installation Bus"
-msgstr ""
-
-#: ../meta_plugins/plugin_eibox.xml
-msgid ""
-"Visualize and control your lights, dimmers, blinds, thermostats etc. through "
-"EIB/KNX. (linknx server required)"
-msgstr ""
-
-#: ../meta_plugins/plugin_elektro.xml
-msgid "Sets your Dreambox into Deep-Standby"
-msgstr ""
-
-#: ../meta_plugins/plugin_elektro.xml
-msgid ""
-"The Elektro Power Save plugin puts the box from standby to sleep mode (Deep "
-"Standby) at certain times.\n"
-"This only happens if the box is in standby and no recording is running or "
-"sheduled in the next 20 minutes.\n"
-"The box automatically wakes up for recordings or at the end of the sleep "
-"time. You therefore don't have to wait until it is on again."
-msgstr ""
-
-#: ../meta_plugins/plugin_emailclient.xml
-msgid "IMAP4 e-mail viewer for the Dreambox"
-msgstr ""
-
-#: ../meta_plugins/plugin_emailclient.xml
-msgid "Emailclient is an IMAP4 e-mail viewer for the Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_epgrefresh.xml
-msgid ""
-"EPGRefresh will automatically switch to user-defined channels when the box "
-"is idleing\n"
-"(in standby mode without any running recordings) to perform updates of the "
-"epg information on these channels."
-msgstr ""
-
-#: ../meta_plugins/plugin_epgrefresh.xml
-msgid "Automatically refresh EPG"
-msgstr ""
-
-#: ../meta_plugins/plugin_epgsearch.xml
-msgid "Search through the EPG"
-msgstr ""
-
-#: ../meta_plugins/plugin_epgsearch.xml
-msgid "With EPGSearch you can search through the EPG and create timers."
-msgstr ""
-
-#: ../meta_plugins/plugin_filebrowser.xml
-msgid "Manage local files"
-msgstr ""
-
-#: ../meta_plugins/plugin_filebrowser.xml
-msgid "Copy, rename, delete, move local files on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_fritzcall.xml
-msgid "Callmonitor for the Fritz!Box routers"
-msgstr ""
-
-#: ../meta_plugins/plugin_fritzcall.xml
-msgid "FritzCall shows incoming calls to your Fritz!Box on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_ftpbrowser.xml
-msgid "A basic ftp client"
-msgstr ""
-
-#: ../meta_plugins/plugin_ftpbrowser.xml
-msgid ""
-"FTPBrowser allows uploading and downloading files between your Dreambox and "
-"a server using the file transfer protocol."
-msgstr ""
-
-#: ../meta_plugins/plugin_genuinedreambox.xml
-msgid "With Genuine Dreambox you can verify the authenticity of your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_genuinedreambox.xml
-msgid "Genuine Dreambox verification"
-msgstr ""
-
-#: ../meta_plugins/plugin_googlemaps.xml
-msgid "View Google maps"
-msgstr ""
-
-#: ../meta_plugins/plugin_googlemaps.xml
-msgid "View Google maps with your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_growlee.xml
-msgid "redirect notifications to Growl"
-msgstr ""
-
-#: ../meta_plugins/plugin_growlee.xml
-msgid ""
-"Growlee allows your Dreambox to send short messages using the growl "
-"protocol\n"
-"like Recording started notifications to a PC running a growl client"
-msgstr ""
-
-#: ../meta_plugins/plugin_httpproxy.xml
-msgid "use your Dreambox as Web proxy."
-msgstr ""
-
-#: ../meta_plugins/plugin_httpproxy.xml
-msgid "use your Dreambox as Web proxy"
-msgstr ""
-
-#: ../meta_plugins/plugin_imdb.xml
-msgid ""
-"With IMDb you can download and displays movie information (rating, poster, "
-"cast, synopsis etc.) about the selected event."
-msgstr ""
-
-#: ../meta_plugins/plugin_imdb.xml
-msgid "Displays movie information from the InternetMovieDatabase"
-msgstr ""
-
-#: ../meta_plugins/plugin_kiddytimer.xml
-msgid "KiddyTimer allows to control your kids's daily tv usage."
-msgstr ""
-
-#: ../meta_plugins/plugin_kiddytimer.xml
-msgid "Control your kids's tv usage"
-msgstr ""
-
-#: ../meta_plugins/plugin_lastfm.xml
-msgid "Play music from Last.fm."
-msgstr ""
-
-#: ../meta_plugins/plugin_lastfm.xml
-msgid "Play music from Last.fm"
-msgstr ""
-
-#: ../meta_plugins/plugin_letterbox.xml
-msgid "Zoom into letterboxed/anamorph movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_letterbox.xml
-msgid "Zoom into letterboxed/anamorph movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_logomanager.xml
-msgid "Manage logos to display at boottime"
-msgstr ""
-
-#: ../meta_plugins/plugin_logomanager.xml
-msgid "Manage logos to display at boot time or while in radio mode."
-msgstr ""
-
-#: ../meta_plugins/plugin_mediadownloader.xml
-msgid "A simple downloading application for other plugins"
-msgstr ""
-
-#: ../meta_plugins/plugin_mediadownloader.xml
-msgid "To be used as simple downloading application by other Plugins."
-msgstr ""
-
-#: ../meta_plugins/plugin_merlinepg.xml
-msgid "A graphical EPG interface"
-msgstr ""
-
-#: ../meta_plugins/plugin_merlinepg.xml
-msgid "A graphical EPG interface."
-msgstr ""
-
-#: ../meta_plugins/plugin_merlinmusicplayer.xml
-msgid "Merlin Music Player and iDream"
-msgstr ""
-
-#: ../meta_plugins/plugin_merlinmusicplayer.xml
-msgid ""
-"Manage your music files in a database, play it with Merlin Music Player."
-msgstr ""
-
-#: ../meta_plugins/plugin_meteoitalia.xml
-msgid "Italian Weather forecast on Dreambox from www.google.it."
-msgstr ""
-
-#: ../meta_plugins/plugin_meteoitalia.xml
-msgid "Italian Weather forecast on Dreambox"
-msgstr ""
-
-#: ../meta_plugins/plugin_mosaic.xml
-msgid "Preview screenshots of running tv shows."
-msgstr ""
-
-#: ../meta_plugins/plugin_mosaic.xml
-msgid "Preview screenshots of running tv shows"
-msgstr ""
-
-#: ../meta_plugins/plugin_moviecut.xml
-msgid "Cut your movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_moviecut.xml
-msgid "Cut your movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_movielistpreview.xml
-msgid "Create preview pictures of your Movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_movielistpreview.xml
-msgid ""
-"Movielist Preview creates screenshots of recordings and shows them inside "
-"the movielist."
-msgstr ""
-
-#: ../meta_plugins/plugin_movieretitle.xml
-msgid "Rename your movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_movieretitle.xml
-msgid "With MovieRetitle you can rename your movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_movieselectionquickbutton.xml
-msgid "assign color buttons to plugins from MOVIELIST"
-msgstr ""
-
-#: ../meta_plugins/plugin_movieselectionquickbutton.xml
-msgid "assign color buttons (red/green/yellow/blue) to plugins from MOVIELIST."
-msgstr ""
-
-#: ../meta_plugins/plugin_movietagger.xml
-msgid ""
-"MovieTagger adds tags to recorded movies to sort a large list of movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_movietagger.xml
-msgid "add tags to recorded movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_multirc.xml
-msgid "control multiple Dreamboxes with different RCs"
-msgstr ""
-
-#: ../meta_plugins/plugin_multirc.xml
-msgid "Use and control multiple Dreamboxes with different RCs."
-msgstr ""
-
-#: ../meta_plugins/plugin_mytube.xml
-msgid "Direct playback of Youtube videos"
-msgstr ""
-
-#: ../meta_plugins/plugin_mytube.xml
-msgid ""
-"With MyTube you can play YouTube videos directly on your TV without a PC."
-msgstr ""
-
-#: ../meta_plugins/plugin_ncidclient.xml
-msgid ""
-"NCID Client shows incoming voice calls promoted by any NCID server (e.g. "
-"Vodafone Easybox) on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_ncidclient.xml
-msgid "Callmonitor for NCID-based call notification"
-msgstr ""
-
-#: ../meta_plugins/plugin_netcaster.xml
-msgid "Player for Network and Internet Streams"
-msgstr ""
-
-#: ../meta_plugins/plugin_netcaster.xml
-msgid "Player for Network and Internet Streams."
-msgstr ""
-
-#: ../meta_plugins/plugin_networkbrowser.xml
-msgid "Browse for and connect to network shares"
-msgstr ""
-
-#: ../meta_plugins/plugin_networkbrowser.xml
-msgid "Browse for nfs/cifs shares and connect to them."
-msgstr ""
-
-#: ../meta_plugins/plugin_ofdb.xml
-msgid "Movie informations from the Online Film Datenbank"
-msgstr ""
-
-#: ../meta_plugins/plugin_ofdb.xml
-msgid "Movie information from the Online Film Datenbank (German)."
-msgstr ""
-
-#: ../meta_plugins/plugin_orfat.xml
-msgid "Video streaming from the orf.at web page"
-msgstr ""
-
-#: ../meta_plugins/plugin_orfat.xml
-msgid "Streaming modules for the orf.at iptv web page."
-msgstr ""
-
-#: ../meta_plugins/plugin_partnerbox.xml
-msgid "Remote timer and remote TV player"
-msgstr ""
-
-#: ../meta_plugins/plugin_partnerbox.xml
-msgid ""
-"Partnerbox allows editing a remote Dreambox's record timers and stream its "
-"TV  program."
-msgstr ""
-
-#: ../meta_plugins/plugin_passwordchanger.xml
-#: ../meta_plugins/plugin_setpasswd.xml
-msgid "GUI to change the ftp and telnet-password"
-msgstr ""
-
-#: ../meta_plugins/plugin_passwordchanger.xml
-msgid ""
-"GUI that allows user to change the ftp-/telnet-password of the Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_permanentclock.xml
-msgid "PermanentClock shows the clock permanently on the screen."
-msgstr ""
-
-#: ../meta_plugins/plugin_permanentclock.xml
-msgid "Shows the clock permanently on the screen"
-msgstr ""
-
-#: ../meta_plugins/plugin_podcast.xml
-msgid "PodCast streams podcasts to your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_podcast.xml
-msgid "Stream podcasts"
-msgstr ""
-
-#: ../meta_plugins/plugin_porncenter.xml
-msgid "Adult streaming plugin"
-msgstr ""
-
-#: ../meta_plugins/plugin_porncenter.xml
-msgid "Adult streaming plugin."
-msgstr ""
-
-#: ../meta_plugins/plugin_quickbutton.xml
-msgid "assign long key-press on color buttons to plugins or E2 functions"
-msgstr ""
-
-#: ../meta_plugins/plugin_quickbutton.xml
-msgid ""
-"assign long key-press (red/green/yellow/blue) to plugins or E2 functions."
-msgstr ""
-
-#: ../meta_plugins/plugin_reconstructapsc.xml
-msgid "Reconstruct .ap and .sc files"
-msgstr ""
-
-#: ../meta_plugins/plugin_reconstructapsc.xml
-msgid "Reconstruct missing or corrupt .ap and .sc files of recorded movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_remotetimer.xml
-msgid "Create timers on remote Dreamboxes."
-msgstr ""
-
-#: ../meta_plugins/plugin_remotetimer.xml
-msgid "Create remote timers"
-msgstr ""
-
-#: ../meta_plugins/plugin_rsdownloader.xml
-msgid "Allows user to download files from rapidshare in the background."
-msgstr ""
-
-#: ../meta_plugins/plugin_rsdownloader.xml
-msgid "Download files from Rapidshare"
-msgstr ""
-
-#: ../meta_plugins/plugin_seekbar.xml
-msgid "Replace the minute input for the seek functions with a seekbar."
-msgstr ""
-
-#: ../meta_plugins/plugin_seekbar.xml
-msgid "Replace the rewind  input with a seekbar"
-msgstr ""
-
-#: ../meta_plugins/plugin_setpasswd.xml
-msgid "GUI that allows user to change the ftp- / telnet password."
-msgstr ""
-
-#: ../meta_plugins/plugin_shoutcast.xml
-msgid "Listen and record internet radio"
-msgstr ""
-
-#: ../meta_plugins/plugin_shoutcast.xml
-msgid "Listen and record shoutcast internet radio on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_simplerss.xml
-msgid "RSS viewer"
-msgstr ""
-
-#: ../meta_plugins/plugin_simplerss.xml
-msgid "SimpleRSS allows reading RSS newsfeeds on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_startupservice.xml
-msgid "Define a startup service"
-msgstr ""
-
-#: ../meta_plugins/plugin_startupservice.xml
-msgid "Define a startup service for your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_startuptostandby.xml
-msgid "set enigma2 to standby-mode after startup"
-msgstr ""
-
-#: ../meta_plugins/plugin_startuptostandby.xml
-msgid ""
-"After a reboot or power outage, StartupToStandby will bring your Dreambox to "
-"standby-mode."
-msgstr ""
-
-#: ../meta_plugins/plugin_tageditor.xml
-msgid "Edit tags of recorded movies."
-msgstr ""
-
-#: ../meta_plugins/plugin_tageditor.xml
-msgid "Edit tags of recorded movies"
-msgstr ""
-
-#: ../meta_plugins/plugin_trafficinfo.xml
-msgid "TrafficInfo shows german traffic information."
-msgstr ""
-
-#: ../meta_plugins/plugin_trafficinfo.xml
-msgid "German traffic information"
-msgstr ""
-
-#: ../meta_plugins/plugin_unwetterzentrale.xml
-msgid "German storm information"
-msgstr ""
-
-#: ../meta_plugins/plugin_unwetterzentrale.xml
-msgid "UnwetterInfo shows german storm information."
-msgstr ""
-
-#: ../meta_plugins/plugin_virtualzap.xml
-msgid "see service-epg (and PiP) from channels in an infobar"
-msgstr ""
-
-#: ../meta_plugins/plugin_virtualzap.xml
-msgid "See service-epg (and PiP) from other channels in an infobar."
-msgstr ""
-
-#: ../meta_plugins/plugin_vlcplayer.xml
-msgid "Play videos from PC on your Dreambox"
-msgstr ""
-
-#: ../meta_plugins/plugin_vlcplayer.xml
-msgid ""
-"Enigma2 Plugin to play AVI/DIVX/WMV/etc. videos from PC on your Dreambox. "
-"Needs a running VLC from www.videolan.org on your pc."
-msgstr ""
-
-#: ../meta_plugins/plugin_vxdcontrol.xml
-msgid "Customize Vali-XD skins by yourself."
-msgstr ""
-
-#: ../meta_plugins/plugin_vxdcontrol.xml
-msgid "Customize Vali-XD skins"
-msgstr ""
-
-#: ../meta_plugins/plugin_weatherplugin.xml
-msgid "Weatherforecast on your Dreambox"
-msgstr ""
-
-#: ../meta_plugins/plugin_weatherplugin.xml
-msgid "WeatherPlugin shows weatherforecasts on your Dreambox."
-msgstr ""
-
-#: ../meta_plugins/plugin_webcamviewer.xml
-msgid "Show webcam pictures on your TV Screen"
-msgstr ""
-
-#: ../meta_plugins/plugin_webcamviewer.xml
-msgid "With WebcamViewer you can watch webcams on your TV Screen."
-msgstr ""
-
-#: ../meta_plugins/plugin_webinterface.xml
-msgid "Control your Dreambox with your Web browser."
-msgstr ""
-
-#: ../meta_plugins/plugin_webinterface.xml
-msgid "Control your Dreambox with your browser"
-msgstr ""
-
-#: ../meta_plugins/plugin_werbezapper.xml
-msgid "Zap between commercials"
-msgstr ""
-
-#: ../meta_plugins/plugin_werbezapper.xml
-msgid ""
-"With Werbezapper you can bridge commercials by creating short timers\n"
-"(between 1 and 9 minutes long) which will automatically zap back to the "
-"original channel after execution."
-msgstr ""
-
-#: ../meta_plugins/plugin_youtubeplayer.xml
-msgid ""
-"With YouTubePlayer you can watch YouTube-Videos on the Dreambox.\n"
-"This plugin requires a PC with the VLC program running."
-msgstr ""
-
-#: ../meta_plugins/plugin_youtubeplayer.xml
-msgid "Playback of Youtube through a PC"
-msgstr ""
-
-#: ../meta_plugins/plugin_zaphistorybrowser.xml
-msgid ""
-"Shows a list containing the zapping-history and allows user to zap to the "
-"entries or to modify them."
-msgstr ""
-
-#: ../meta_plugins/plugin_zaphistorybrowser.xml
-msgid "Shows a list of recent zap entries"
-msgstr ""
-
-#: ../meta_plugins/plugin_zapstatistic.xml
-msgid "ZapStatistic shows the watched services with some statistics."
-msgstr ""
-
-#: ../meta_plugins/plugin_zapstatistic.xml
-msgid "Shows statistics of watched services"
-msgstr ""
-
-#: ../meta_plugins/plugin_zdfmediathek.xml
-msgid "Watch streams from ZDF Mediathek"
-msgstr ""
-
-#: ../meta_plugins/plugin_zdfmediathek.xml
-msgid "ZDFMediathek allows you to watch streams from ZDF Mediathek."
-msgstr ""
-
-#: ../meta_experimental/plugin_cleanupwizard.xml
-msgid "Automatically informs you on low internal memory"
-msgstr ""
-
-#: ../meta_experimental/plugin_cleanupwizard.xml
-msgid ""
-"The CleanupWizard informs you when the internal free memory of your dreambox "
-"has dropped below a definable threshold.You can use this wizard to remove "
-"some plugins."
-msgstr ""
-
-#: ../meta_experimental/plugin_commoninterfaceassignment.xml
-msgid ""
-"With the CommonInterfaceAssignment plugin it is possible to use differentCI "
-"modules in your Dreambox and assign dedicated providers/services or caids to "
-"each of them.\n"
-"This allows watching a scrambled service while recording another one."
-msgstr ""
-
-#: ../meta_experimental/plugin_commoninterfaceassignment.xml
-msgid "Assigning providers/services/caids to a CI module"
-msgstr ""
-
-#: ../meta_experimental/plugin_crashlogautosubmit.xml
-msgid "Automatically send crashlogs to Dream Multimedia"
-msgstr ""
-
-#: ../meta_experimental/plugin_crashlogautosubmit.xml
-msgid ""
-"With the CrashlogAutoSubmit plugin it is possible to automaticallymail "
-"crashlogs found on your hard drive to Dream Multimedia."
-msgstr ""
-
-#: ../meta_experimental/plugin_cutlisteditor.xml
-msgid "CutListEditor allows you to edit your movies"
-msgstr ""
-
-#: ../meta_experimental/plugin_cutlisteditor.xml
-msgid ""
-"CutListEditor allows you to edit your movies.\n"
-"Seek to the start of the stuff you want to cut away. Press OK, select 'start "
-"cut'.\n"
-"Then seek to the end, press OK, select 'end cut'. That's it."
-msgstr ""
-
-#: ../meta_experimental/plugin_defaultservicesscanner.xml
-msgid ""
-"With the DefaultServicesScanner plugin you can scan default lamedbs sorted "
-"by satellite with a connected dish positioner."
-msgstr ""
-
-#: ../meta_experimental/plugin_defaultservicesscanner.xml
-msgid "Scans default lamedbs sorted by satellite"
-msgstr ""
-
-#: ../meta_experimental/plugin_diseqctester.xml
-msgid "Test your DiSEqC equipment"
-msgstr ""
-
-#: ../meta_experimental/plugin_diseqctester.xml
-msgid ""
-"With the DiseqcTester plugin you can test your satellite equipment for "
-"DiSEqC compatibility and errors."
-msgstr ""
-
-#: ../meta_experimental/plugin_dvdburn.xml
-msgid ""
-"With DVDBurn you can make compilations of records from your Dreambox hard "
-"drive.\n"
-"Optionally you can add customizable menus. You can record the compilation to "
-"a standard-compliant DVD that can be played on conventinal DVD players.\n"
-"HDTV recordings can only be burned in proprietary dreambox format."
-msgstr ""
-
-#: ../meta_experimental/plugin_dvdburn.xml
-msgid "Burn your recordings to DVD"
-msgstr ""
-
-#: ../meta_experimental/plugin_dvdplayer.xml
-msgid ""
-"DVDPlayer plays your DVDs on your Dreambox.\n"
-"With the DVDPlayer you can play your DVDs on your Dreambox from a DVD or "
-"even from an iso file or video_ts folder on your harddisc or network."
-msgstr ""
-
-#: ../meta_experimental/plugin_dvdplayer.xml
-msgid "DVDPlayer plays your DVDs on your Dreambox"
-msgstr ""
-
-#: ../meta_experimental/plugin_frontprocessorupgrade.xml
-msgid "Internal firmware updater"
-msgstr ""
-
-#: ../meta_experimental/plugin_frontprocessorupgrade.xml
-msgid ""
-"This system tool is internally used to program the hardware with firmware "
-"updates."
-msgstr ""
-
-#: ../meta_experimental/plugin_graphmultiepg.xml
-msgid ""
-"GraphMultiEPG shows a graphical timeline EPG.\n"
-"Shows a nice overview of all running und upcoming tv shows."
-msgstr ""
-
-#: ../meta_experimental/plugin_graphmultiepg.xml
-msgid "GraphMultiEPG shows a graphical timeline EPG"
-msgstr ""
-
-#: ../meta_experimental/plugin_hotplug.xml
-msgid "Hotplugging for removeable devices"
-msgstr ""
-
-#: ../meta_experimental/plugin_hotplug.xml
-msgid ""
-"The Hotplug plugin notifies your system of newly added or removed devices."
-msgstr ""
-
-#: ../meta_experimental/plugin_mediaplayer.xml
-msgid "Plays your favorite music and videos"
-msgstr ""
-
-#: ../meta_experimental/plugin_mediaplayer.xml
-msgid ""
-"Mediaplayer plays your favorite music and videos.\n"
-"Play all your favorite music and video files, organize them in playlists, "
-"view cover and album information."
-msgstr ""
-
-#: ../meta_experimental/plugin_mediascanner.xml
-msgid "Scan devices for playable media files"
-msgstr ""
-
-#: ../meta_experimental/plugin_mediascanner.xml
-msgid ""
-"MediaScanner scans devices for playable media files and displays a menu with "
-"possible actions like viewing pictures or playing movies."
-msgstr ""
-
-#: ../meta_experimental/plugin_networkwizard.xml
-msgid "Step by step network configuration"
-msgstr ""
-
-#: ../meta_experimental/plugin_networkwizard.xml
-msgid ""
-"With the NetworkWizard you can easily configure your network step by step."
-msgstr ""
-
-#: ../meta_experimental/plugin_nfiflash.xml
-msgid "Restore your Dreambox with a USB stick"
-msgstr ""
-
-#: ../meta_experimental/plugin_nfiflash.xml
-msgid ""
-"With the NFIFlash plugin it is possible to prepare a USB stick with an "
-"Dreambox image.\n"
-"It is then possible to flash your Dreambox with the image on that stick."
-msgstr ""
-
-#: ../meta_experimental/plugin_pictureplayer.xml
-msgid "Display your photos on the TV"
-msgstr ""
-
-#: ../meta_experimental/plugin_pictureplayer.xml
-msgid ""
-"The PicturePlayer displays your photos on the TV.\n"
-"You can view them as thumbnails or slideshow."
-msgstr ""
-
-#: ../meta_experimental/plugin_positionersetup.xml
-msgid "PositionerSetup helps you installing a motorized dish"
-msgstr ""
-
-#: ../meta_experimental/plugin_positionersetup.xml
-msgid ""
-"With the PositionerSetup plugin it is easy to install and configure a "
-"motorized dish."
-msgstr ""
-
-#: ../meta_experimental/plugin_satelliteequipmentcontrol.xml
-msgid ""
-"With the SatelliteEquipmentControl plugin it is possible to fine-tune DiSEqC-"
-"settings."
-msgstr ""
-
-#: ../meta_experimental/plugin_satelliteequipmentcontrol.xml
-msgid "SatelliteEquipmentControl allows you to fine-tune DiSEqC-settings"
-msgstr ""
-
-#: ../meta_experimental/plugin_satfinder.xml
-msgid ""
-"The Satfinder plugin helps you to align your dish.\n"
-"It shows you informations about signal rate and errors."
-msgstr ""
-
-#: ../meta_experimental/plugin_satfinder.xml
-msgid "Satfinder helps you to align your dish"
-msgstr ""
-
-#: ../meta_experimental/plugin_skinselector.xml
-msgid "SkinSelector shows a menu with selectable skins"
-msgstr ""
-
-#: ../meta_experimental/plugin_skinselector.xml
-msgid ""
-"The SkinSelector shows a menu with selectable skins.\n"
-"It's now easy to change the look and feel of your Dreambox."
-msgstr ""
-
-#: ../meta_experimental/plugin_socketmmi.xml
-msgid "Frontend for /tmp/mmi.socket"
-msgstr ""
-
-#: ../meta_experimental/plugin_socketmmi.xml
-msgid "Python frontend for /tmp/mmi.socket."
-msgstr ""
-
-#: ../meta_experimental/plugin_softwaremanager.xml
-msgid "SoftwareManager manages your Dreambox software"
-msgstr ""
-
-#: ../meta_experimental/plugin_softwaremanager.xml
-msgid ""
-"The SoftwareManager manages your Dreambox software.\n"
-"It's easy to update your receiver's software, install or remove plugins or "
-"even backup and restore your system settings."
-msgstr ""
-
-#: ../meta_experimental/plugin_tempfancontrol.xml
-msgid "Control your system fan"
-msgstr ""
-
-#: ../meta_experimental/plugin_tempfancontrol.xml
-msgid "Control your internal system fan."
-msgstr ""
-
-#: ../meta_experimental/plugin_tuxboxplugins.xml
-msgid "Execute TuxboxPlugins"
-msgstr ""
-
-#: ../meta_experimental/plugin_tuxboxplugins.xml
-msgid "Allows the execution of TuxboxPlugins."
-msgstr ""
-
-#: ../meta_experimental/plugin_videoenhancement.xml
-msgid "VideoEnhancement provides advanced video enhancement settings"
-msgstr ""
-
-#: ../meta_experimental/plugin_videoenhancement.xml
-msgid ""
-"The VideoEnhancement plugin provides advanced video enhancement settings."
-msgstr ""
-
-#: ../meta_experimental/plugin_videomode.xml
-msgid "Videomode provides advanced video mode settings"
-msgstr ""
-
-#: ../meta_experimental/plugin_videomode.xml
-msgid "The Videomode plugin provides advanced video mode settings."
-msgstr ""
-
-#: ../meta_experimental/plugin_videotune.xml
-msgid "VideoTune helps fine-tuning your tv display"
-msgstr ""
-
-#: ../meta_experimental/plugin_videotune.xml
-msgid ""
-"The VideoTune helps fine-tuning your tv display.\n"
-"You can control brightness and contrast of your tv."
-msgstr ""
-
-#: ../meta_experimental/plugin_wirelesslan.xml
-msgid ""
-"The WirelessLan plugin helps you configuring your WLAN network interface."
-msgstr ""
-
-#: ../meta_experimental/plugin_wirelesslan.xml
-msgid "Configure your WLAN network interface"
-msgstr ""
diff --git a/skin.py b/skin.py
index b490f73..19da203 100755 (executable)
--- a/skin.py
+++ b/skin.py
@@ -284,8 +284,8 @@ def loadSingleSkinData(desktop, skin, path_prefix):
                                else:
                                        bpp = 32
                                #print "Resolution:", xres,yres,bpp
-                               from enigma import gFBDC
-                               gFBDC.getInstance().setResolution(xres, yres)
+                               from enigma import gMainDC
+                               gMainDC.getInstance().setResolution(xres, yres)
                                desktop.resize(eSize(xres, yres))
                                if bpp != 32:
                                        # load palette (not yet implemented)
diff --git a/tools/.gitignore b/tools/.gitignore
new file mode 100644 (file)
index 0000000..fcadf30
--- /dev/null
@@ -0,0 +1 @@
+enigma2.sh
index 82301a6..9e69b46 100644 (file)
@@ -1,9 +1,7 @@
-libopen.so.0.0: libopen.c
-       $(CXX) -Wall -W libopen.c -O2 -nostartfiles -shared -fPIC -Wl,-soname,libopen.so.0 -o libopen.so.0.0 -ldl
+bin_SCRIPTS = enigma2.sh
+lib_LTLIBRARIES = libopen.la
 
-all: libopen.so.0.0
+libopen_la_SOURCES = libopen.c
+libopen_la_LIBADD = @LIBDL_LIBS@
 
-CLEANFILES = libopen.so.0.0
-
-install: all
-       $(INSTALL) libopen.so.0.0 $(DESTDIR)/usr/lib
+EXTRA_DIST = enigma2.sh.in
diff --git a/tools/enigma2.sh.in b/tools/enigma2.sh.in
new file mode 100755 (executable)
index 0000000..a19e673
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+if [ -x @bindir@/showiframe -a -f /boot/backdrop.mvi ]; then
+       @bindir@/showiframe /boot/backdrop.mvi
+fi
+
+if [ -d /home/root ]; then
+       cd /home/root
+fi
+
+LD_PRELOAD=@libdir@/libopen.so.0.0.0 @bindir@/enigma2
+
+# enigma2 exit codes:
+#
+# 0 - restart enigma
+# 1 - halt
+# 2 - reboot
+#
+# >128 signal
+
+ret=$?
+case $ret in
+       1)
+               /sbin/halt
+               ;;
+       2)
+               /sbin/reboot
+               ;;
+       4)
+               /sbin/rmmod lcd
+               /usr/sbin/fpupgrade --upgrade 2>&1 | tee /home/root/fpupgrade.log
+               sleep 1;
+               /sbin/rmmod fp
+               /sbin/modprobe fp
+               /sbin/reboot
+               ;;
+       *)
+               ;;
+esac