Merge branch 'master' into obi/master
authorAndreas Oberritter <obi@opendreambox.org>
Tue, 22 Feb 2011 17:47:12 +0000 (18:47 +0100)
committerAndreas Oberritter <obi@opendreambox.org>
Tue, 22 Feb 2011 17:47:12 +0000 (18:47 +0100)
102 files changed:
RecordTimer.py
data/encoding.conf [changed mode: 0644->0755]
data/setup.xml
data/skin_default.xml
lib/dvb/decoder.cpp
lib/dvb/decoder.h
lib/dvb/demux.cpp
lib/dvb/demux.h
lib/dvb/dvb.cpp
lib/dvb/dvb.h
lib/dvb/epgcache.cpp
lib/dvb/esection.h
lib/dvb/idvb.h
lib/dvb/pmt.cpp
lib/dvb/pmt.h
lib/dvb/pvrparse.cpp
lib/dvb/tstools.cpp
lib/gui/elistboxcontent.cpp
lib/gui/epositiongauge.cpp
lib/gui/esubtitle.h
lib/python/Components/FileList.py
lib/python/Components/PluginComponent.py
lib/python/Components/Sources/ServiceEvent.py
lib/python/Components/TimerSanityCheck.py
lib/python/Components/UsageConfig.py
lib/python/Plugins/DemoPlugins/TPMDemo/plugin.py
lib/python/Plugins/DemoPlugins/TestPlugin/plugin.py
lib/python/Plugins/Extensions/CutListEditor/plugin.py
lib/python/Plugins/Extensions/DVDBurn/plugin.py
lib/python/Plugins/Extensions/DVDPlayer/keymap.xml
lib/python/Plugins/Extensions/DVDPlayer/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp
lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.h
lib/python/Plugins/Extensions/GraphMultiEPG/plugin.py
lib/python/Plugins/Extensions/MediaPlayer/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/Extensions/MediaScanner/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/Extensions/Modem/plugin.py
lib/python/Plugins/Extensions/PicturePlayer/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/Extensions/SocketMMI/plugin.py
lib/python/Plugins/Extensions/TuxboxPlugins/plugin.py
lib/python/Plugins/Plugin.py
lib/python/Plugins/SystemPlugins/CleanupWizard/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/DefaultServicesScanner/plugin.py
lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/plugin.py
lib/python/Plugins/SystemPlugins/Hotplug/plugin.py
lib/python/Plugins/SystemPlugins/NFIFlash/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py
lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py
lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
lib/python/Plugins/SystemPlugins/SkinSelector/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/SoftwareManager/SoftwareTools.py
lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/TempFanControl/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/VideoTune/plugin.py
lib/python/Plugins/SystemPlugins/Videomode/plugin.py [changed mode: 0755->0644]
lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py [changed mode: 0755->0644]
lib/python/Screens/AudioSelection.py
lib/python/Screens/InfoBar.py
lib/python/Screens/InfoBarGenerics.py
lib/python/Screens/SleepTimerEdit.py
lib/service/Makefile.am
lib/service/servicedvb.cpp
lib/service/servicem2ts.cpp [new file with mode: 0644]
lib/service/servicem2ts.h [new file with mode: 0644]
lib/service/servicemp3.cpp
lib/service/servicemp3.h
main/bsod.cpp
po/ar.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en.po
po/es.po
po/et.po
po/fi.po
po/fr.po
po/fy.po
po/hr.po
po/hu.po
po/is.po
po/it.po
po/lt.po
po/lv.po
po/nl.po
po/no.po
po/pl.po
po/pt.po
po/ru.po
po/sk.po
po/sl.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
tools/enigma2.sh.in

index 4ece9c58133a76216017010d5b165c0c2aabc0cb..1cb7eb3b02442b1dd616ec89906ec88446ee80df 100755 (executable)
@@ -517,7 +517,7 @@ class RecordTimer(timer.Timer):
                checkit = True
                for timer in root.findall("timer"):
                        newTimer = createTimer(timer)
-                       if (self.record(newTimer, True, True) is not None) and (checkit == True):
+                       if (self.record(newTimer, True, dosave=False) is not None) and (checkit == True):
                                from Tools.Notifications import AddPopup
                                from Screens.MessageBox import MessageBox
                                AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!"), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")
old mode 100644 (file)
new mode 100755 (executable)
index a3cefe6..36f619d
@@ -6,6 +6,7 @@ gre ISO8859-7
 pol ISO8859-2
 rus ISO8859-5
 bul ISO8859-5
+tha ISO8859-11
 cze ISO6397
 ces ISO6397
 slo ISO6397
@@ -31,25 +32,32 @@ slk ISO6397
 0xc95 0x3 # Astra 23.5°E 12.109 H - SkyLink
 0xbc6 0x3 # Astra 23.5°E 12.525 V - CS Link / SkyLink
 0xbc7 0x3 # Astra 23.5°E 12.565 H - SkyLink
+200 318 #Hotbird Eutelsat (Eurosport)
+300 318 #Hotbird Eutelsat (Eurosport, Animal Pl.HD)
 400 318 #Hotbird 13.0 Cyfra+
 1000 318 #Hotbird 13.0 Grupa ITI
 1500 318 #Hotbird 13.0 Cyfra+
 1600 318 #Hotbird 13.0 Cyfra+
+2800 318 #Hotbird 13.0 MTV Networks (Comedy Central)
 7400 113 #Hotbird 13.0 Cyfrowy Polsat
 7800 113 #Hotbird 13.0 Cyfrowy Polsat
 7900 113 #Hotbird 13.0 Cyfrowy Polsat
 8100 113 #Hotbird 13.0 Universal (Cyfra+)
+8100 318 #Hotbird 13.0 Eutelsat (Universal)
 11000 318 #Hotbird 13.0 Cyfra+
 11400 318 #Hotbird 13.0 Cyfra+
+11600 318 #Hotbird 13.0 BBC HD, ITI
+11700 318 #Hotbird 13.0 Eurosport2
 11900 318 #Hotbird 13.0 Cyfra+
 12200 318 #Hotbird 13.0 Disney Channel Polska and other
 12800 318 #Hotbird 13.0 Viacom ... MTV / VH1 Polska
 13000 318 #Hotbird 13.0 BBC Polska and other
+13100 318 #Hotbird 13.0 Crime and Investigation
 13200 113 #Hotbird 13.0 Cyfrowy Polsat
 #Fallback encoding table for single transponders
 #ISO6397 also enables two byte char encoding
 #TSID ONID ISO8859-X
-12800 318 ISO6397 #Viacom ... MTV / VH1 Polska
+#12800 318 ISO6397 #Viacom ... MTV / VH1 Polska
 21100 126 ISO8859-9 # Digital Platform 7°E 10.928 H 30.000 2/3 8PSK
 41200 126 ISO8859-9 # Digital Platform 7°E 11.451 V 25.066 2/3
 50100 126 ISO8859-9 # Digital Platform 7°E 11.471 H 30.000 3/4
index f5dea734e2c77cab6c731cb3e0f0c737f77e981c..c5eb07f5e5d447becb34367f1f0db394da7b6bd2 100755 (executable)
                        <item level="2" text="Fast Forward speeds">config.seek.speeds_forward</item>
                        <item level="2" text="Rewind speeds">config.seek.speeds_backward</item>
                        <item level="2" text="Slow Motion speeds">config.seek.speeds_slowmotion</item>
-<!-- TRANSLATORS: Note that "Enter" in the two strings below should *not*
-     be interpreted as "Give speed as input". The intended meaning is
-     instead "Initial speed when starting winding", i.e. the speed at
-     which "winding mode" is entered when first pressing "rewind" or
-     "fast forward". -->  
-                       <item level="2" text="Enter Fast Forward at speed">config.seek.enter_forward</item>
-                       <item level="2" text="Enter Rewind at speed">config.seek.enter_backward</item>
-<!-- TRANSLATORS: The effect of "Non-smooth winding" is that rather
-     than using ordinary "continuous" or "smooth" winding, a fast
-     sequence of stills is shown when winding at high speeds. This
-     makes it much easier too follow when almost each frame comes from
-     a new scene. The effect is achieved by repeating each shown frame
-     a couple of times. The settings control both at which speed this
-     winding mode sets in, and how many times each frame should be
-     repeated. This was previously called "Discontinuous playback"
-     which was incomprehensible. "Non-smooth winding" may be a better
-     term, but note that there is nothing irregular about it. Synonyms
-     better suited for translation to other languages may be "stepwise
-     winding/playback", or "winding/playback using stills". -->
-                       <item level="2" text="Use non-smooth winding at speeds above">config.seek.stepwise_minspeed</item>
-                       <item level="2" text="Frame repeat count during non-smooth winding">config.seek.stepwise_repeat</item>
+<!-- TRANSLATORS: The following is the speed you get on the first press on fast-forward.
+     It was previously called "enter fast forward at speed" which was easily misunderstood. -->  
+                       <item level="2" text="Initial Fast Forward speed">config.seek.enter_forward</item>
+                       <item level="2" text="Initial Rewind speed">config.seek.enter_backward</item>
                        <item level="2" text="Behavior of 'pause' when paused">config.seek.on_pause</item>
                        <item level="2" text="Behavior of 0 key in PiP-mode">config.usage.pip_zero_button</item>
                        <item level="2" text="Alternative services tuner priority">config.usage.alternatives_priority</item>
index 376a4fda2a203a1a56b1ac212f7b08e979c22cfb..4826706690a31b7803865fa807ada2b67b060f45 100755 (executable)
@@ -1307,15 +1307,15 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
        </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="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" />
+               <widget source="SetupTitle" render="Label" position="6,0" size="120,24" halign="left" font="Display;12" />
+               <widget source="SetupEntry" render="Label" position="6,24" size="120,24" halign="center" font="Display;12" />
+               <widget source="SetupValue" render="Label" position="6,48" size="120,16" halign="right" 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="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" />
+               <widget source="SetupTitle" render="Label" position="0,0" size="96,24" halign="left" font="Display;10" />
+               <widget source="SetupEntry" render="Label" position="0,24" size="96,24" halign="center" font="Display;10" />
+               <widget source="SetupValue" render="Label" position="0,48" size="96,16" halign="right" font="Display;10" />
        </screen>
        <!-- LCD screen (misc) -->
        <screen name="SimpleSummary" position="0,0" size="132,64" id="1">
index 88cd3ee1e91a27a927b4d1922ef497b8ae845901..a89f72bbb69b021f890edabaf0ab1a03b3820bf6 100644 (file)
@@ -203,6 +203,9 @@ int eDVBAudio::startPid(int pid, int type)
        case aLPCM:
                bypass = 6;
                break;
+       case aDTSHD:
+               bypass = 0x10;
+               break;
        }
 
        eDebugNoNewLine("AUDIO_SET_BYPASS(%d) - ", bypass);
@@ -1299,9 +1302,10 @@ RESULT eTSMPEGDecoder::showSinglePic(const char *filename)
                if (f >= 0)
                {
                        struct stat s;
+                       size_t written=0;
                        fstat(f, &s);
                        if (m_video_clip_fd == -1)
-                               m_video_clip_fd = open("/dev/dvb/adapter0/video0", O_WRONLY|O_NONBLOCK);
+                               m_video_clip_fd = open("/dev/dvb/adapter0/video0", O_WRONLY);
                        if (m_video_clip_fd >= 0)
                        {
                                bool seq_end_avail = false;
index 3a0fbac1e58f27c303a7d28202884a6c9de7bc53..7610b654b761c05bc77ab43649ec6972208e740c 100644 (file)
@@ -13,7 +13,7 @@ private:
        ePtr<eDVBDemux> m_demux;
        int m_fd, m_fd_demux, m_dev, m_is_freezed;
 public:
-       enum { aMPEG, aAC3, aDTS, aAAC, aAACHE, aLPCM };
+       enum { aMPEG, aAC3, aDTS, aAAC, aAACHE, aLPCM, aDTSHD };
        eDVBAudio(eDVBDemux *demux, int dev);
        enum { aMonoLeft, aStereo, aMonoRight };
        void setChannel(int channel);
index 0c736c55c23e1cfc55de9e1f0a2c5a793b01a22b..f4d86185b508a03461075f17bd119cd911005e60 100644 (file)
@@ -85,6 +85,13 @@ int eDVBDemux::openDemux(void)
        return ::open(filename, O_RDWR);
 }
 
+int eDVBDemux::openDVR(int flags)
+{
+       char filename[128];
+       snprintf(filename, 128, "/dev/dvb/adapter%d/dvr%d", adapter, demux);
+       return ::open(filename, flags);
+}
+
 DEFINE_REF(eDVBDemux)
 
 RESULT eDVBDemux::setSourceFrontend(int fenum)
index d43c41bb6733cee2760cef8fc7992f12363b2755..e73982ec1507913c9943050bad11266590e4a692 100644 (file)
@@ -26,7 +26,8 @@ public:
        RESULT getCADemuxID(uint8_t &id) { id = demux; return 0; }
        RESULT flush();
        RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &conn);
-       
+       int openDVR(int flags);
+
        int getRefCount() { return ref; }
 private:
        int adapter, demux, source;
index cd6c232b13f44087208a21c31b68fec5e72564b8..6f9a67fbd092002b4b6818805a6a75eb6c29b2b5 100644 (file)
@@ -98,6 +98,8 @@ eDVBResourceManager::eDVBResourceManager()
                m_boxtype = DM500HD;
        else if (!strncmp(tmp, "dm800se\n", rd))
                m_boxtype = DM800SE;
+       else if (!strncmp(tmp, "dm7020hd\n", rd))
+               m_boxtype = DM7020HD;
        else {
                eDebug("boxtype detection via /proc/stb/info not possible... use fallback via demux count!\n");
                if (m_demux.size() == 3)
@@ -464,7 +466,7 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBA
 
        ePtr<eDVBRegisteredDemux> unused;
 
-       if (m_boxtype == DM800 || m_boxtype == DM500HD || m_boxtype == DM800SE) // dm800 / 500hd
+       if (m_boxtype == DM800) // dm800
        {
                cap |= capHoldDecodeReference; // this is checked in eDVBChannel::getDemux
                for (; i != m_demux.end(); ++i, ++n)
@@ -520,7 +522,7 @@ RESULT eDVBResourceManager::allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBA
                        }
                }
        }
-       else if (m_boxtype == DM8000)
+       else if (m_boxtype == DM8000 || m_boxtype == DM500HD || m_boxtype == DM800SE || m_boxtype == DM7020HD)
        {
                cap |= capHoldDecodeReference; // this is checked in eDVBChannel::getDemux
                for (; i != m_demux.end(); ++i, ++n)
@@ -1790,14 +1792,28 @@ RESULT eDVBChannel::playSource(ePtr<iTsSource> &source, const char *streaminfo_f
                /* (this codepath needs to be improved anyway.) */
 #if HAVE_DVB_API_VERSION < 3
                m_pvr_fd_dst = open("/dev/pvr", O_WRONLY);
-#else
-               m_pvr_fd_dst = open("/dev/misc/pvr", O_WRONLY);
-#endif
                if (m_pvr_fd_dst < 0)
                {
-                       eDebug("can't open /dev/misc/pvr - you need to buy the new(!) $$$ box! (%m)"); // or wait for the driver to be improved.
+                       eDebug("can't open /dev/pvr - you need to buy the new(!) $$$ box! (%m)"); // or wait for the driver to be improved.
+                       return -ENODEV;
+               }
+#else
+               ePtr<eDVBAllocatedDemux> &demux = m_demux ? m_demux : m_decoder_demux;
+               if (demux)
+               {
+                       m_pvr_fd_dst = demux->get().openDVR(O_WRONLY);
+                       if (m_pvr_fd_dst < 0)
+                       {
+                               eDebug("can't open /dev/dvb/adapterX/dvrX - you need to buy the new(!) $$$ box! (%m)"); // or wait for the driver to be improved.
+                               return -ENODEV;
+                       }
+               }
+               else
+               {
+                       eDebug("no demux allocated yet.. so its not possible to open the dvr device!!");
                        return -ENODEV;
                }
+#endif
        }
 
        m_pvr_thread = new eDVBChannelFilePush();
index f612affb67c1ebe930a4c938e0845c44352c8072..334901485585852efef45866f6e9b21cce70fe76 100644 (file)
@@ -135,7 +135,7 @@ class eDVBResourceManager: public iObject, public Object
        DECLARE_REF(eDVBResourceManager);
        int avail, busy;
 
-       enum { DM7025, DM800, DM500HD, DM800SE, DM8000 };
+       enum { DM7025, DM800, DM500HD, DM800SE, DM8000, DM7020HD };
 
        int m_boxtype;
 
index 8ac0c7188c1728203f7fe25a49cb70539af74ca0..4d32474663941ec9c78322205f551a4ac8da2f36 100644 (file)
@@ -258,7 +258,7 @@ void eEPGCache::timeUpdated()
                        {
                                if (it->second->state == -1) {
                                        it->second->state=0;
-                                       messages.send(Message(Message::startChannel, it->second));
+                                       messages.send(Message(Message::startChannel, it->first));
                                }
                        }
                } else
@@ -366,6 +366,8 @@ void eEPGCache::DVBChannelRunning(iDVBChannel *chan)
                                        messages.send(Message(Message::startChannel, chan));
                                        // -> gotMessage -> changedService
                                }
+                               else
+                                       data.state=-1;
                        }
                }
        }
@@ -1187,7 +1189,7 @@ void eEPGCache::save()
 
 eEPGCache::channel_data::channel_data(eEPGCache *ml)
        :cache(ml)
-       ,abortTimer(eTimer::create(ml)), zapTimer(eTimer::create(ml)), state(-1)
+       ,abortTimer(eTimer::create(ml)), zapTimer(eTimer::create(ml)), state(-2)
        ,isRunning(0), haveData(0)
 #ifdef ENABLE_PRIVATE_EPG
        ,startPrivateTimer(eTimer::create(ml))
index 833cc93b2ded9216b264350ddccd9e4895038d3a..3e097ccc142c5e12338559760a454f540aebda9c 100644 (file)
@@ -100,6 +100,10 @@ class eAUTable: public eAUGTable
        int first;
        ePtr<iDVBDemux> m_demux;
        eMainloop *ml;
+
+       /* needed to detect broken table version handling (seen on some m2ts files) */
+       struct timespec m_prev_table_update;
+       int m_table_cnt;
 public:
 
        eAUTable()
@@ -119,6 +123,7 @@ public:
        
        int begin(eMainloop *m, const eDVBTableSpec &spec, ePtr<iDVBDemux> demux)
        {
+               m_table_cnt = 0;
                ml = m;
                m_demux = demux;
                first= 1;
@@ -197,6 +202,24 @@ public:
 
                if (current && (!current->getSpec(spec)))
                {
+                       /* detect broken table version handling (seen on some m2ts files) */
+                       if (m_table_cnt)
+                       {
+                               if (abs(timeout_usec(m_prev_table_update)) > 500000)
+                                       m_table_cnt = -1;
+                               else if (m_table_cnt > 1) // two pmt update within one second
+                               {
+                                       eDebug("Seen two consecutive table version changes within 500ms. "
+                                           "This seems broken, so auto update for pid %04x, table %02x is now disabled!!",
+                                           spec.pid, spec.tid);
+                                       m_table_cnt = 0;
+                                       return;
+                               }
+                       }
+
+                       ++m_table_cnt;
+                       clock_gettime(CLOCK_MONOTONIC, &m_prev_table_update);
+
                        next = new Table();
                        CONNECT(next->tableReady, eAUTable::slotTableReady);
                        spec.flags &= ~(eDVBTableSpec::tfAnyVersion|eDVBTableSpec::tfThisVersion|eDVBTableSpec::tfHaveTimeout);
index f15cd04e529622906b18f4729f675f88aadfe22e..86936f8dc36900b199f19fa1a690ac2f4b597afb 100644 (file)
@@ -636,6 +636,7 @@ public:
        virtual RESULT getSTC(pts_t &pts, int num=0)=0;
        virtual RESULT getCADemuxID(uint8_t &id)=0;
        virtual RESULT flush()=0;
+       virtual int openDVR(int flags)=0;
 };
 
 #if HAVE_DVB_API_VERSION < 3 && !defined(VIDEO_EVENT_SIZE_CHANGED)
@@ -650,7 +651,7 @@ public:
                /** Set Displayed Video PID and type */
        virtual RESULT setVideoPID(int vpid, int type)=0;
 
-       enum { af_MPEG, af_AC3, af_DTS, af_AAC };
+       enum { af_MPEG, af_AC3, af_DTS, af_AAC, af_DTSHD };
                /** Set Displayed Audio PID and type */
        virtual RESULT setAudioPID(int apid, int type)=0;
 
index ca56141bc89115c4ba32bdc15f27a1bf4f465503..e5e633160c82458480b0e10d3b5f718359a43ad1 100644 (file)
 #include <dvbsi++/registration_descriptor.h>
 
 eDVBServicePMTHandler::eDVBServicePMTHandler()
-       :m_ca_servicePtr(0), m_dvb_scan(0), m_decode_demux_num(0xFF)
+       :m_ca_servicePtr(0), m_dvb_scan(0), m_decode_demux_num(0xFF), m_no_pat_entry_delay(eTimer::create())
 {
        m_use_decode_demux = 0;
        m_pmt_pid = -1;
        eDVBResourceManager::getInstance(m_resourceManager);
        CONNECT(m_PMT.tableReady, eDVBServicePMTHandler::PMTready);
        CONNECT(m_PAT.tableReady, eDVBServicePMTHandler::PATready);
+       CONNECT(m_no_pat_entry_delay->timeout, eDVBServicePMTHandler::sendEventNoPatEntry);
 }
 
 eDVBServicePMTHandler::~eDVBServicePMTHandler()
@@ -43,8 +44,15 @@ void eDVBServicePMTHandler::channelStateChanged(iDVBChannel *channel)
                && (state == iDVBChannel::state_ok) && (!m_demux))
        {
                if (m_channel)
-                       if (m_channel->getDemux(m_demux, (!m_use_decode_demux) ? 0 : iDVBChannel::capDecode))
+               {
+                       if (m_pvr_demux_tmp)
+                       {
+                               m_demux = m_pvr_demux_tmp;
+                               m_pvr_demux_tmp = NULL;
+                       }
+                       else if (m_channel->getDemux(m_demux, (!m_use_decode_demux) ? 0 : iDVBChannel::capDecode))
                                eDebug("Allocating %s-decoding a demux for now tuned-in channel failed.", m_use_decode_demux ? "" : "non-");
+               }
                
                serviceEvent(eventTuned);
                
@@ -126,25 +134,55 @@ void eDVBServicePMTHandler::PMTready(int error)
        }
 }
 
+void eDVBServicePMTHandler::sendEventNoPatEntry()
+{
+       serviceEvent(eventNoPATEntry);
+}
+
 void eDVBServicePMTHandler::PATready(int)
 {
+       eDebug("PATready");
        ePtr<eTable<ProgramAssociationSection> > ptr;
        if (!m_PAT.getCurrent(ptr))
        {
+               int service_id_single = -1;
+               int pmtpid_single = -1;
                int pmtpid = -1;
+               int cnt=0;
                std::vector<ProgramAssociationSection*>::const_iterator i;
                for (i = ptr->getSections().begin(); pmtpid == -1 && i != ptr->getSections().end(); ++i)
                {
                        const ProgramAssociationSection &pat = **i;
                        ProgramAssociationConstIterator program;
                        for (program = pat.getPrograms()->begin(); pmtpid == -1 && program != pat.getPrograms()->end(); ++program)
+                       {
+                               ++cnt;
                                if (eServiceID((*program)->getProgramNumber()) == m_reference.getServiceID())
                                        pmtpid = (*program)->getProgramMapPid();
+                               if (++cnt == 1 && pmtpid_single == -1 && pmtpid == -1)
+                               {
+                                       pmtpid_single = (*program)->getProgramMapPid();
+                                       service_id_single = (*program)->getProgramNumber();
+                               }
+                               else
+                                       pmtpid_single = service_id_single = -1;
+                       }
                }
-               if (pmtpid == -1)
-                       serviceEvent(eventNoPATEntry);
-               else
+               if (pmtpid_single != -1) // only one PAT entry .. and not valid pmtpid found
+               {
+                       eDebug("use single pat entry!");
+                       m_reference.setServiceID(eServiceID(service_id_single));
+                       pmtpid = pmtpid_single;
+               }
+               if (pmtpid == -1) {
+                       eDebug("no PAT entry found.. start delay");
+                       m_no_pat_entry_delay->start(1000, true);
+               }
+               else {
+                       eDebug("use pmtpid %04x for service_id %04x", pmtpid, m_reference.getServiceID().get());
+                       m_no_pat_entry_delay->stop();
                        m_PMT.begin(eApp, eDVBPMTSpec(pmtpid, m_reference.getServiceID().get()), m_demux);
+               }
        } else
                serviceEvent(eventNoPAT);
 }
@@ -230,8 +268,29 @@ int eDVBServicePMTHandler::getProgramInfo(program &program)
                        for (i = ptr->getSections().begin(); i != ptr->getSections().end(); ++i)
                        {
                                const ProgramMapSection &pmt = **i;
+                               int is_hdmv = 0;
+
                                program.pcrPid = pmt.getPcrPid();
 
+                               for (DescriptorConstIterator desc = pmt.getDescriptors()->begin();
+                                       desc != pmt.getDescriptors()->end(); ++desc)
+                               {
+                                       if ((*desc)->getTag() == CA_DESCRIPTOR)
+                                       {
+                                               CaDescriptor *descr = (CaDescriptor*)(*desc);
+                                               program::capid_pair pair;
+                                               pair.caid = descr->getCaSystemId();
+                                               pair.capid = descr->getCaPid();
+                                               program.caids.push_back(pair);
+                                       }
+                                       else if ((*desc)->getTag() == REGISTRATION_DESCRIPTOR)
+                                       {
+                                               RegistrationDescriptor *d = (RegistrationDescriptor*)(*desc);
+                                               if (d->getFormatIdentifier() == 0x48444d56) // HDMV
+                                                       is_hdmv = 1;
+                                       }
+                               }
+
                                ElementaryStreamInfoConstIterator es;
                                for (es = pmt.getEsInfo()->begin(); es != pmt.getEsInfo()->end(); ++es)
                                {
@@ -287,25 +346,34 @@ int eDVBServicePMTHandler::getProgramInfo(program &program)
                                                        audio.type = audioStream::atAACHE;
                                                        forced_audio = 1;
                                                }
-                                       case 0x80: // user private ... but blueray LPCM
-                                               if (!isvideo && !isaudio)
+                                       case 0x80: // user private ... but bluray LPCM
+                                       case 0xA0: // bluray secondary LPCM
+                                               if (!isvideo && !isaudio && is_hdmv)
                                                {
                                                        isaudio = 1;
                                                        audio.type = audioStream::atLPCM;
                                                }
-                                       case 0x81: // user private ... but blueray AC3
-                                               if (!isvideo && !isaudio)
+                                       case 0x81: // user private ... but bluray AC3
+                                       case 0xA1: // bluray secondary AC3
+                                               if (!isvideo && !isaudio && is_hdmv)
                                                {
                                                        isaudio = 1;
                                                        audio.type = audioStream::atAC3;
                                                }
-                                       case 0x82: // Blueray DTS (dvb user private...)
-                                       case 0xA2: // Blueray secondary DTS
-                                               if (!isvideo && !isaudio)
+                                       case 0x82: // bluray DTS (dvb user private...)
+                                       case 0xA2: // bluray secondary DTS
+                                               if (!isvideo && !isaudio && is_hdmv)
                                                {
                                                        isaudio = 1;
                                                        audio.type = audioStream::atDTS;
                                                }
+                                       case 0x86: // bluray DTS-HD (dvb user private...)
+                                       case 0xA6: // bluray secondary DTS-HD
+                                               if (!isvideo && !isaudio && is_hdmv)
+                                               {
+                                                       isaudio = 1;
+                                                       audio.type = audioStream::atDTSHD;
+                                               }
                                        case 0x06: // PES Private
                                        case 0xEA: // TS_PSI_ST_SMPTE_VC1
                                        {
@@ -497,9 +565,9 @@ int eDVBServicePMTHandler::getProgramInfo(program &program)
                                        default:
                                                break;
                                        }
-                                       if (isteletext && (isaudio || isvideo)) 
+                                       if (isteletext && (isaudio || isvideo))
                                        {
-                                               eDebug("ambiguous streamtype for PID %04x detected.. forced as teletext!", (*es)->getPid());                                    
+                                               eDebug("ambiguous streamtype for PID %04x detected.. forced as teletext!", (*es)->getPid());
                                                continue; // continue with next PID
                                        }
                                        else if (issubtitle && (isaudio || isvideo))
@@ -537,18 +605,6 @@ int eDVBServicePMTHandler::getProgramInfo(program &program)
                                        else
                                                continue;
                                }
-                               for (DescriptorConstIterator desc = pmt.getDescriptors()->begin();
-                                       desc != pmt.getDescriptors()->end(); ++desc)
-                               {
-                                       if ((*desc)->getTag() == CA_DESCRIPTOR)
-                                       {
-                                               CaDescriptor *descr = (CaDescriptor*)(*desc);
-                                               program::capid_pair pair;
-                                               pair.caid = descr->getCaSystemId();
-                                               pair.capid = descr->getCaPid();
-                                               program.caids.push_back(pair);
-                                       }
-                               }
                        }
                        ret = 0;
 
@@ -710,8 +766,8 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem
 {
        RESULT res=0;
        m_reference = ref;
-       
        m_use_decode_demux = use_decode_demux;
+       m_no_pat_entry_delay->stop();
 
                /* use given service as backup. This is used for timeshift where we want to clone the live stream using the cache, but in fact have a PVR channel */
        m_service = service;
@@ -735,13 +791,12 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem
        {
                if (!ref.getServiceID().get() /* incorrect sid in meta file or recordings.epl*/ )
                {
-                       eWarning("no .meta file found, trying to find PMT pid");
                        eDVBTSTools tstools;
+                       bool b = source || !tstools.openFile(ref.path.c_str(), 1);
+                       eWarning("no .meta file found, trying to find PMT pid");
                        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
+                               tstools.setSource(source, NULL);
+                       if (b)
                        {
                                int service_id, pmt_pid;
                                if (!tstools.findPMT(pmt_pid, service_id))
@@ -751,6 +806,8 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem
                                        m_pmt_pid = pmt_pid;
                                }
                        }
+                       else
+                               eWarning("no valid source to find PMT pid!");
                }
                eDebug("alloc PVR");
                        /* allocate PVR */
@@ -792,7 +849,10 @@ int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_dem
                if (m_pvr_channel)
                {
                        m_pvr_channel->setCueSheet(cue);
-                       if (source)
+
+                       if (m_pvr_channel->getDemux(m_pvr_demux_tmp, (!m_use_decode_demux) ? 0 : iDVBChannel::capDecode))
+                               eDebug("Allocating %s-decoding a demux for PVR channel failed.", m_use_decode_demux ? "" : "non-");
+                       else if (source)
                                m_pvr_channel->playSource(source, streaminfo_file);
                        else
                                m_pvr_channel->playFile(ref.path.c_str());
index 86b634fc459a1b9206ca9d5ac34dfe835c3995c6..0c44f35a7ea682549ed18c4970febaf36943bcf1 100644 (file)
@@ -86,8 +86,8 @@ class eDVBServicePMTHandler: public Object
        eUsePtr<iDVBChannel> m_channel;
        eUsePtr<iDVBPVRChannel> m_pvr_channel;
        ePtr<eDVBResourceManager> m_resourceManager;
-       ePtr<iDVBDemux> m_demux;
-       
+       ePtr<iDVBDemux> m_demux, m_pvr_demux_tmp;
+
        void channelStateChanged(iDVBChannel *);
        ePtr<eConnection> m_channelStateChanged_connection;
        void channelEvent(iDVBChannel *, int event);
@@ -102,6 +102,7 @@ class eDVBServicePMTHandler: public Object
        
        int m_use_decode_demux;
        uint8_t m_decode_demux_num;
+       ePtr<eTimer> m_no_pat_entry_delay;
 public:
        eDVBServicePMTHandler();
        ~eDVBServicePMTHandler();
@@ -144,7 +145,7 @@ public:
        {
                int pid,
                    rdsPid; // hack for some radio services which transmit radiotext on different pid (i.e. harmony fm, HIT RADIO FFH, ...)
-               enum { atMPEG, atAC3, atDTS, atAAC, atAACHE, atLPCM };
+               enum { atMPEG, atAC3, atDTS, atAAC, atAACHE, atLPCM, atDTSHD };
                int type; // mpeg2, ac3, dts, ...
                
                int component_tag;
@@ -210,6 +211,7 @@ public:
        int getPMT(ePtr<eTable<ProgramMapSection> > &ptr) { return m_PMT.getCurrent(ptr); }
        int getChannel(eUsePtr<iDVBChannel> &channel);
        void resetCachedProgram() { m_have_cached_program = false; }
+       void sendEventNoPatEntry();
 
        /* deprecated interface */
        int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
index 5cdecbd610095ec2172b811454f0b71ec1013ed6..e19dd1e46ec2bd71f4f3f08f4bd6af98b5945848 100644 (file)
@@ -123,7 +123,7 @@ void eMPEGStreamInformation::fixupDiscontinuties()
                pts_t current = i->second - currentDelta;
                pts_t diff = current - lastpts_t;
                
-               if (llabs(diff) > (90000*5)) // 5sec diff
+               if (llabs(diff) > (90000*10)) // 10sec diff
                {
 //                     eDebug("%llx < %llx, have discont. new timestamp is %llx (diff is %llx)!", current, lastpts_t, i->second, diff);
                        currentDelta = i->second - lastpts_t; /* FIXME: should be the extrapolated new timestamp, based on the current rate */
index 1403059ffcdefc75fe3f2c8cb1a0bedc201c2514..6cd855ccd3045a0c556d34fba439073096680917 100644 (file)
@@ -212,6 +212,8 @@ int eDVBTSTools::getPTS(off_t &offset, pts_t &pts, int fixed)
                                                        break;
                                                case 0x71: // AC3 / DTS
                                                        break;
+                                               case 0x72: // DTS - HD
+                                                       break;
                                                default:
                                                        eDebug("skip unknwn stream_id_extension %02x\n", payload[9+offs]);
                                                        continue;
@@ -700,9 +702,26 @@ int eDVBTSTools::findFrame(off_t &_offset, size_t &len, int &direction, int fram
                else if (direction == +1)
                        direction = 0;
        }
-                       /* let's find the next frame after the given offset */
        off_t start = offset;
 
+#if 0
+                       /* backtrack to find the previous sequence start, in case of MPEG2 */
+       if ((data & 0xFF) == 0x00) {
+               do {
+                       --start;
+                       if (m_streaminfo.getStructureEntry(start, data, 0))
+                       {
+                               eDebug("get previous failed");
+                               return -1;
+                       }
+               } while (((data & 0xFF) != 9) && ((data & 0xFF) != 0x00) && ((data & 0xFF) != 0xB3)); /* sequence start or previous frame */
+               if ((data & 0xFF) != 0xB3)
+                       start = offset;  /* Failed to find corresponding sequence start, so never mind */
+       }
+
+#endif
+
+                       /* let's find the next frame after the given offset */
        do {
                if (m_streaminfo.getStructureEntry(offset, data, 1))
                {
@@ -717,9 +736,11 @@ int eDVBTSTools::findFrame(off_t &_offset, size_t &len, int &direction, int fram
 //             eDebug("%08llx@%llx (next)", data, offset);
        } while (((data & 0xFF) != 9) && ((data & 0xFF) != 0x00)); /* next frame */
 
+#if 0
                        /* align to TS pkt start */
-//     start = start - (start % 188);
-//     offset = offset - (offset % 188);
+       start = start - (start % 188);
+       offset = offset - (offset % 188);
+#endif
 
        len = offset - start;
        _offset = start;
index a19e11a34f7e69cd17a8af9ec9a1d6875143b9d9..ba0794e73ccb416fe85b22aab90e06e99f705ed1 100644 (file)
@@ -641,7 +641,8 @@ static ePyObject lookupColor(ePyObject color, ePyObject data)
        if ((icolor & 0xFF000000) == 0xFF000000)
        {
                int index = icolor & 0xFFFFFF;
-               eDebug("[eListboxPythonMultiContent] template color index: %d", index);
+               if (PyTuple_GetItem(data, index) == Py_None)
+                       return ePyObject();
                return PyTuple_GetItem(data, index);
        }
 
index ff98c080835532c4565558bb35254616b2673839..e45d4a6c4e328ec4359d404fae2098bc1a72d4bf 100644 (file)
@@ -112,6 +112,7 @@ int ePositionGauge::event(int event, void *data, void *data2)
 //             painter.fill(eRect(0, 10, s.width(), s.height()-20));
                
                pts_t in = 0, out = 0;
+               int xm, xm_last = -1;
                
                std::multiset<cueEntry>::iterator i(m_cue_entries.begin());
                
@@ -126,17 +127,22 @@ int ePositionGauge::event(int event, void *data, void *data2)
                                        continue;
                                } else if (i->what == 1) /* out */
                                        out = i++->where;
-                               else if (i->what == 2) /* mark */
+                               else /* mark or last */
                                {
-                                       int xm = scale(i->where);
-                                       painter.setForegroundColor(gRGB(0xFF8080));
-                                       painter.fill(eRect(xm - 2, 0, 4, s.height()));
+                                       xm = scale(i->where);
+                                       if (i->what == 2) {
+                                               painter.setForegroundColor(gRGB(0xFF8080));
+                                               if (xm - 2 < xm_last) /* Make sure last is not overdrawn */
+                                                       painter.fill(eRect(xm_last, 0, 2 + xm - xm_last, s.height()));
+                                               else
+                                                       painter.fill(eRect(xm - 2, 0, 4, s.height()));
+                                       } else if (i->what == 3) {
+                                               painter.setForegroundColor(gRGB(0x80FF80));
+                                               painter.fill(eRect(xm - 1, 0, 3, s.height()));
+                                               xm_last = xm + 2;
+                                       }
                                        i++;
                                        continue;
-                               } else /* other marker, like last position */
-                               {
-                                       ++i;
-                                       continue;
                                }
                        }
                        
index 45345db1d89d2857c86c5865b0475eb3ed4d60e9..cdad7286cab7cd8e7ce3b7e29a4b4361b272440a 100644 (file)
@@ -23,15 +23,21 @@ struct ePangoSubtitlePageElement
 
 struct ePangoSubtitlePage
 {
-       pts_t show_pts;
+       pts_t m_show_pts;
        int m_timeout; /* in milliseconds */
        std::vector<ePangoSubtitlePageElement> m_elements;
        void clear() { m_elements.clear(); }
 };
 
+struct eVobSubtitlePage
+{
+       pts_t m_show_pts;
+       int m_timeout; /* in milliseconds */
+       ePtr<gPixmap> m_pixmap;
+};
+
 class eDVBTeletextSubtitlePage;
-class eDVBPangoSubtitlePage;
-class ePangoSubtitlePage;
+class eDVBSubtitlePage;
 
 class eSubtitleWidget: public eWidget, public Object
 {
index 1d71514b9d105ab6dbb2efbed7ba3118ef96b06d..1b7e81f5c382d8bee684e8d285d76e4e7e261f5c 100755 (executable)
@@ -28,7 +28,8 @@ EXTENSIONS = {
                "mpeg": "movie",
                "mkv": "movie",
                "mp4": "movie",
-               "mov": "movie"
+               "mov": "movie",
+               "m2ts": "movie",
        }
 
 def FileEntryComponent(name, absolute = None, isDir = False):
index 5e439fdfea437eb0402e121dbfdc40baea843825..e5194b28c9922fd9d3711da69dd6dc67bd4c3959 100755 (executable)
@@ -8,6 +8,9 @@ from Plugins.Plugin import PluginDescriptor
 import keymapparser
 
 class PluginComponent:
+       firstRun = True
+       restartRequired = False
+       
        def __init__(self):
                self.plugins = {}
                self.pluginList = [ ]
@@ -18,12 +21,15 @@ class PluginComponent:
                self.prefix = prefix
 
        def addPlugin(self, plugin):
-               self.pluginList.append(plugin)
-               for x in plugin.where:
-                       self.plugins.setdefault(x, []).append(plugin)
-                       if x == PluginDescriptor.WHERE_AUTOSTART:
-                               plugin(reason=0)
-
+               if self.firstRun or plugin.needsRestart is False:
+                       self.pluginList.append(plugin)
+                       for x in plugin.where:
+                               self.plugins.setdefault(x, []).append(plugin)
+                               if x == PluginDescriptor.WHERE_AUTOSTART:
+                                       plugin(reason=0)
+               else:
+                       self.restartRequired = True
+                               
        def removePlugin(self, plugin):
                self.pluginList.remove(plugin)
                for x in plugin.where:
@@ -81,12 +87,21 @@ class PluginComponent:
                # internally, the "fnc" argument will be compared with __eq__
                plugins_added = [p for p in new_plugins if p not in self.pluginList]
                plugins_removed = [p for p in self.pluginList if not p.internal and p not in new_plugins]
+               
+               #ignore already installed but reloaded plugins
+               for p in plugins_removed: 
+                       for pa in plugins_added:
+                               if pa.name == p.name and pa.where == p.where:
+                                       pa.needsRestart = False
 
                for p in plugins_removed:
                        self.removePlugin(p)
 
                for p in plugins_added:
                        self.addPlugin(p)
+               
+               if self.firstRun:
+                       self.firstRun = False
 
        def getPlugins(self, where):
                """Get list of plugins in a specific category"""
@@ -109,6 +124,8 @@ class PluginComponent:
        def clearPluginList(self):
                self.pluginList = []
                self.plugins = {}
+               self.firstRun = True
+               self.restartRequired = False
 
        def shutdown(self):
                for p in self.pluginList[:]:
index 93c733bd1c5bc044acbf069f2a86b50da6908bc1..8a0a66a16426a3527cca4d6700e7ec42d389904e 100644 (file)
@@ -25,7 +25,7 @@ class ServiceEvent(Source, object):
        def newService(self, ref):
                if not self.service or not ref or self.service != ref:
                        self.service = ref
-                       if not ref or (ref.flags & Ref.flagDirectory) == Ref.flagDirectory or ref.flags & Ref.isMarker:
+                       if not ref:
                                self.changed((self.CHANGED_CLEAR,))
                        else:
                                self.changed((self.CHANGED_ALL,))
index b472a19e130c305512a5a5eeee931d5a103d11c9..b9dda6a6697926db84be0119808943614d61e43f 100644 (file)
@@ -2,6 +2,7 @@ import NavigationInstance
 from time import localtime, mktime, gmtime
 from ServiceReference import ServiceReference
 from enigma import iServiceInformation, eServiceCenter, eServiceReference
+from timer import TimerEntry
 
 class TimerSanityCheck:
        def __init__(self, timerlist, newtimer=None):
@@ -107,7 +108,7 @@ class TimerSanityCheck:
                                                        self.rep_eventlist.append((begin, idx))
                                                begin += 86400
                                                rflags >>= 1
-                               else:
+                               elif timer.state < TimerEntry.StateEnded:
                                        self.nrep_eventlist.extend([(timer.begin,self.bflag,idx),(timer.end,self.eflag,idx)])
                        idx += 1
 
index 8ea9aa6ae22e57dbed020f1371d12d775739a747..a265a169aab83ca4d970ab288a02eb316108c8fd 100644 (file)
@@ -102,13 +102,11 @@ def InitUsageConfig():
        config.seek.selfdefined_79 = ConfigNumber(default=300)
 
        config.seek.speeds_forward = ConfigSet(default=[2, 4, 8, 16, 32, 64, 128], choices=[2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
-       config.seek.speeds_backward = ConfigSet(default=[8, 16, 32, 64, 128], choices=[1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
+       config.seek.speeds_backward = ConfigSet(default=[2, 4, 8, 16, 32, 64, 128], choices=[1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
        config.seek.speeds_slowmotion = ConfigSet(default=[2, 4, 8], choices=[2, 4, 6, 8, 12, 16, 25])
 
        config.seek.enter_forward = ConfigSelection(default = "2", choices = ["2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
        config.seek.enter_backward = ConfigSelection(default = "1", choices = ["1", "2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
-       config.seek.stepwise_minspeed = ConfigSelection(default = "16", choices = ["Never", "2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
-       config.seek.stepwise_repeat = ConfigSelection(default = "3", choices = ["2", "3", "4", "5", "6"])
 
        config.seek.on_pause = ConfigSelection(default = "play", choices = [
                ("play", _("Play")),
index 2c078d3505ff8a864c83cb570512a4263b0f0f1f..dcaa1f65bb4fd6bc61914bb5b8bd01ddfd4a60b5 100644 (file)
@@ -82,6 +82,6 @@ def main(session, **kwargs):
                        # would start your plugin here
 
 def Plugins(**kwargs):
-       return [PluginDescriptor(name = "TPM Demo", description = _("A demo plugin for TPM usage."), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc = main),
-               PluginDescriptor(name = "TPM Demo", description = _("A demo plugin for TPM usage."), icon = "plugin.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc = main)]
+       return [PluginDescriptor(name = "TPM Demo", description = _("A demo plugin for TPM usage."), where = PluginDescriptor.WHERE_EXTENSIONSMENU, needsRestart = False, fnc = main),
+               PluginDescriptor(name = "TPM Demo", description = _("A demo plugin for TPM usage."), icon = "plugin.png", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc = main)]
        
\ No newline at end of file
index 69f935e4718b86ebd7eddf26e7d88ac927690e2c..4ef4a87df946811937da316af61aee1482514adf 100644 (file)
@@ -80,4 +80,4 @@ def test(returnValue):
        print "You entered", returnValue
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name="Test", description="plugin to test some capabilities", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)
+       return PluginDescriptor(name="Test", description="plugin to test some capabilities", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main)
index 0627df3b6a7c0f2f2df557f6e28c389101fcea18..141c04ac41f2f3f0bab61a17b6ce28285bf340be 100644 (file)
@@ -406,4 +406,4 @@ def main(session, service, **kwargs):
        session.open(CutListEditor, service)
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name="Cutlist Editor", description=_("Cutlist editor..."), where = PluginDescriptor.WHERE_MOVIELIST, fnc=main)
+       return PluginDescriptor(name="Cutlist Editor", description=_("Cutlist editor..."), where = PluginDescriptor.WHERE_MOVIELIST, needsRestart = False, fnc=main)
index bd856b4757985f36e7ab30f5056cc6605281e55d..f5d2fa6262c32d64c3aecbe8d2b04649ec02d98a 100644 (file)
@@ -13,5 +13,5 @@ def main_add(session, service, **kwargs):
 
 def Plugins(**kwargs):
        descr = _("Burn to DVD")
-       return [PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_MOVIELIST, fnc=main_add, icon="dvdburn.png"),
-               PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main, icon="dvdburn.png") ]
+       return [PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_MOVIELIST, needsRestart = True, fnc=main_add, icon="dvdburn.png"),
+               PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = True, fnc=main, icon="dvdburn.png") ]
index 7b7f20541a93d648ce875bdb808b74aa8c4bba61..bf57e7534ce9e24ee8bcbf785c85d2d5dd37ea2b 100644 (file)
@@ -8,7 +8,8 @@
                        <key id="KEY_PREVIOUS" mapto="prevChapter" flags="m" />
                        <key id="KEY_NEXT" mapto="nextChapter" flags="m" />
                        <key id="KEY_TV" mapto="tv" flags="m" />
-                       <key id="KEY_AUDIO" mapto="dvdAudioMenu" flags="m" />
+                       <key id="KEY_AUDIO" mapto="AudioSelection" flags="m" />
+                       <key id="KEY_AUDIO" mapto="dvdAudioMenu" flags="l" />
                        <key id="KEY_RADIO" mapto="nextAudioTrack" flags="m" />
                        <key id="KEY_TEXT" mapto="nextSubtitleTrack" flags="m" />
                        <key id="KEY_VIDEO" mapto="nextAngle" flags="m" />
old mode 100755 (executable)
new mode 100644 (file)
index e1ab3ef..1cee0aa
@@ -4,7 +4,7 @@ from Screens.Screen import Screen
 from Screens.MessageBox import MessageBox
 from Screens.ChoiceBox import ChoiceBox
 from Screens.HelpMenu import HelpableScreen
-from Screens.InfoBarGenerics import InfoBarSeek, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarShowHide, InfoBarNotifications
+from Screens.InfoBarGenerics import InfoBarSeek, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarShowHide, InfoBarNotifications, InfoBarAudioSelection, InfoBarSubtitleSupport
 from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
 from Components.Label import Label
 from Components.Sources.StaticText import StaticText
@@ -195,7 +195,7 @@ class ChapterZap(Screen):
                self.Timer.callback.append(self.keyOK)
                self.Timer.start(3000, True)
 
-class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarPVRState, InfoBarShowHide, HelpableScreen, InfoBarCueSheetSupport):
+class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarPVRState, InfoBarShowHide, HelpableScreen, InfoBarCueSheetSupport, InfoBarAudioSelection, InfoBarSubtitleSupport):
        ALLOW_SUSPEND = Screen.SUSPEND_PAUSES
        ENABLE_RESUME_SUPPORT = True
        
@@ -244,8 +244,6 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                self.saved_config_speeds_backward = config.seek.speeds_backward.value
                self.saved_config_enter_forward = config.seek.enter_forward.value
                self.saved_config_enter_backward = config.seek.enter_backward.value
-               self.saved_config_seek_stepwise_minspeed = config.seek.stepwise_minspeed.value
-               self.saved_config_seek_stepwise_repeat = config.seek.stepwise_repeat.value
                self.saved_config_seek_on_pause = config.seek.on_pause.value
                self.saved_config_seek_speeds_slowmotion = config.seek.speeds_slowmotion.value
 
@@ -255,8 +253,6 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                config.seek.speeds_slowmotion.value = [ ]
                config.seek.enter_forward.value = "2"
                config.seek.enter_backward.value = "2"
-               config.seek.stepwise_minspeed.value = "Never"
-               config.seek.stepwise_repeat.value = "3"
                config.seek.on_pause.value = "play"
 
        def restore_infobar_seek_config(self):
@@ -265,8 +261,6 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                config.seek.speeds_slowmotion.value = self.saved_config_seek_speeds_slowmotion
                config.seek.enter_forward.value = self.saved_config_enter_forward
                config.seek.enter_backward.value = self.saved_config_enter_backward
-               config.seek.stepwise_minspeed.value = self.saved_config_seek_stepwise_minspeed
-               config.seek.stepwise_repeat.value = self.saved_config_seek_stepwise_repeat
                config.seek.on_pause.value = self.saved_config_seek_on_pause
 
        def __init__(self, session, dvd_device = None, dvd_filelist = [ ], args = None):
@@ -275,10 +269,12 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                InfoBarNotifications.__init__(self)
                InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions")
                InfoBarShowHide.__init__(self)
+               InfoBarAudioSelection.__init__(self)
+               InfoBarSubtitleSupport.__init__(self)
                HelpableScreen.__init__(self)
                self.save_infobar_seek_config()
                self.change_infobar_seek_config()
-               InfoBarSeek.__init__(self, useSeekBackHack=False)
+               InfoBarSeek.__init__(self)
                InfoBarPVRState.__init__(self)
                self.dvdScreen = self.session.instantiateDialog(DVDOverlay)
 
@@ -354,6 +350,7 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                                "prevTitle": (self.prevTitle, _("jump back to the previous title")),
                                "tv": (self.askLeavePlayer, _("exit DVD player or return to file browser")),
                                "dvdAudioMenu": (self.enterDVDAudioMenu, _("(show optional DVD audio menu)")),
+                               "AudioSelection": (self.enterAudioSelection, _("Select audio track")),
                                "nextAudioTrack": (self.nextAudioTrack, _("switch to the next audio track")),
                                "nextSubtitleTrack": (self.nextSubtitleTrack, _("switch to the next subtitle language")),
                                "nextAngle": (self.nextAngle, _("switch to the next angle")),
@@ -546,6 +543,9 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP
                        keys.keyPressed(key)
                return keys
 
+       def enterAudioSelection(self):
+               self.audioSelection()
+
        def nextAudioTrack(self):
                self.sendKey(iServiceKeys.keyUser)
 
@@ -775,5 +775,5 @@ def filescan(**kwargs):
                )]              
 
 def Plugins(**kwargs):
-       return [PluginDescriptor(name = "DVDPlayer", description = "Play DVDs", where = PluginDescriptor.WHERE_MENU, fnc = menu),
-                       PluginDescriptor(where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)]
+       return [PluginDescriptor(name = "DVDPlayer", description = "Play DVDs", where = PluginDescriptor.WHERE_MENU, needsRestart = True, fnc = menu),
+                       PluginDescriptor(where = PluginDescriptor.WHERE_FILESCAN, needsRestart = True, fnc = filescan)]
index 5fbfb0aa3d45f3b69e2bac4949baf2b7212e8f2b..6d1397da4d5e538741c62554ac5fa46cc7b5503d 100644 (file)
@@ -397,6 +397,61 @@ RESULT eServiceDVD::subtitle(ePtr<iSubtitleOutput> &ptr)
        return 0;
 }
 
+RESULT eServiceDVD::audioTracks(ePtr<iAudioTrackSelection> &ptr)
+{
+       ptr = this;
+       return 0;
+}
+
+int eServiceDVD::getNumberOfTracks()
+{
+       int i = 0;
+       ddvd_get_audio_count(m_ddvdconfig, &i);
+       return i;
+}
+
+int eServiceDVD::getCurrentTrack()
+{
+       int audio_id,audio_type;
+       uint16_t audio_lang;
+       ddvd_get_last_audio(m_ddvdconfig, &audio_id, &audio_lang, &audio_type);
+       return audio_id;
+}
+
+RESULT eServiceDVD::selectTrack(unsigned int i)
+{
+       ddvd_set_audio(m_ddvdconfig, i);
+       return 0;
+}
+
+RESULT eServiceDVD::getTrackInfo(struct iAudioTrackInfo &info, unsigned int audio_id)
+{
+       int audio_type;
+       uint16_t audio_lang;
+       ddvd_get_audio_byid(m_ddvdconfig, audio_id, &audio_lang, &audio_type);
+       char audio_string[3]={audio_lang >> 8, audio_lang, 0};
+       info.m_pid = audio_id+1;
+       info.m_language = audio_string;
+       switch(audio_type)
+       {
+               case DDVD_MPEG:
+                       info.m_description = "MPEG";
+                       break;
+               case DDVD_AC3:
+                       info.m_description = "AC3";
+                       break;
+               case DDVD_DTS:
+                       info.m_description = "DTS";
+                       break;
+               case DDVD_LPCM:
+                       info.m_description = "LPCM";
+                       break;
+               default:
+                       info.m_description = "und";
+       }
+       return 0;
+}
+
 RESULT eServiceDVD::keys(ePtr<iServiceKeys> &ptr)
 {
        ptr=this;
@@ -623,14 +678,33 @@ PyObject *eServiceDVD::getInfoObject(int w)
        Py_RETURN_NONE;
 }
 
-RESULT eServiceDVD::enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) /*entry*/)
+RESULT eServiceDVD::enableSubtitles(eWidget *parent, ePyObject tuple)
 {
        delete m_subtitle_widget;
+       eSize size = eSize(720, 576);
 
        m_subtitle_widget = new eSubtitleWidget(parent);
        m_subtitle_widget->resize(parent->size());
 
-       eSize size = eSize(720, 576);
+       int pid = -1;
+
+       if ( tuple != Py_None )
+       {               
+               ePyObject entry;
+               int tuplesize = PyTuple_Size(tuple);
+               if (!PyTuple_Check(tuple))
+                       goto error_out;
+               if (tuplesize < 1)
+                       goto error_out;
+               entry = PyTuple_GET_ITEM(tuple, 1);
+               if (!PyInt_Check(entry))
+                       goto error_out;
+               pid = PyInt_AsLong(entry)-1;
+
+               ddvd_set_spu(m_ddvdconfig, pid);
+               m_event(this, evUser+7);
+       }
+       eDebug("eServiceDVD::enableSubtitles %i", pid);
 
        if (!m_pixmap)
        {
@@ -648,6 +722,9 @@ RESULT eServiceDVD::enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) /*
        m_subtitle_widget->show();
 
        return 0;
+
+error_out:
+       return -1;
 }
 
 RESULT eServiceDVD::disableSubtitles(eWidget */*parent*/)
@@ -659,8 +736,26 @@ RESULT eServiceDVD::disableSubtitles(eWidget */*parent*/)
 
 PyObject *eServiceDVD::getSubtitleList()
 {
-       eDebug("eServiceDVD::getSubtitleList nyi");
-       Py_RETURN_NONE;
+       ePyObject l = PyList_New(0);
+       unsigned int spu_count = 0;
+       ddvd_get_spu_count(m_ddvdconfig, &spu_count);
+
+       for ( unsigned int spu_id = 0; spu_id < spu_count; spu_id++ )
+       {
+               uint16_t spu_lang;
+               ddvd_get_spu_byid(m_ddvdconfig, spu_id, &spu_lang);
+               char spu_string[3]={spu_lang >> 8, spu_lang, 0};
+
+               ePyObject tuple = PyTuple_New(5);
+               PyTuple_SetItem(tuple, 0, PyInt_FromLong(2));
+               PyTuple_SetItem(tuple, 1, PyInt_FromLong(spu_id+1));
+               PyTuple_SetItem(tuple, 2, PyInt_FromLong(5));
+               PyTuple_SetItem(tuple, 3, PyInt_FromLong(0));
+               PyTuple_SetItem(tuple, 4, PyString_FromString(spu_string));
+               PyList_Append(l, tuple);
+               Py_DECREF(tuple);
+       }
+       return l;
 }
 
 PyObject *eServiceDVD::getCachedSubtitle()
index c751a39413bdee367c299b4e7c6ba174d66b6f92..80cfcf0c94b954769944cafed7ba6596584c8526 100644 (file)
@@ -26,7 +26,7 @@ public:
        RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
 };
 
-class eServiceDVD: public iPlayableService, public iPauseableService, public iSeekableService,
+class eServiceDVD: public iPlayableService, public iPauseableService, public iSeekableService, public iAudioTrackSelection,
        public iServiceInformation, public iSubtitleOutput, public iServiceKeys, public iCueSheet, public eThread, public Object
 {
        friend class eServiceFactoryDVD;
@@ -35,7 +35,7 @@ public:
        virtual ~eServiceDVD();
                // not implemented (yet)
        RESULT audioChannel(ePtr<iAudioChannelSelection> &ptr) { ptr = 0; return -1; }
-       RESULT audioTracks(ePtr<iAudioTrackSelection> &ptr) { ptr = 0; return -1; }
+       RESULT audioTracks(ePtr<iAudioTrackSelection> &ptr);
        RESULT frontendInfo(ePtr<iFrontendInformation> &ptr) { ptr = 0; return -1; }
        RESULT subServices(ePtr<iSubserviceList> &ptr) { ptr = 0; return -1; }
        RESULT timeshift(ePtr<iTimeshiftService> &ptr) { ptr = 0; return -1; }
@@ -89,8 +89,15 @@ public:
        void setCutList(SWIG_PYOBJECT(ePyObject));
        void setCutListEnable(int enable);
 
-               // iServiceKeys
+                       // iAudioTrackSelection 
+       int getNumberOfTracks();
+       RESULT selectTrack(unsigned int i);
+       RESULT getTrackInfo(struct iAudioTrackInfo &, unsigned int n);
+       int getCurrentTrack();
+
+       // iServiceKeys
        RESULT keyPressed(int key);
+
 private:
        eServiceDVD(eServiceReference ref);
 
index adb7015dd8edda6e1b63d76b76c43e428faf821b..bcc7b9b261f245b24e6b356dba814e2d2220a58c 100644 (file)
@@ -94,5 +94,5 @@ def main(session, servicelist, **kwargs):
 def Plugins(**kwargs):
        name = _("Graphical Multi EPG")
        descr = _("A graphical EPG for all services of an specific bouquet")
-       return [ PluginDescriptor(name=name, description=descr, where = PluginDescriptor.WHERE_EVENTINFO, fnc=main),
-         PluginDescriptor(name=name, description=descr, where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main) ]
+       return [PluginDescriptor(name=name, description=descr, where = PluginDescriptor.WHERE_EVENTINFO, needsRestart = False, fnc=main),
+               PluginDescriptor(name=name, description=descr, where = PluginDescriptor.WHERE_EXTENSIONSMENU, needsRestart = False, fnc=main)]
old mode 100755 (executable)
new mode 100644 (file)
index 9ae886f..6ff1c5a
@@ -110,7 +110,7 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB
 
                # 'None' is magic to start at the list of mountpoints
                defaultDir = config.mediaplayer.defaultDir.getValue()
-               self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(mp2|mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob|avi|divx|m4v|mkv|mp4|m4a|dat|flac|mov)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls")
+               self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(mp2|mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob|avi|divx|m4v|mkv|mp4|m4a|dat|flac|mov|m2ts)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls")
                self["filelist"] = self.filelist
 
                self.playlist = MyPlayList()
@@ -1041,6 +1041,6 @@ def filescan(**kwargs):
 from Plugins.Plugin import PluginDescriptor
 def Plugins(**kwargs):
        return [
-               PluginDescriptor(name = "MediaPlayer", description = "Play back media files", where = PluginDescriptor.WHERE_MENU, fnc = menu),
-               PluginDescriptor(name = "MediaPlayer", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)
+               PluginDescriptor(name = "MediaPlayer", description = "Play back media files", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc = menu),
+               PluginDescriptor(name = "MediaPlayer", where = PluginDescriptor.WHERE_FILESCAN, needsRestart = False, fnc = filescan)
        ]
old mode 100755 (executable)
new mode 100644 (file)
index 0cefa35..76bbb26
@@ -91,8 +91,8 @@ def autostart(reason, **kwargs):
 
 def Plugins(**kwargs):
        return [
-               PluginDescriptor(name="MediaScanner", description=_("Scan Files..."), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
+               PluginDescriptor(name="MediaScanner", description=_("Scan Files..."), where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = True, fnc=main),
 #              PluginDescriptor(where = PluginDescriptor.WHERE_MENU, fnc=menuHook),
-               PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart),
-               PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)
+               PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, needsRestart = True, fnc = sessionstart),
+               PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = True, fnc = autostart)
                ]
index e57e4f5140d81fc238a59e3234e8d716ce15babc..0b397c18da8804a025f0a5ab5aaf2e90ccd0aa78 100644 (file)
@@ -280,4 +280,4 @@ def main(session, **kwargs):
        session.open(ModemSetup)
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name="Modem", description="plugin to connect to internet via builtin modem", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)
+       return PluginDescriptor(name="Modem", description="plugin to connect to internet via builtin modem", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main)
old mode 100755 (executable)
new mode 100644 (file)
index 5d1c2cb..169a8c8
@@ -625,5 +625,5 @@ def filescan(**kwargs):
 
 def Plugins(**kwargs):
        return \
-               [PluginDescriptor(name=_("PicturePlayer"), description=_("fileformats (BMP, PNG, JPG, GIF)"), icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
-                PluginDescriptor(name=_("PicturePlayer"), where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)]
+               [PluginDescriptor(name=_("PicturePlayer"), description=_("fileformats (BMP, PNG, JPG, GIF)"), icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=main),
+                PluginDescriptor(name=_("PicturePlayer"), where = PluginDescriptor.WHERE_FILESCAN, needsRestart = False, fnc = filescan)]
index 387c8306d7d8ecd391e85924cf1ede2bbaaefc5d..568cde2ac876451472471c821914dfc0f23fea0e 100644 (file)
@@ -22,6 +22,7 @@ def autostart(reason, **kwargs):
                socketHandler = SocketMMIMessageHandler()
 
 def Plugins(**kwargs):
-       return [ PluginDescriptor(name = "SocketMMI", description = _("Python frontend for /tmp/mmi.socket"), where = PluginDescriptor.WHERE_MENU, fnc = menu),
-               PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart),
-               PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart) ]
+       return [ PluginDescriptor(name = "SocketMMI", description = _("Python frontend for /tmp/mmi.socket"), where = PluginDescriptor.WHERE_MENU, needsRestart = True, fnc = menu),
+               PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, needsRestart = True, fnc = sessionstart),
+               PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = True, fnc = autostart) ]
+
index 05085ead2c42ccd004566404b88cb66b6fd8f96a..e124ffd2d2cfed365c2bc167caf37e2a44e0b689 100644 (file)
@@ -17,7 +17,7 @@ def getPlugins():
                for x in dir:
                        if x[-3:] == "cfg":
                                params = getPluginParams(x)
-                               pluginlist.append(PluginDescriptor(name=params["name"], description=params["desc"], where = PluginDescriptor.WHERE_PLUGINMENU, icon="tuxbox.png", fnc=boundFunction(main, plugin=x)))
+                               pluginlist.append(PluginDescriptor(name=params["name"], description=params["desc"], where = PluginDescriptor.WHERE_PLUGINMENU, icon="tuxbox.png", needsRestart = True, fnc=boundFunction(main, plugin=x)))
        
        return pluginlist
 
index 5a676cdadaf4ca8bfd2c5675f3bea90b81e11c80..9ecdbc26de3af3420ea47e8c7ac947ba239cf58a 100755 (executable)
@@ -61,9 +61,10 @@ class PluginDescriptor:
        WHERE_SOFTWAREMANAGER = 14
 
 
-       def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, internal = False):
+       def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, needsRestart = None, internal = False):
                self.name = name
                self.internal = internal
+               self.needsRestart = needsRestart
                if isinstance(where, list):
                        self.where = where
                else:
old mode 100755 (executable)
new mode 100644 (file)
index f8677bb..157aa75
@@ -126,10 +126,10 @@ def selSetup(menuid, **kwargs):
 
 def Plugins(**kwargs):
        list = []
-       list.append(PluginDescriptor(name=_("CleanupWizard"), description=_("Cleanup Wizard settings"),where=PluginDescriptor.WHERE_MENU, fnc=selSetup))
+       list.append(PluginDescriptor(name=_("CleanupWizard"), description=_("Cleanup Wizard settings"),where=PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=selSetup))
        if config.plugins.cleanupwizard.enable.value:
                if not config.misc.firstrun.value:
                        if internalMemoryExceeded:
-                               list.append(PluginDescriptor(name=_("Cleanup Wizard"), where = PluginDescriptor.WHERE_WIZARD, fnc=(1, CleanupWizard)))
+                               list.append(PluginDescriptor(name=_("Cleanup Wizard"), where = PluginDescriptor.WHERE_WIZARD, needsRestart = False, fnc=(1, CleanupWizard)))
        return list
 
old mode 100755 (executable)
new mode 100644 (file)
index 52296c6..b345428
@@ -636,10 +636,10 @@ def menu(menuid, **kwargs):
 
 def Plugins(**kwargs):
        if config.usage.setup_level.index > 1:
-               return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart ),
-                               PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart ),
-                               PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers/caids to common interface modules"), where = PluginDescriptor.WHERE_MENU, fnc = menu )]
+               return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, needsRestart = False, fnc = sessionstart ),
+                               PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = False, fnc = autostart ),
+                               PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers/caids to common interface modules"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc = menu )]
        else:
-               return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart ),
-                               PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart ),
-                               PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers to common interface modules"), where = PluginDescriptor.WHERE_MENU, fnc = menu )]
+               return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, needsRestart = False, fnc = sessionstart ),
+                               PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = False, fnc = autostart ),
+                               PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers to common interface modules"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc = menu )]
old mode 100755 (executable)
new mode 100644 (file)
index 92c1628..ab74de4
@@ -421,6 +421,6 @@ def selSetup(menuid, **kwargs):
 
 
 def Plugins(**kwargs):
-       return [PluginDescriptor(where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], fnc = autostart),
-               PluginDescriptor(name=_("CrashlogAutoSubmit"), description=_("CrashlogAutoSubmit settings"),where=PluginDescriptor.WHERE_MENU, fnc=selSetup)]
+       return [PluginDescriptor(where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], needsRestart = False, fnc = autostart),
+               PluginDescriptor(name=_("CrashlogAutoSubmit"), description=_("CrashlogAutoSubmit settings"),where=PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=selSetup)]
 
index 4d0a992d8866babe2e5d3bf85f0b96985712ce34..d26881edd332d1d8dde9b88b6f194677062ca704 100644 (file)
@@ -134,4 +134,4 @@ def DefaultServicesScannerMain(session, **kwargs):
        session.open(DefaultServicesScannerPlugin)
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name="Default Services Scanner", description=_("Scans default lamedbs sorted by satellite with a connected dish positioner"), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=DefaultServicesScannerMain)
+       return PluginDescriptor(name="Default Services Scanner", description=_("Scans default lamedbs sorted by satellite with a connected dish positioner"), where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=DefaultServicesScannerMain)
old mode 100755 (executable)
new mode 100644 (file)
index 5b7edcf..4dcf6c6
@@ -679,5 +679,5 @@ def autostart(reason, **kwargs):
        resourcemanager.addResource("DiseqcTester", DiseqcTesterMain)
 
 def Plugins(**kwargs):
-       return [ PluginDescriptor(name="DiSEqC Tester", description=_("Test DiSEqC settings"), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=DiseqcTesterMain),
-                       PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)]
+       return [ PluginDescriptor(name="DiSEqC Tester", description=_("Test DiSEqC settings"), where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=DiseqcTesterMain),
+                       PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = False, fnc = autostart)]
index 38b80c95c84d35a722d3addad77f2097a4c27ce5..6cb30de21dd3e6ace6a726b348eb02eb1727a8f8 100644 (file)
@@ -76,11 +76,11 @@ def Plugins(**kwargs):
        newversion = getUpgradeVersion() or 0
        list = []
        if version is not None and version < newversion:
-               list.append(PluginDescriptor(name="FP Upgrade", where = PluginDescriptor.WHERE_WIZARD, fnc=(8, FPUpgrade)))
+               list.append(PluginDescriptor(name="FP Upgrade", where = PluginDescriptor.WHERE_WIZARD, needsRestart = True, fnc=(8, FPUpgrade)))
 
        try:
                msg = open("/proc/stb/message").read()
-               list.append(PluginDescriptor(name="System Message Check", where = PluginDescriptor.WHERE_WIZARD, fnc=(9, SystemMessage, msg)))
+               list.append(PluginDescriptor(name="System Message Check", where = PluginDescriptor.WHERE_WIZARD, needsRestart = True, fnc=(9, SystemMessage, msg)))
        except:
                pass
 
index 1f379f10f495c99ef9b28bc1b6ee7f1c970a2f17..84cbbcb62d605790db46280ec427e6f9c41abe1c 100644 (file)
@@ -297,4 +297,4 @@ def autostart(reason, **kwargs):
                        reactor.listenUNIX("/tmp/hotplug.socket", factory)
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name = "Hotplug", description = "listens to hotplug events", where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)
+       return PluginDescriptor(name = "Hotplug", description = "listens to hotplug events", where = PluginDescriptor.WHERE_AUTOSTART, needsRestart = True, fnc = autostart)
old mode 100755 (executable)
new mode 100644 (file)
index 1eba1dd..b654476
@@ -20,6 +20,7 @@ def Plugins(**kwargs):
                description=_("Download .NFI-Files for USB-Flasher"),
                icon = "flash.png",
                where = PluginDescriptor.WHERE_SOFTWAREMANAGER,
+               needsRestart = False,
                fnc={"SoftwareSupported": NFICallFnc, "menuEntryName": lambda x: _("NFI Image Flashing"),
                        "menuEntryDescription": lambda x: _("Download .NFI-Files for USB-Flasher")}),
-               PluginDescriptor(name="nfi", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)]
+               PluginDescriptor(name="nfi", where = PluginDescriptor.WHERE_FILESCAN, needsRestart = False, fnc = filescan)]
old mode 100755 (executable)
new mode 100644 (file)
index 49ec7da..56cebdb
@@ -18,5 +18,5 @@ def NetworkWizard(*args, **kwargs):
 def Plugins(**kwargs):
        list = []
        if config.misc.firstrun.value:
-               list.append(PluginDescriptor(name=_("Network Wizard"), where = PluginDescriptor.WHERE_WIZARD, fnc=(25, NetworkWizard)))
+               list.append(PluginDescriptor(name=_("Network Wizard"), where = PluginDescriptor.WHERE_WIZARD, needsRestart = False, fnc=(25, NetworkWizard)))
        return list
index 3cc9e75109b6fc5a041cedd4d10f17139e5542a9..be246db2db0c189bb63da48ff8995ecec5459702 100644 (file)
@@ -608,6 +608,6 @@ def PositionerSetupStart(menuid, **kwargs):
 
 def Plugins(**kwargs):
        if (nimmanager.hasNimType("DVB-S")):
-               return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_MENU, fnc=PositionerSetupStart)
+               return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=PositionerSetupStart)
        else:
                return []
index ec472e72f156e1b080df244c7d22ab773ecbc5ca..3a8c75c0ac85b72c9fd0a3b59cf2bf9275a72252 100644 (file)
@@ -71,6 +71,6 @@ def SecSetupStart(menuid):
 
 def Plugins(**kwargs):
        if (nimmgr.hasNimType("DVB-S")):
-               return PluginDescriptor(name=_("Satellite Equipment Setup"), description="Setup your satellite equipment", where = PluginDescriptor.WHERE_MENU, fnc=SecSetupStart)
+               return PluginDescriptor(name=_("Satellite Equipment Setup"), description="Setup your satellite equipment", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=SecSetupStart)
        else:
                return []
index d4fe6b58d5d5f89c015e3e04d1a81e1e6c47194f..e737466a1677cc637411d713e7c4d4dfb757c241 100644 (file)
@@ -276,6 +276,6 @@ def SatfinderStart(menuid, **kwargs):
 
 def Plugins(**kwargs):
        if (nimmanager.hasNimType("DVB-S")):
-               return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_MENU, fnc=SatfinderStart)
+               return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=SatfinderStart)
        else:
                return []
old mode 100755 (executable)
new mode 100644 (file)
index 30cbb6b..fd2b5e1
@@ -131,4 +131,4 @@ def SkinSelSetup(menuid, **kwargs):
                return []
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name="Skinselector", description="Select Your Skin", where = PluginDescriptor.WHERE_MENU, fnc=SkinSelSetup)
+       return PluginDescriptor(name="Skinselector", description="Select Your Skin", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=SkinSelSetup)
index 8b8fc97c4fcfaa698d05d5528b6f50d304c53a3d..87f0a4d6e11b5d7ac7f6a6d7ea7ae105dedc0303 100755 (executable)
@@ -264,13 +264,12 @@ class SoftwareTools(DreamInfoHandler):
                                                callback(False)
 
        def startIpkgListInstalled(self, callback = None):
-               print "STARTIPKGLISTINSTALLED"
                if callback is not None:
                        self.list_updating = True
                if self.list_updating:
                        if not self.UpdateConsole:
                                self.UpdateConsole = Console()
-                       cmd = "opkg list_installed"
+                       cmd = "opkg list-installed"
                        self.UpdateConsole.ePopen(cmd, self.IpkgListInstalledCB, callback)
 
        def IpkgListInstalledCB(self, result, retval, extra_args = None):
@@ -344,6 +343,7 @@ class SoftwareTools(DreamInfoHandler):
                                                callback = None
 
        def cleanupSoftwareTools(self):
+               self.list_updating = False
                if self.NotifierCallback is not None:
                        self.NotifierCallback = None
                self.ipkg.stop()
old mode 100755 (executable)
new mode 100644 (file)
index 480707d..b3a0a17
@@ -809,6 +809,8 @@ class PluginManager(Screen, DreamInfoHandler):
                                name = x[0].strip()
                                details = x[1].strip()
                                description = x[2].strip()
+                               if description == "":
+                                       description = "No description available."
                                packagename = x[3].strip()
                                selectState = self.getSelectionState(details)
                                if iSoftwareTools.installed_packetlist.has_key(packagename):
@@ -921,17 +923,20 @@ class PluginManager(Screen, DreamInfoHandler):
                        self.close()
 
        def runExecuteFinished(self):
-               self.session.openWithCallback(self.ExecuteReboot, MessageBox, _("Install or remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
-
-       def ExecuteReboot(self, result):
-               if result is None:
-                       return
-               if result is False:
-                       self.reloadPluginlist()
+               self.reloadPluginlist()
+               restartRequired = plugins.restartRequired
+               if restartRequired:
+                       self.session.openWithCallback(self.ExecuteReboot, MessageBox, _("Install or remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+               else:
                        self.selectedFiles = []
                        self.detailsClosed(True)
+
+       def ExecuteReboot(self, result):
                if result:
                        quitMainloop(3)
+               else:
+                       self.selectedFiles = []
+                       self.detailsClosed(True)
 
        def reloadPluginlist(self):
                plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
@@ -1287,30 +1292,24 @@ class PluginDetails(Screen, DreamInfoHandler):
                        self.session.openWithCallback(self.runUpgradeFinished, Ipkg, cmdList = self.cmdList)
 
        def runUpgradeFinished(self):
-               self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Installation finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
-
-       def UpgradeReboot(self, result):
-               if result is None:
-                       return
-               if result is False:
+               self.reloadPluginlist()
+               restartRequired = plugins.restartRequired
+               if restartRequired:
+                       self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Installation finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+               else:
                        self.close(True)
+       def UpgradeReboot(self, result):
                if result:
                        quitMainloop(3)
+               else:
+                       self.close(True)
 
        def runRemove(self, result):
                if result:
                        self.session.openWithCallback(self.runRemoveFinished, Ipkg, cmdList = self.cmdList)
 
        def runRemoveFinished(self):
-               self.session.openWithCallback(self.RemoveReboot, MessageBox, _("Remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
-
-       def RemoveReboot(self, result):
-               if result is None:
-                       return
-               if result is False:
-                       self.close(True)
-               if result:
-                       quitMainloop(3)
+               self.close(True)
 
        def reloadPluginlist(self):
                plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
@@ -1884,7 +1883,7 @@ class PacketManager(Screen, NumericalTextInput):
 
                if not self.Console:
                        self.Console = Console()
-               cmd = "opkg list_installed"
+               cmd = "opkg list-installed"
                self.Console.ePopen(cmd, self.IpkgListInstalled_Finished)
 
        def IpkgListInstalled_Finished(self, result, retval, extra_args = None):
@@ -1916,6 +1915,8 @@ class PacketManager(Screen, NumericalTextInput):
        
        def buildEntryComponent(self, name, version, description, state):
                divpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/div-h.png"))
+               if description == "":
+                       description = "No description available."
                if state == 'installed':
                        installedpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_PLUGIN, "SystemPlugins/SoftwareManager/installed.png"))
                        return((name, version, _(description), state, installedpng, divpng))    
@@ -2032,9 +2033,9 @@ def Plugins(path, **kwargs):
        global plugin_path
        plugin_path = path
        list = [
-               PluginDescriptor(name=_("Software management"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup),
-               PluginDescriptor(name=_("Ipkg"), where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)
+               PluginDescriptor(name=_("Software management"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=startSetup),
+               PluginDescriptor(name=_("Ipkg"), where = PluginDescriptor.WHERE_FILESCAN, needsRestart = False, fnc = filescan)
        ]
        if config.usage.setup_level.index >= 2: # expert+
-               list.append(PluginDescriptor(name=_("Software management"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=UpgradeMain))
+               list.append(PluginDescriptor(name=_("Software management"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, needsRestart = False, fnc=UpgradeMain))
        return list
old mode 100755 (executable)
new mode 100644 (file)
index 42fe82d..48f871f
@@ -166,5 +166,5 @@ def startMenu(menuid):
        return [(_("Temperature and Fan control"), main, "tempfancontrol", 80)]
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name = "Temperature and Fan control", description = _("Temperature and Fan control"), where = PluginDescriptor.WHERE_MENU, fnc = startMenu)
+       return PluginDescriptor(name = "Temperature and Fan control", description = _("Temperature and Fan control"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc = startMenu)
 
old mode 100755 (executable)
new mode 100644 (file)
index 7953d38..cde3930
@@ -394,5 +394,5 @@ def startSetup(menuid):
 def Plugins(**kwargs):
        list = []
        if config.usage.setup_level.index >= 2 and os_path.exists("/proc/stb/vmpeg/0/pep_apply"):
-               list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup))
+               list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=startSetup))
        return list
index 1b62206fbf0603b9ecaef369e1688dc6622f0500..9e90c72e61a722dd644b60478e69c62fe52bbcf8 100644 (file)
@@ -34,6 +34,6 @@ def startSetup(menuid):
 
 def Plugins(**kwargs):
        return [
-               PluginDescriptor(name=_("Video Fine-Tuning"), description=_("fine-tune your display"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup),
-               PluginDescriptor(name=_("Video Fine-Tuning Wizard"), where = PluginDescriptor.WHERE_WIZARD, fnc=(1, videoFinetuneWizard))
+               PluginDescriptor(name=_("Video Fine-Tuning"), description=_("fine-tune your display"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=startSetup),
+               PluginDescriptor(name=_("Video Fine-Tuning Wizard"), where = PluginDescriptor.WHERE_WIZARD, needsRestart = False, fnc=(1, videoFinetuneWizard))
        ]
old mode 100755 (executable)
new mode 100644 (file)
index 39c1131..7396534
@@ -227,8 +227,8 @@ def VideoWizard(*args, **kwargs):
 def Plugins(**kwargs):
        list = [
 #              PluginDescriptor(where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART], fnc = autostart),
-               PluginDescriptor(name=_("Video Setup"), description=_("Advanced Video Setup"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup) 
+               PluginDescriptor(name=_("Video Setup"), description=_("Advanced Video Setup"), where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=startSetup) 
        ]
        if config.misc.videowizardenabled.value:
-               list.append(PluginDescriptor(name=_("Video Wizard"), where = PluginDescriptor.WHERE_WIZARD, fnc=(0, VideoWizard)))
+               list.append(PluginDescriptor(name=_("Video Wizard"), where = PluginDescriptor.WHERE_WIZARD, needsRestart = False, fnc=(0, VideoWizard)))
        return list
old mode 100755 (executable)
new mode 100644 (file)
index a13c797..adf47f0
@@ -463,4 +463,4 @@ def configStrings(iface):
                        return '        pre-up iwconfig '+iface+' essid "'+config.plugins.wlan.essid.value+'"\n pre-up /usr/sbin/wpa_supplicant -i'+iface+' -c/etc/wpa_supplicant.conf -B -dd -D'+driver+'\n    post-down wpa_cli terminate'
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name=_("Wireless LAN"), description=_("Connect to a Wireless Network"), where = PluginDescriptor.WHERE_NETWORKSETUP, fnc={"ifaceSupported": callFunction, "configStrings": configStrings, "WlanPluginEntry": lambda x: "Wireless Network Configuartion..."})
+       return PluginDescriptor(name=_("Wireless LAN"), description=_("Connect to a Wireless Network"), where = PluginDescriptor.WHERE_NETWORKSETUP, needsRestart = False, fnc={"ifaceSupported": callFunction, "configStrings": configStrings, "WlanPluginEntry": lambda x: "Wireless Network Configuartion..."})
index a0bfcab9490c720382aa84fc744efe0dbc82ead2..4c6896201d5e04aeb6d4b456761c1b10db7788e2 100644 (file)
@@ -46,7 +46,7 @@ class AudioSelection(Screen, ConfigListScreen):
                        "cancel": self.cancel,
                        "up": self.keyUp,
                        "down": self.keyDown,
-               }, -3)
+               }, -2)
 
                self.settings = ConfigSubsection()
                choicelist = [(PAGE_AUDIO,_("audio tracks")), (PAGE_SUBTITLES,_("Subtitles"))]
@@ -62,13 +62,12 @@ class AudioSelection(Screen, ConfigListScreen):
                streams = []
                conflist = []
                selectedidx = 0
-               
-               service = self.session.nav.getCurrentService()
-               self.audioTracks = audio = service and service.audioTracks()
-               n = audio and audio.getNumberOfTracks() or 0
-               
+
                if self.settings.menupage.getValue() == PAGE_AUDIO:
                        self.setTitle(_("Select audio track"))
+                       service = self.session.nav.getCurrentService()
+                       self.audioTracks = audio = service and service.audioTracks()
+                       n = audio and audio.getNumberOfTracks() or 0
                        if SystemInfo["CanDownmixAC3"]:
                                self.settings.downmix = ConfigOnOff(default=config.av.downmix_ac3.value)
                                self.settings.downmix.addNotifier(self.changeAC3Downmix, initial_call = False)
@@ -77,11 +76,15 @@ class AudioSelection(Screen, ConfigListScreen):
 
                        if n > 0:
                                self.audioChannel = service.audioChannel()
-                               choicelist = [("0",_("left")), ("1",_("stereo")), ("2", _("right"))]
-                               self.settings.channelmode = ConfigSelection(choices = choicelist, default = str(self.audioChannel.getCurrentChannel()))
-                               self.settings.channelmode.addNotifier(self.changeMode, initial_call = False)
-                               conflist.append(getConfigListEntry(_("Channel"), self.settings.channelmode))
-                               self["key_green"].setBoolean(True)
+                               if self.audioChannel:
+                                       choicelist = [("0",_("left")), ("1",_("stereo")), ("2", _("right"))]
+                                       self.settings.channelmode = ConfigSelection(choices = choicelist, default = str(self.audioChannel.getCurrentChannel()))
+                                       self.settings.channelmode.addNotifier(self.changeMode, initial_call = False)
+                                       conflist.append(getConfigListEntry(_("Channel"), self.settings.channelmode))
+                                       self["key_green"].setBoolean(True)
+                               else:
+                                       conflist.append(('',))
+                                       self["key_green"].setBoolean(False)
                                selectedAudio = self.audioTracks.getCurrentTrack()
                                for x in range(n):
                                        number = str(x)
@@ -137,7 +140,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                        language = _("<unknown>")
                                        selected = ""
 
-                                       if sel and x[:4] == sel[:4]:
+                                       if sel and x == sel:
                                                selected = _("Running")
                                                selectedidx = idx
                                        
@@ -156,7 +159,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                                number = "%x%02x" % (x[3],x[2])
 
                                        elif x[0] == 2:
-                                               types = ("UTF-8 text","SSA / AAS",".SRT file")
+                                               types = (_("<unknown>"), "UTF-8 text", "SSA", "AAS", ".SRT file", "VOB", "PGS (unsupported)")
                                                description = types[x[2]]
 
                                        streams.append((x, "", number, description, language, selected))
@@ -185,7 +188,7 @@ class AudioSelection(Screen, ConfigListScreen):
                                conflist.append(getConfigListEntry(Plugins[0][0], ConfigNothing()))
                                self.plugincallfunc = Plugins[0][1]
                        if len(Plugins) > 1:
-                               print "these plugins are installed but not displayed in the dialog box:", Plugins[1:]
+                               print "plugin(s) installed but not displayed in the dialog box:", Plugins[1:]
 
                self["config"].list = conflist
                self["config"].l.setList(conflist)
@@ -219,7 +222,7 @@ class AudioSelection(Screen, ConfigListScreen):
                config.av.downmix_ac3.save()
 
        def changeMode(self, mode):
-               if mode is not None:
+               if mode is not None and self.audioChannel:
                        self.audioChannel.selectChannel(int(mode.getValue()))
 
        def changeAudio(self, audio):
index 5b061245b1937c8d82bb2f47cc157d49eb17e081..550628786ff0a8f109d2f6ce6855d34b1876e9b5 100644 (file)
@@ -221,6 +221,7 @@ class MoviePlayer(InfoBarBase, InfoBarShowHide, \
                        self.session.nav.stopService()
                elif answer == "restart":
                        self.doSeek(0)
+                       self.setSeekState(self.SEEK_STATE_PLAY)
 
        def doEofInternal(self, playing):
                if not self.execing:
index 6fa891122c9beb5621ed6a035b8d598875dfb0c7..4f6eafca0c752f17ca8d68f8dff53512dd96a42b 100644 (file)
@@ -717,7 +717,7 @@ class InfoBarSeek:
        SEEK_STATE_PAUSE = (1, 0, 0, "||")
        SEEK_STATE_EOF = (1, 0, 0, "END")
 
-       def __init__(self, actionmap = "InfobarSeekActions", useSeekBackHack=True):
+       def __init__(self, actionmap = "InfobarSeekActions"):
                self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
                        {
                                iPlayableService.evSeekableStatusChanged: self.__seekableStatusChanged,
@@ -774,20 +774,10 @@ class InfoBarSeek:
                self.__seekableStatusChanged()
 
        def makeStateForward(self, n):
-#              minspeed = config.seek.stepwise_minspeed.value
-#              repeat = int(config.seek.stepwise_repeat.value)
-#              if minspeed != "Never" and n >= int(minspeed) and repeat > 1:
-#                      return (0, n * repeat, repeat, ">> %dx" % n)
-#              else:
-                       return (0, n, 0, ">> %dx" % n)
+               return (0, n, 0, ">> %dx" % n)
 
        def makeStateBackward(self, n):
-#              minspeed = config.seek.stepwise_minspeed.value
-#              repeat = int(config.seek.stepwise_repeat.value)
-#              if minspeed != "Never" and n >= int(minspeed) and repeat > 1:
-#                      return (0, -n * repeat, repeat, "<< %dx" % n)
-#              else:
-                       return (0, -n, 0, "<< %dx" % n)
+               return (0, -n, 0, "<< %dx" % n)
 
        def makeStateSlowMotion(self, n):
                return (0, 0, n, "/%d" % n)
@@ -1970,20 +1960,21 @@ class InfoBarCueSheetSupport:
                return True
 
        def jumpPreviousMark(self):
-               # we add 2 seconds, so if the play position is <2s after
+               # we add 5 seconds, so if the play position is <5s after
                # the mark, the mark before will be used
                self.jumpPreviousNextMark(lambda x: -x-5*90000, start=True)
 
        def jumpNextMark(self):
-               if not self.jumpPreviousNextMark(lambda x: x):
+               if not self.jumpPreviousNextMark(lambda x: x-90000):
                        self.doSeek(-1)
 
        def getNearestCutPoint(self, pts, cmp=abs, start=False):
                # can be optimized
-               beforecut = False
+               beforecut = True
                nearest = None
+               bestdiff = -1
+               instate = True
                if start:
-                       beforecut = True
                        bestdiff = cmp(0 - pts)
                        if bestdiff >= 0:
                                nearest = [0, False]
@@ -1992,14 +1983,19 @@ class InfoBarCueSheetSupport:
                                beforecut = False
                                if cp[1] == self.CUT_TYPE_IN:  # Start is here, disregard previous marks
                                        diff = cmp(cp[0] - pts)
-                                       if diff >= 0:
+                                       if start and diff >= 0:
                                                nearest = cp
                                                bestdiff = diff
                                        else:
                                                nearest = None
-                       if cp[1] in (self.CUT_TYPE_MARK, self.CUT_TYPE_LAST):
+                                               bestdiff = -1
+                       if cp[1] == self.CUT_TYPE_IN:
+                               instate = True
+                       elif cp[1] == self.CUT_TYPE_OUT:
+                               instate = False
+                       elif cp[1] in (self.CUT_TYPE_MARK, self.CUT_TYPE_LAST):
                                diff = cmp(cp[0] - pts)
-                               if diff >= 0 and (nearest is None or bestdiff > diff):
+                               if instate and diff >= 0 and (nearest is None or bestdiff > diff):
                                        nearest = cp
                                        bestdiff = diff
                return nearest
index e5e7af4e3e522fc2102c8fa250394011c069390b..61440d416002ad8e72ede67d7d70564c608e1633 100644 (file)
@@ -103,6 +103,7 @@ class SleepTimerEdit(Screen):
                        config.SleepTimer.defaulttime.setValue(time)
                        config.SleepTimer.defaulttime.save()
                        config.SleepTimer.action.save()
+                       config.SleepTimer.ask.save()
                        self.session.nav.SleepTimer.setSleepTime(time)
                        self.session.openWithCallback(self.close, MessageBox, _("The sleep timer has been activated."), MessageBox.TYPE_INFO)
                else:
index edafd1a2ac2a540940c87beb68cbd1f26c4b2306..9f956b66c078734c4975c48d3ecd6c71d0682f42 100644 (file)
@@ -16,7 +16,8 @@ libenigma_service_a_SOURCES = \
        servicedvb.cpp \
        servicedvbrecord.cpp \
        servicefs.cpp \
-       servicemp3.cpp
+       servicemp3.cpp \
+       servicem2ts.cpp
 
 serviceincludedir = $(pkgincludedir)/lib/service
 serviceinclude_HEADERS = \
@@ -27,7 +28,8 @@ serviceinclude_HEADERS = \
        servicedvb.h \
        servicedvbrecord.h \
        servicefs.h \
-       servicemp3.h
+       servicemp3.h \
+       servicem2ts.h
 
 if HAVE_LIBXINE
 libenigma_service_a_SOURCES += \
index 2f07ce440f7c5f6ca6b5dab0ea7620fa5e122cab..8650989a49c501b9b514df9434e6eca326cc845c 100644 (file)
@@ -905,7 +905,7 @@ RESULT eServiceFactoryDVB::lookupService(ePtr<eDVBService> &service, const eServ
                /* we are sure to have a ..DVB reference as the info() call was forwarded here according to it's ID. */
                if ((err = db->getService((eServiceReferenceDVB&)ref, service)) != 0)
                {
-                       eDebug("getService failed!");
+//                     eDebug("getService failed!");
                        return err;
                }
        }
@@ -1801,6 +1801,8 @@ RESULT eDVBServicePlay::getTrackInfo(struct iAudioTrackInfo &info, unsigned int
                info.m_description = "AAC-HE";
        else  if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atDTS)
                info.m_description = "DTS";
+       else  if (program.audioStreams[i].type == eDVBServicePMTHandler::audioStream::atDTSHD)
+               info.m_description = "DTS-HD";
        else
                info.m_description = "???";
 
diff --git a/lib/service/servicem2ts.cpp b/lib/service/servicem2ts.cpp
new file mode 100644 (file)
index 0000000..e79907d
--- /dev/null
@@ -0,0 +1,380 @@
+#include <lib/base/init_num.h>
+#include <lib/base/init.h>
+#include <lib/dvb/metaparser.h>
+#include <lib/service/servicem2ts.h>
+
+DEFINE_REF(eServiceFactoryM2TS)
+
+class eM2TSFile: public iTsSource
+{
+       DECLARE_REF(eM2TSFile);
+       eSingleLock m_lock;
+public:
+       eM2TSFile(const char *filename, bool cached=false);
+       ~eM2TSFile();
+
+       // 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_sync_offset;
+       int m_fd;     /* for uncached */
+       FILE *m_file; /* for cached */
+       off_t m_current_offset, m_length;
+       bool m_cached;
+       off_t lseek_internal(off_t offset, int whence);
+};
+
+class eStaticServiceM2TSInformation: public iStaticServiceInformation
+{
+       DECLARE_REF(eStaticServiceM2TSInformation);
+       eServiceReference m_ref;
+       eDVBMetaParser m_parser;
+public:
+       eStaticServiceM2TSInformation(const eServiceReference &ref);
+       RESULT getName(const eServiceReference &ref, std::string &name);
+       int getLength(const eServiceReference &ref);
+       RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &SWIG_OUTPUT, time_t start_time);
+       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore) { return 1; }
+       int getInfo(const eServiceReference &ref, int w);
+       std::string getInfoString(const eServiceReference &ref,int w);
+       PyObject *getInfoObject(const eServiceReference &r, int what);
+};
+
+DEFINE_REF(eStaticServiceM2TSInformation);
+
+eStaticServiceM2TSInformation::eStaticServiceM2TSInformation(const eServiceReference &ref)
+{
+       m_ref = ref;
+       m_parser.parseFile(ref.path);
+}
+
+RESULT eStaticServiceM2TSInformation::getName(const eServiceReference &ref, std::string &name)
+{
+       ASSERT(ref == m_ref);
+       if (m_parser.m_name.size())
+               name = m_parser.m_name;
+       else
+       {
+               name = ref.path;
+               size_t n = name.rfind('/');
+               if (n != std::string::npos)
+                       name = name.substr(n + 1);
+       }
+       return 0;
+}
+
+int eStaticServiceM2TSInformation::getLength(const eServiceReference &ref)
+{
+       ASSERT(ref == m_ref);
+       
+       eDVBTSTools tstools;
+       
+       struct stat s;
+       stat(ref.path.c_str(), &s);
+
+       eM2TSFile *file = new eM2TSFile(ref.path.c_str());
+       ePtr<iTsSource> source = file;
+
+       if (!source->valid())
+               return 0;
+
+       tstools.setSource(source);
+
+                       /* check if cached data is still valid */
+       if (m_parser.m_data_ok && (s.st_size == m_parser.m_filesize) && (m_parser.m_length))
+               return m_parser.m_length / 90000;
+
+       /* open again, this time with stream info */
+       tstools.setSource(source, ref.path.c_str());
+
+                       /* otherwise, re-calc length and update meta file */
+       pts_t len;
+       if (tstools.calcLen(len))
+               return 0;
+
+       m_parser.m_length = len;
+       m_parser.m_filesize = s.st_size;
+       m_parser.updateMeta(ref.path);
+       return m_parser.m_length / 90000;
+}
+
+int eStaticServiceM2TSInformation::getInfo(const eServiceReference &ref, int w)
+{
+       switch (w)
+       {
+       case iServiceInformation::sDescription:
+               return iServiceInformation::resIsString;
+       case iServiceInformation::sServiceref:
+               return iServiceInformation::resIsString;
+       case iServiceInformation::sFileSize:
+               return m_parser.m_filesize;
+       case iServiceInformation::sTimeCreate:
+               if (m_parser.m_time_create)
+                       return m_parser.m_time_create;
+               else
+                       return iServiceInformation::resNA;
+       default:
+               return iServiceInformation::resNA;
+       }
+}
+
+std::string eStaticServiceM2TSInformation::getInfoString(const eServiceReference &ref,int w)
+{
+       switch (w)
+       {
+       case iServiceInformation::sDescription:
+               return m_parser.m_description;
+       case iServiceInformation::sServiceref:
+               return m_parser.m_ref.toString();
+       case iServiceInformation::sTags:
+               return m_parser.m_tags;
+       default:
+               return "";
+       }
+}
+
+PyObject *eStaticServiceM2TSInformation::getInfoObject(const eServiceReference &r, int what)
+{
+       switch (what)
+       {
+       case iServiceInformation::sFileSize:
+               return PyLong_FromLongLong(m_parser.m_filesize);
+       default:
+               Py_RETURN_NONE;
+       }
+}
+
+RESULT eStaticServiceM2TSInformation::getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &evt, time_t start_time)
+{
+       if (!ref.path.empty())
+       {
+               ePtr<eServiceEvent> event = new eServiceEvent;
+               std::string filename = ref.path;
+               filename.erase(filename.length()-4, 2);
+               filename+="eit";
+               if (!event->parseFrom(filename, (m_parser.m_ref.getTransportStreamID().get()<<16)|m_parser.m_ref.getOriginalNetworkID().get()))
+               {
+                       evt = event;
+                       return 0;
+               }
+       }
+       evt = 0;
+       return -1;
+}
+
+DEFINE_REF(eM2TSFile);
+
+eM2TSFile::eM2TSFile(const char *filename, bool cached)
+       :m_lock(false), m_sync_offset(0), m_fd(-1), m_file(NULL), m_current_offset(0), m_length(0), m_cached(cached)
+{
+       if (!m_cached)
+               m_fd = ::open(filename, O_RDONLY | O_LARGEFILE);
+       else
+               m_file = ::fopen64(filename, "rb");
+       if (valid())
+               m_current_offset = m_length = lseek_internal(0, SEEK_END);
+}
+
+eM2TSFile::~eM2TSFile()
+{
+       if (m_cached)
+       {
+               if (m_file)
+               {
+                       ::fclose(m_file);
+                       m_file = 0;
+               }
+       }
+       else
+       {
+               if (m_fd >= 0)
+                       ::close(m_fd);
+               m_fd = -1;
+       }
+}
+
+off_t eM2TSFile::lseek(off_t offset, int whence)
+{
+       eSingleLocker l(m_lock);
+
+       offset = (offset % 188) + (offset * 192) / 188;
+
+       if (offset != m_current_offset)
+               m_current_offset = lseek_internal(offset, whence);
+
+       return m_current_offset;
+}
+
+off_t eM2TSFile::lseek_internal(off_t offset, int whence)
+{
+       off_t ret;
+
+       if (!m_cached)
+               ret = ::lseek(m_fd, offset, whence);
+       else
+       {
+               if (::fseeko(m_file, offset, whence) < 0)
+                       perror("fseeko");
+               ret = ::ftello(m_file);
+       }
+       return ret <= 0 ? ret : (ret % 192) + (ret*188) / 192;
+}
+
+ssize_t eM2TSFile::read(off_t offset, void *b, size_t count)
+{
+       eSingleLocker l(m_lock);
+       unsigned char tmp[192*3];
+       unsigned char *buf = (unsigned char*)b;
+
+       size_t rd=0;
+       offset = (offset % 188) + (offset * 192) / 188;
+
+sync:
+       if ((offset+m_sync_offset) != m_current_offset)
+       {
+//             eDebug("seekTo %lld", offset+m_sync_offset);
+               m_current_offset = lseek_internal(offset+m_sync_offset, SEEK_SET);
+               if (m_current_offset < 0)
+                       return m_current_offset;
+       }
+
+       while (rd < count) {
+               size_t ret;
+               if (!m_cached)
+                       ret = ::read(m_fd, tmp, 192);
+               else
+                       ret = ::fread(tmp, 1, 192, m_file);
+               if (ret < 0 || ret < 192)
+                       return rd ? rd : ret;
+
+               if (tmp[4] != 0x47)
+               {
+                       if (rd > 0) {
+                               eDebug("short read at pos %lld async!!", m_current_offset);
+                               return rd;
+                       }
+                       else {
+                               int x=0;
+                               if (!m_cached)
+                                       ret = ::read(m_fd, tmp+192, 384);
+                               else
+                                       ret = ::fread(tmp+192, 1, 384, m_file);
+
+#if 0
+                               eDebugNoNewLine("m2ts out of sync at pos %lld, real %lld:", offset + m_sync_offset, m_current_offset);
+                               for (; x < 192; ++x)
+                                       eDebugNoNewLine(" %02x", tmp[x]);
+                               eDebug("");
+                               x=0;
+#else
+                               eDebug("m2ts out of sync at pos %lld, real %lld", offset + m_sync_offset, m_current_offset);
+#endif
+                               for (; x < 192; ++x)
+                               {
+                                       if (tmp[x] == 0x47 && tmp[x+192] == 0x47)
+                                       {
+                                               int add_offs = (x - 4);
+                                               eDebug("sync found at pos %d, sync_offset is now %d, old was %d", x, add_offs + m_sync_offset, m_sync_offset);
+                                               m_sync_offset += add_offs;
+                                               goto sync;
+                                       }
+                               }
+                       }
+               }
+
+               memcpy(buf+rd, tmp+4, 188);
+
+               rd += 188;
+               m_current_offset += 188;
+       }
+
+       m_sync_offset %= 188;
+
+       return rd;
+}
+
+int eM2TSFile::valid()
+{
+       if (!m_cached)
+               return m_fd != -1;
+       else
+               return !!m_file;
+}
+
+off_t eM2TSFile::length()
+{
+       return m_length;
+}
+
+eServiceFactoryM2TS::eServiceFactoryM2TS()
+{
+       ePtr<eServiceCenter> sc;
+       eServiceCenter::getPrivInstance(sc);
+       if (sc)
+       {
+               std::list<std::string> extensions;
+               extensions.push_back("m2ts");
+               extensions.push_back("mts");
+               sc->addServiceFactory(eServiceFactoryM2TS::id, this, extensions);
+       }
+}
+
+eServiceFactoryM2TS::~eServiceFactoryM2TS()
+{
+       ePtr<eServiceCenter> sc;
+       
+       eServiceCenter::getPrivInstance(sc);
+       if (sc)
+               sc->removeServiceFactory(eServiceFactoryM2TS::id);
+}
+
+RESULT eServiceFactoryM2TS::play(const eServiceReference &ref, ePtr<iPlayableService> &ptr)
+{
+       ptr = new eServiceM2TS(ref);
+       return 0;
+}
+
+RESULT eServiceFactoryM2TS::record(const eServiceReference &ref, ePtr<iRecordableService> &ptr)
+{
+       ptr=0;
+       return -1;
+}
+
+RESULT eServiceFactoryM2TS::list(const eServiceReference &ref, ePtr<iListableService> &ptr)
+{
+       ptr=0;
+       return -1;
+}
+
+RESULT eServiceFactoryM2TS::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
+{
+       ptr=new eStaticServiceM2TSInformation(ref);
+       return 0;
+}
+
+RESULT eServiceFactoryM2TS::offlineOperations(const eServiceReference &ref, ePtr<iServiceOfflineOperations> &ptr)
+{
+       ptr = 0;
+       return -1;
+}
+
+eServiceM2TS::eServiceM2TS(const eServiceReference &ref)
+       :eDVBServicePlay(ref, NULL)
+{
+}
+
+ePtr<iTsSource> eServiceM2TS::createTsSource(eServiceReferenceDVB &ref)
+{
+       ePtr<iTsSource> source = new eM2TSFile(ref.path.c_str());
+       return source;
+}
+
+RESULT eServiceM2TS::isCurrentlySeekable()
+{
+       return 1; // for fast winding we need index files... so only skip forward/backward yet
+}
+
+eAutoInitPtr<eServiceFactoryM2TS> init_eServiceFactoryM2TS(eAutoInitNumbers::service+1, "eServiceFactoryM2TS");
diff --git a/lib/service/servicem2ts.h b/lib/service/servicem2ts.h
new file mode 100644 (file)
index 0000000..bfa4f7d
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef __servicem2ts_h
+#define __servicem2ts_h
+
+#include <lib/service/servicedvb.h>
+
+class eServiceFactoryM2TS: public iServiceHandler
+{
+       DECLARE_REF(eServiceFactoryM2TS);
+public:
+       eServiceFactoryM2TS();
+       virtual ~eServiceFactoryM2TS();
+       enum { id = 0x3 };
+
+               // iServiceHandler
+       RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
+       RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
+       RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
+       RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
+       RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
+};
+
+class eServiceM2TS: public eDVBServicePlay
+{
+       friend class eServiceFactoryM2TS;
+protected:
+       eServiceM2TS(const eServiceReference &ref);
+       ePtr<iTsSource> createTsSource(eServiceReferenceDVB &ref);
+
+       // iSeekableService
+       RESULT isCurrentlySeekable();
+};
+
+#endif
index e453a2b3c896a6cef1be80a9236d7d08386de658..b05b1030bec8bf1cad8afd07ac82232ac02d67c6 100644 (file)
@@ -11,6 +11,7 @@
 #include <lib/gui/esubtitle.h>
 #include <lib/service/servicemp3.h>
 #include <lib/service/service.h>
+#include <lib/gdi/gpixmap.h>
 
 #include <string>
 
@@ -225,6 +226,9 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
        m_currentTrickRatio = 0;
        m_subs_to_pull = 0;
        m_buffer_size = 1*1024*1024;
+       m_prev_decoder_time = -1;
+       m_decoder_time_valid_state = 0;
+
        CONNECT(m_seekTimeout->timeout, eServiceMP3::seekTimeoutCB);
        CONNECT(m_subtitle_sync_timer->timeout, eServiceMP3::pushSubtitles);
        CONNECT(m_pump.recv_msg, eServiceMP3::gstPoll);
@@ -327,7 +331,7 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
 
        g_object_set (G_OBJECT (m_gst_playbin), "uri", uri, NULL);
 
-       int flags = 0x47; // ( == GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_TEXT )
+       int flags = 0x47; // ( GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_TEXT );
        g_object_set (G_OBJECT (m_gst_playbin), "flags", flags, NULL);
 
        g_free(uri);
@@ -338,8 +342,9 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
        else
        {
                m_subs_to_pull_handler_id = g_signal_connect (subsink, "new-buffer", G_CALLBACK (gstCBsubtitleAvail), this);
-               g_object_set (G_OBJECT (subsink), "caps", gst_caps_from_string("text/plain; text/x-plain; text/x-pango-markup"), NULL);
+               g_object_set (G_OBJECT (subsink), "caps", gst_caps_from_string("text/plain; text/x-plain; text/x-pango-markup; video/x-dvd-subpicture; subpicture/x-pgs"), NULL);
                g_object_set (G_OBJECT (m_gst_playbin), "text-sink", subsink, NULL);
+               
        }
 
        if ( m_gst_playbin )
@@ -354,14 +359,6 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
                {
                        eDebug("eServiceMP3::subtitle uri: %s", g_filename_to_uri(srt_filename, NULL, NULL));
                        g_object_set (G_OBJECT (m_gst_playbin), "suburi", g_filename_to_uri(srt_filename, NULL, NULL), NULL);
-                       subtitleStream subs;
-                       subs.type = stSRT;
-                       subs.language_code = std::string("und");
-                       m_subtitleStreams.push_back(subs);
-               }
-               if ( m_sourceinfo.is_streaming )
-               {
-                       g_signal_connect (G_OBJECT (m_gst_playbin), "notify::source", G_CALLBACK (gstHTTPSourceSetAgent), this);
                }
        } else
        {
@@ -380,12 +377,12 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
 eServiceMP3::~eServiceMP3()
 {
        // disconnect subtitle callback
-       GstElement *sink;
-       g_object_get (G_OBJECT (m_gst_playbin), "text-sink", &sink, NULL);
-       if (sink)
+       GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_playbin), "subtitle_sink");
+
+       if (appsink)
        {
-               g_signal_handler_disconnect (sink, m_subs_to_pull_handler_id);
-               gst_object_unref(sink);
+               g_signal_handler_disconnect (appsink, m_subs_to_pull_handler_id);
+               gst_object_unref(appsink);
        }
 
        delete m_subtitle_widget;
@@ -442,6 +439,8 @@ RESULT eServiceMP3::stop()
 
        if (m_state == stStopped)
                return -1;
+       
+       //GST_DEBUG_BIN_TO_DOT_FILE(GST_BIN(m_gst_playbin),GST_DEBUG_GRAPH_SHOW_ALL,"e2-playbin");
 
        eDebug("eServiceMP3::stop %s", m_ref.path.c_str());
        gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
@@ -568,6 +567,8 @@ RESULT eServiceMP3::seekTo(pts_t to)
                if (!(ret = seekToImpl(to)))
                {
                        m_subtitle_pages.clear();
+                       m_prev_decoder_time = -1;
+                       m_decoder_time_valid_state = 0;
                        m_subs_to_pull = 0;
                }
        }
@@ -669,6 +670,7 @@ RESULT eServiceMP3::getPlayPosition(pts_t &pts)
 
        /* pos is in nanoseconds. we have 90 000 pts per second. */
        pts = pos / 11111;
+//     eDebug("gst_element_query_position %lld pts (%lld ms)", pts, pos/1000000);
        return 0;
 }
 
@@ -1111,6 +1113,48 @@ RESULT eServiceMP3::getTrackInfo(struct iAudioTrackInfo &info, unsigned int i)
        return 0;
 }
 
+subtype_t getSubtitleType(GstPad* pad, gchar *g_codec=NULL)
+{
+       subtype_t type = stUnknown;
+       GstCaps* caps = gst_pad_get_negotiated_caps(pad);
+
+       if ( caps )
+       {
+               GstStructure* str = gst_caps_get_structure(caps, 0);
+               const gchar *g_type = gst_structure_get_name(str);
+               eDebug("getSubtitleType::subtitle probe caps type=%s", g_type);
+
+               if ( !strcmp(g_type, "video/x-dvd-subpicture") )
+                       type = stVOB;
+               else if ( !strcmp(g_type, "text/x-pango-markup") )
+                       type = stSSA;
+               else if ( !strcmp(g_type, "text/plain") )
+                       type = stPlainText;
+               else if ( !strcmp(g_type, "subpicture/x-pgs") )
+                       type = stPGS;
+               else
+                       eDebug("getSubtitleType::unsupported subtitle caps %s (%s)", g_type, g_codec);
+       }
+       else if ( g_codec )
+       {
+               eDebug("getSubtitleType::subtitle probe codec tag=%s", g_codec);
+               if ( !strcmp(g_codec, "VOB") )
+                       type = stVOB;
+               else if ( !strcmp(g_codec, "SubStation Alpha") || !strcmp(g_codec, "SSA") )
+                       type = stSSA;
+               else if ( !strcmp(g_codec, "ASS") )
+                       type = stASS;
+               else if ( !strcmp(g_codec, "UTF-8 plain text") )
+                       type = stPlainText;
+               else
+                       eDebug("getSubtitleType::unsupported subtitle codec %s", g_codec);
+       }
+       else
+               eDebug("getSubtitleType::unidentifiable subtitle stream!");
+
+       return type;
+}
+
 void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
 {
        if (!msg)
@@ -1157,16 +1201,15 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                                }       break;
                                case GST_STATE_CHANGE_READY_TO_PAUSED:
                                {
-                                       GstElement *sink;
-                                       g_object_get (G_OBJECT (m_gst_playbin), "text-sink", &sink, NULL);
-                                       if (sink)
-                                       {
-                                               g_object_set (G_OBJECT (sink), "max-buffers", 2, NULL);
-                                               g_object_set (G_OBJECT (sink), "sync", FALSE, NULL);
-                                               g_object_set (G_OBJECT (sink), "async", FALSE, NULL);
-                                               g_object_set (G_OBJECT (sink), "emit-signals", TRUE, NULL);
-                                               gst_object_unref(sink);
-                                       }
+                                       GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_playbin), "subtitle_sink");
+                                       if (appsink)
+                                       {
+                                               g_object_set (G_OBJECT (appsink), "max-buffers", 2, NULL);
+                                               g_object_set (G_OBJECT (appsink), "sync", FALSE, NULL);
+                                               g_object_set (G_OBJECT (appsink), "emit-signals", TRUE, NULL);
+                                               eDebug("eServiceMP3::appsink properties set!");
+                                               gst_object_unref(appsink);
+                                       }
                                        setAC3Delay(ac3_delay);
                                        setPCMDelay(pcm_delay);
                                }       break;
@@ -1283,7 +1326,6 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                                        continue;
                                GstStructure* str = gst_caps_get_structure(caps, 0);
                                const gchar *g_type = gst_structure_get_name(str);
-                               eDebug("AUDIO STRUCT=%s", g_type);
                                audio.type = gstCheckAudioPad(str);
                                g_codec = g_strdup(g_type);
                                g_lang = g_strdup_printf ("und");
@@ -1304,25 +1346,31 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                        }
 
                        for (i = 0; i < n_text; i++)
-                       {       
-                               gchar *g_lang;
-//                             gchar *g_type;
-//                             GstPad* pad = 0;
-//                             g_signal_emit_by_name (m_gst_playbin, "get-text-pad", i, &pad);
-//                             GstCaps* caps = gst_pad_get_negotiated_caps(pad);
-//                             GstStructure* str = gst_caps_get_structure(caps, 0);
-//                             g_type = gst_structure_get_name(str);
-//                             g_signal_emit_by_name (m_gst_playbin, "get-text-tags", i, &tags);
+                       {
+                               gchar *g_codec = NULL, *g_lang = NULL;
+                               g_signal_emit_by_name (m_gst_playbin, "get-text-tags", i, &tags);
                                subtitleStream subs;
-                               subs.type = stPlainText;
+//                             int ret;
+
                                g_lang = g_strdup_printf ("und");
                                if ( tags && gst_is_tag_list(tags) )
+                               {
                                        gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &g_lang);
+                                       gst_tag_list_get_string(tags, GST_TAG_SUBTITLE_CODEC, &g_codec);
+                                       gst_tag_list_free(tags);
+                               }
+
                                subs.language_code = std::string(g_lang);
-                               eDebug("eServiceMP3::subtitle stream=%i language=%s"/* type=%s*/, i, g_lang/*, g_type*/);
+                               eDebug("eServiceMP3::subtitle stream=%i language=%s codec=%s", i, g_lang, g_codec);
+                               
+                               GstPad* pad = 0;
+                               g_signal_emit_by_name (m_gst_playbin, "get-text-pad", i, &pad);
+                               if ( pad )
+                                       g_signal_connect (G_OBJECT (pad), "notify::caps", G_CALLBACK (gstTextpadHasCAPS), this);
+                               subs.type = getSubtitleType(pad, g_codec);
+
                                m_subtitleStreams.push_back(subs);
                                g_free (g_lang);
-//                             g_free (g_type);
                        }
                        m_event((iPlayableService*)this, evUpdatedEventInfo);
                        break;
@@ -1415,7 +1463,7 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
 GstBusSyncReply eServiceMP3::gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data)
 {
        eServiceMP3 *_this = (eServiceMP3*)user_data;
-       _this->m_pump.send(1);
+       _this->m_pump.send(Message(1));
                /* wake */
        return GST_BUS_PASS;
 }
@@ -1469,43 +1517,103 @@ audiotype_t eServiceMP3::gstCheckAudioPad(GstStructure* structure)
        return atUnknown;
 }
 
-void eServiceMP3::gstPoll(const int &msg)
+void eServiceMP3::gstPoll(const Message &msg)
 {
-               /* ok, we have a serious problem here. gstBusSyncHandler sends 
-                  us the wakup signal, but likely before it was posted.
-                  the usleep, an EVIL HACK (DON'T DO THAT!!!) works around this.
-                  
-                  I need to understand the API a bit more to make this work 
-                  proplerly. */
-       if (msg == 1)
+       if (msg.type == 1)
        {
                GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (m_gst_playbin));
                GstMessage *message;
-               usleep(1);
-               while ((message = gst_bus_pop (bus)))
+               while ((message = gst_bus_pop(bus)))
                {
                        gstBusCall(bus, message);
                        gst_message_unref (message);
                }
        }
-       else
+       else if (msg.type == 2)
                pullSubtitle();
+       else if (msg.type == 3)
+               gstTextpadHasCAPS_synced(msg.d.pad);
+       else
+               eDebug("gstPoll unhandled Message %d\n", msg.type);
 }
 
 eAutoInitPtr<eServiceFactoryMP3> init_eServiceFactoryMP3(eAutoInitNumbers::service+1, "eServiceFactoryMP3");
 
 void eServiceMP3::gstCBsubtitleAvail(GstElement *appsink, gpointer user_data)
 {
-       eServiceMP3 *_this = (eServiceMP3*)user_data;
+       eServiceMP3 *_this = (eServiceMP3*)user_data;   
        eSingleLocker l(_this->m_subs_to_pull_lock);
        ++_this->m_subs_to_pull;
-       _this->m_pump.send(2);
+       _this->m_pump.send(Message(2));
+}
+
+void eServiceMP3::gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data)
+{
+       eServiceMP3 *_this = (eServiceMP3*)user_data;
+
+       gst_object_ref (pad);
+
+       _this->m_pump.send(Message(3, pad));
+}
+
+// after messagepump
+void eServiceMP3::gstTextpadHasCAPS_synced(GstPad *pad)
+{
+       GstCaps *caps;
+
+       g_object_get (G_OBJECT (pad), "caps", &caps, NULL);
+
+       eDebug("gstTextpadHasCAPS:: signal::caps = %s", gst_caps_to_string(caps));
+
+       if (caps)
+       {
+               subtitleStream subs;
+
+//             eDebug("gstGhostpadHasCAPS_synced %p %d", pad, m_subtitleStreams.size());
+
+               if (!m_subtitleStreams.empty())
+                       subs = m_subtitleStreams[m_currentSubtitleStream];
+               else {
+                       subs.type = stUnknown;
+                       subs.pad = pad;
+               }
+
+               if ( subs.type == stUnknown )
+               {
+                       GstTagList *tags;
+//                     eDebug("gstGhostpadHasCAPS::m_subtitleStreams[%i].type == stUnknown...", m_currentSubtitleStream);
+
+                       gchar *g_lang;
+                       g_signal_emit_by_name (m_gst_playbin, "get-text-tags", m_currentSubtitleStream, &tags);
+
+                       g_lang = g_strdup_printf ("und");
+                       if ( tags && gst_is_tag_list(tags) )
+                               gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &g_lang);
+
+                       subs.language_code = std::string(g_lang);
+                       subs.type = getSubtitleType(pad);
+
+                       if (!m_subtitleStreams.empty())
+                               m_subtitleStreams[m_currentSubtitleStream] = subs;
+                       else
+                               m_subtitleStreams.push_back(subs);
+
+                       g_free (g_lang);
+               }
+
+//             eDebug("gstGhostpadHasCAPS:: m_gst_prev_subtitle_caps=%s equal=%i",gst_caps_to_string(m_gst_prev_subtitle_caps),gst_caps_is_equal(m_gst_prev_subtitle_caps, caps));
+
+               gst_caps_unref (caps);
+       }
+
+       gst_object_unref (pad);
 }
 
 void eServiceMP3::pullSubtitle()
 {
        GstElement *sink;
        g_object_get (G_OBJECT (m_gst_playbin), "text-sink", &sink, NULL);
+       
        if (sink)
        {
                while (m_subs_to_pull && m_subtitle_pages.size() < 2)
@@ -1521,17 +1629,31 @@ void eServiceMP3::pullSubtitle()
                                gint64 buf_pos = GST_BUFFER_TIMESTAMP(buffer);
                                gint64 duration_ns = GST_BUFFER_DURATION(buffer);
                                size_t len = GST_BUFFER_SIZE(buffer);
-                               unsigned char line[len+1];
-                               memcpy(line, GST_BUFFER_DATA(buffer), len);
-                               line[len] = 0;
-                               eDebug("got new subtitle @ buf_pos = %lld ns (in pts=%lld): '%s' ", buf_pos, buf_pos/11111, line);
-                               ePangoSubtitlePage page;
-                               gRGB rgbcol(0xD0,0xD0,0xD0);
-                               page.m_elements.push_back(ePangoSubtitlePageElement(rgbcol, (const char*)line));
-                               page.show_pts = buf_pos / 11111L;
-                               page.m_timeout = duration_ns / 1000000;
-                               m_subtitle_pages.push_back(page);
-                               pushSubtitles();
+                               eDebug("pullSubtitle m_subtitleStreams[m_currentSubtitleStream].type=%i",m_subtitleStreams[m_currentSubtitleStream].type);
+                               
+                               if ( m_subtitleStreams[m_currentSubtitleStream].type )
+                               {
+                                       if ( m_subtitleStreams[m_currentSubtitleStream].type < stVOB )
+                                       {
+                                               unsigned char line[len+1];
+                                               SubtitlePage page;
+                                               memcpy(line, GST_BUFFER_DATA(buffer), len);
+                                               line[len] = 0;
+                                               eDebug("got new text subtitle @ buf_pos = %lld ns (in pts=%lld): '%s' ", buf_pos, buf_pos/11111, line);
+                                               gRGB rgbcol(0xD0,0xD0,0xD0);
+                                               page.type = SubtitlePage::Pango;
+                                               page.pango_page.m_elements.push_back(ePangoSubtitlePageElement(rgbcol, (const char*)line));
+                                               page.pango_page.m_show_pts = buf_pos / 11111L;
+                                               page.pango_page.m_timeout = duration_ns / 1000000;
+                                               m_subtitle_pages.push_back(page);
+                                               if (m_subtitle_pages.size()==1)
+                                                       pushSubtitles();
+                                       }
+                                       else
+                                       {
+                                               eDebug("unsupported subpicture... ignoring");
+                                       }
+                               }
                                gst_buffer_unref(buffer);
                        }
                }
@@ -1543,45 +1665,56 @@ void eServiceMP3::pullSubtitle()
 
 void eServiceMP3::pushSubtitles()
 {
-       ePangoSubtitlePage page;
-       pts_t running_pts;
        while ( !m_subtitle_pages.empty() )
        {
+               SubtitlePage &frontpage = m_subtitle_pages.front();
+               pts_t running_pts;
+               gint64 diff_ms = 0;
+               gint64 show_pts = 0;
+
                getPlayPosition(running_pts);
-               page = m_subtitle_pages.front();
-               gint64 diff_ms = ( page.show_pts - running_pts ) / 90;
-               eDebug("eServiceMP3::pushSubtitles show_pts = %lld  running_pts = %lld  diff = %lld", page.show_pts, running_pts, diff_ms);
-               if (diff_ms < -100)
-               {
-                       GstFormat fmt = GST_FORMAT_TIME;
-                       gint64 now;
-                       if (gst_element_query_position(m_gst_playbin, &fmt, &now) != -1)
-                       {
-                               now /= 11111;
-                               diff_ms = abs((now - running_pts) / 90);
-                               eDebug("diff < -100ms check decoder/pipeline diff: decoder: %lld, pipeline: %lld, diff: %lld", running_pts, now, diff_ms);
-                               if (diff_ms > 100000)
-                               {
-                                       eDebug("high decoder/pipeline difference.. assume decoder has now started yet.. check again in 1sec");
-                                       m_subtitle_sync_timer->start(1000, true);
-                                       break;
-                               }
+
+               if (m_decoder_time_valid_state < 4) {
+                       ++m_decoder_time_valid_state;
+                       if (m_prev_decoder_time == running_pts)
+                               m_decoder_time_valid_state = 0;
+                       if (m_decoder_time_valid_state < 4) {
+//                             if (m_decoder_time_valid_state)
+//                                     eDebug("%d: decoder time not valid! prev %lld, now %lld\n", m_decoder_time_valid_state, m_prev_decoder_time/90, running_pts/90);
+//                             else
+//                                     eDebug("%d: decoder time not valid! now %lld\n", m_decoder_time_valid_state, running_pts/90);
+                               m_subtitle_sync_timer->start(25, true);
+                               m_prev_decoder_time = running_pts;
+                               break;
                        }
-                       else
-                               eDebug("query position for decoder/pipeline check failed!");
-                       eDebug("subtitle to late... drop");
+               }
+
+               if (frontpage.type == SubtitlePage::Pango)
+                       show_pts = frontpage.pango_page.m_show_pts;
+
+               diff_ms = ( show_pts - running_pts ) / 90;
+               eDebug("check subtitle: decoder: %lld, show_pts: %lld, diff: %lld ms", running_pts/90, show_pts/90, diff_ms);
+
+               if ( diff_ms < -100 )
+               {
+                       eDebug("subtitle too late... drop");
                        m_subtitle_pages.pop_front();
                }
                else if ( diff_ms > 20 )
                {
-//                     eDebug("start recheck timer");
-                       m_subtitle_sync_timer->start(diff_ms > 1000 ? 1000 : diff_ms, true);
+                       eDebug("start timer");
+                       m_subtitle_sync_timer->start(diff_ms, true);
                        break;
                }
                else // immediate show
                {
-                       if (m_subtitle_widget)
-                               m_subtitle_widget->setPage(page);
+                       if ( m_subtitle_widget )
+                       {
+                               eDebug("show!\n");
+                               if ( frontpage.type == SubtitlePage::Pango)
+                                       m_subtitle_widget->setPage(frontpage.pango_page);
+                               m_subtitle_widget->show();
+                       }
                        m_subtitle_pages.pop_front();
                }
        }
@@ -1589,12 +1722,20 @@ void eServiceMP3::pushSubtitles()
                pullSubtitle();
 }
 
+
 RESULT eServiceMP3::enableSubtitles(eWidget *parent, ePyObject tuple)
 {
+       eDebug ("eServiceMP3::enableSubtitles m_currentSubtitleStream=%i this=%p",m_currentSubtitleStream, this);
        ePyObject entry;
        int tuplesize = PyTuple_Size(tuple);
        int pid, type;
        gint text_pid = 0;
+       eSingleLocker l(m_subs_to_pull_lock);
+
+//     GstPad *pad = 0;
+//     g_signal_emit_by_name (m_gst_playbin, "get-text-pad", m_currentSubtitleStream, &pad);
+//     gst_element_get_static_pad(m_gst_subtitlebin, "sink");
+//     gulong subprobe_handler_id = gst_pad_add_buffer_probe (pad, G_CALLBACK (gstCBsubtitleDrop), NULL);
 
        if (!PyTuple_Check(tuple))
                goto error_out;
@@ -1611,10 +1752,11 @@ RESULT eServiceMP3::enableSubtitles(eWidget *parent, ePyObject tuple)
 
        if (m_currentSubtitleStream != pid)
        {
-               eSingleLocker l(m_subs_to_pull_lock);
                g_object_set (G_OBJECT (m_gst_playbin), "current-text", pid, NULL);
+               eDebug ("eServiceMP3::enableSubtitles g_object_set current-text = %i", pid);
                m_currentSubtitleStream = pid;
                m_subs_to_pull = 0;
+               m_prev_decoder_time = -1;
                m_subtitle_pages.clear();
        }
 
@@ -1625,6 +1767,9 @@ RESULT eServiceMP3::enableSubtitles(eWidget *parent, ePyObject tuple)
        g_object_get (G_OBJECT (m_gst_playbin), "current-text", &text_pid, NULL);
 
        eDebug ("eServiceMP3::switched to subtitle stream %i", text_pid);
+//     gst_pad_remove_buffer_probe (pad, subprobe_handler_id);
+
+       m_event((iPlayableService*)this, evUpdatedInfo);
 
        return 0;
 
@@ -1651,26 +1796,35 @@ PyObject *eServiceMP3::getCachedSubtitle()
 
 PyObject *eServiceMP3::getSubtitleList()
 {
-       eDebug("eServiceMP3::getSubtitleList");
-
+//     eDebug("eServiceMP3::getSubtitleList");
        ePyObject l = PyList_New(0);
-       int stream_count[sizeof(subtype_t)];
-       for ( unsigned int i = 0; i < sizeof(subtype_t); i++ )
-               stream_count[i] = 0;
-
+       int stream_idx = 0;
+       
        for (std::vector<subtitleStream>::iterator IterSubtitleStream(m_subtitleStreams.begin()); IterSubtitleStream != m_subtitleStreams.end(); ++IterSubtitleStream)
        {
                subtype_t type = IterSubtitleStream->type;
-               ePyObject tuple = PyTuple_New(5);
-               PyTuple_SET_ITEM(tuple, 0, PyInt_FromLong(2));
-               PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong(stream_count[type]));
-               PyTuple_SET_ITEM(tuple, 2, PyInt_FromLong(int(type)));
-               PyTuple_SET_ITEM(tuple, 3, PyInt_FromLong(0));
-               PyTuple_SET_ITEM(tuple, 4, PyString_FromString((IterSubtitleStream->language_code).c_str()));
-               PyList_Append(l, tuple);
-               Py_DECREF(tuple);
-               stream_count[type]++;
+               switch(type)
+               {
+               case stUnknown:
+               case stVOB:
+               case stPGS:
+                       break;
+               default:
+               {
+                       ePyObject tuple = PyTuple_New(5);
+//                     eDebug("eServiceMP3::getSubtitleList idx=%i type=%i, code=%s", stream_idx, int(type), (IterSubtitleStream->language_code).c_str());
+                       PyTuple_SET_ITEM(tuple, 0, PyInt_FromLong(2));
+                       PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong(stream_idx));
+                       PyTuple_SET_ITEM(tuple, 2, PyInt_FromLong(int(type)));
+                       PyTuple_SET_ITEM(tuple, 3, PyInt_FromLong(0));
+                       PyTuple_SET_ITEM(tuple, 4, PyString_FromString((IterSubtitleStream->language_code).c_str()));
+                       PyList_Append(l, tuple);
+                       Py_DECREF(tuple);
+               }
+               }
+               stream_idx++;
        }
+       eDebug("eServiceMP3::getSubtitleList finished");
        return l;
 }
 
index d54997a604f5f12f9da50fafdd7b7440944d764f..a92a4cf78b95ec8b3a92d1051b97c53bac6d6011 100644 (file)
@@ -46,7 +46,7 @@ public:
 typedef struct _GstElement GstElement;
 
 typedef enum { atUnknown, atMPEG, atMP3, atAC3, atDTS, atAAC, atPCM, atOGG, atFLAC } audiotype_t;
-typedef enum { stPlainText, stSSA, stSRT } subtype_t;
+typedef enum { stUnknown, stPlainText, stSSA, stASS, stSRT, stVOB, stPGS } subtype_t;
 typedef enum { ctNone, ctMPEGTS, ctMPEGPS, ctMKV, ctAVI, ctMP4, ctVCD, ctCDA } containertype_t;
 
 class eServiceMP3: public iPlayableService, public iPauseableService,
@@ -194,30 +194,63 @@ private:
        enum
        {
                stIdle, stRunning, stStopped,
+        };
+        int m_state;
+        GstElement *m_gst_playbin;
+        GstTagList *m_stream_tags;
+
+        struct Message
+        {
+                Message()
+                        :type(-1)
+                {}
+                Message(int type)
+                        :type(type)
+                {}
+                Message(int type, GstPad *pad)
+                        :type(type)
+                {
+                        d.pad=pad;
+                }
+
+                int type;
+                union {
+                        GstPad *pad; // for msg type 3
+                } d;
+        };
+
+        eFixedMessagePump<Message> m_pump;
+        std::string m_error_message;
+
+        audiotype_t gstCheckAudioPad(GstStructure* structure);
+        void gstBusCall(GstBus *bus, GstMessage *msg);
+        static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
+       static void gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data);
+       void gstTextpadHasCAPS_synced(GstPad *pad);
+        static void gstCBsubtitleAvail(GstElement *element, gpointer user_data);
+        GstPad* gstCreateSubtitleSink(eServiceMP3* _this, subtype_t type);
+       void gstPoll(const Message&);
+        static void gstHTTPSourceSetAgent(GObject *source, GParamSpec *unused, gpointer user_data);
+
+       struct SubtitlePage
+       {
+               enum { Unknown, Pango, Vob } type;
+               ePangoSubtitlePage pango_page;
+               eVobSubtitlePage vob_page;
        };
-       int m_state;
-       GstElement *m_gst_playbin;
-       GstTagList *m_stream_tags;
-       eFixedMessagePump<int> m_pump;
-       std::string m_error_message;
-
-       audiotype_t gstCheckAudioPad(GstStructure* structure);
-       void gstBusCall(GstBus *bus, GstMessage *msg);
-       static GstBusSyncReply gstBusSyncHandler(GstBus *bus, GstMessage *message, gpointer user_data);
-       static void gstCBsubtitleAvail(GstElement *element, gpointer user_data);
-       GstPad* gstCreateSubtitleSink(eServiceMP3* _this, subtype_t type);
-       void gstPoll(const int&);
-       static void gstHTTPSourceSetAgent(GObject *source, GParamSpec *unused, gpointer user_data);
-
-       std::list<ePangoSubtitlePage> m_subtitle_pages;
-       ePtr<eTimer> m_subtitle_sync_timer;
-       
-       ePtr<eTimer> m_streamingsrc_timeout;
-       void pushSubtitles();
-       void pullSubtitle();
-       void sourceTimeout();
-       int m_subs_to_pull;
-       sourceStream m_sourceinfo;
+
+        std::list<SubtitlePage> m_subtitle_pages;
+        ePtr<eTimer> m_subtitle_sync_timer;
+        
+        ePtr<eTimer> m_streamingsrc_timeout;
+        pts_t m_prev_decoder_time;
+        int m_decoder_time_valid_state;
+
+        void pushSubtitles();
+        void pullSubtitle();
+        void sourceTimeout();
+        int m_subs_to_pull;
+        sourceStream m_sourceinfo;
        eSingleLock m_subs_to_pull_lock;
        gulong m_subs_to_pull_handler_id;
 
index 12d8dc23cabdb57110b4298de5de273bc20d20d4..a1194328291fba1b592021f8414d28c5ebb0f5f1 100644 (file)
@@ -183,6 +183,7 @@ void bsodFatal(const char *component)
                xml.open("image");
                xml.stringFromFile("dreamboxmodel", "/proc/stb/info/model");
                xml.stringFromFile("kernelcmdline", "/proc/cmdline");
+               xml.stringFromFile("nimsockets", "/proc/bus/nim_sockets");
                if (!getConfigBool("config.plugins.crashlogautosubmit.sendAnonCrashlog", true)) {
                        xml.cDataFromFile("dreamboxca", "/proc/stb/info/ca");
                        xml.cDataFromFile("enigma2settings", eEnv::resolve("${sysconfdir}/enigma2/settings"), ".password=");
index a560b9064fdd92c0c5a296db8a2aa441a57e3b7f..2f6ebf5c09470d711913065898455a2868cca0c8 100755 (executable)
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-08-20 00:08+0200\n"
 "Last-Translator: Hazem <moustafagamal@hotmail.com>\n"
 "Language-Team: Arabic <moustafagamal@hotmail.com>\n"
@@ -4336,6 +4336,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index b214073379524dbc99f5689548307a7b910d6719..ed5e7b1c13b05068a7931fdcb064da64be20fa52 100755 (executable)
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ca\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2007-08-14 10:23+0200\n"
 "Last-Translator: Oriol Pellicer <oriol@elsud.org>\n"
 "Language-Team: \n"
@@ -4741,6 +4741,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 5b6da82eb92d38c488e3d7d604cb55dd17eef547..9c492d6fc09ef5efb58fc954f1b5e638c2a94841 100755 (executable)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-09-28 18:09+0100\n"
 "Last-Translator: ws79 <ws79@centrum.cz>\n"
 "Language-Team: \n"
@@ -4740,6 +4740,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 5a8c2f258b9522eaef72b3ebc9679f1bbcbce26a..266b005bfb94e1660d4566f38c09b93781966762 100755 (executable)
--- a/po/da.po
+++ b/po/da.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-04-13 21:10+0200\n"
 "Last-Translator: Ingmar <dreambox@ingmar.dk>\n"
 "Language-Team: jazzydane <dreambox@ingmar.dk>\n"
@@ -4804,6 +4804,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index ea948b5d8a5db2c427f61f20fff4285162fdb9be..49fe3d89afb7be94455c71a9b1cdd2c80d0cacba 100755 (executable)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-11-01 14:20+0100\n"
 "Last-Translator: Mladen Horvat <acid-burn@opendreambox.org>\n"
 "Language-Team: none\n"
@@ -4935,6 +4935,9 @@ msgstr "Leute & Blogs"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock zeigt die Uhrzeit permanent auf Ihrem Fernseher an."
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Tiere"
index f18ce125a09c528a6fe972e59b6eb34d5997820c..92b112596b51970ac0d9d34fcfe41bb74f8a7a62 100755 (executable)
--- a/po/el.po
+++ b/po/el.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-07-17 12:13+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -4747,6 +4747,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index fb3e76cffffd750f96fe98c61d18a21539d94d64..e4dc8eda5afec2d51a5e1047f95a235883ad9daf 100755 (executable)
--- a/po/en.po
+++ b/po/en.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2005-11-17 20:53+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -4855,6 +4855,9 @@ msgstr "People & Blogs"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Pets & Animals"
index 165d285110241602037e4bb95f05bc0212f190e3..c80f022dbc5a6d3d438d4ac062491ee9dd0aa663 100755 (executable)
--- a/po/es.po
+++ b/po/es.po
@@ -7,14 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2009-08-21 18:08+0100\n"
-"Last-Translator: José Juan Zapater <josej@zapater.fdns.net>\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2011-02-01 00:10+0200\n"
+"Last-Translator: Jose Juan <jzapater@gmail.com>\n"
 "Language-Team: none\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Spanish\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
 "X-Poedit-Country: SPAIN\n"
@@ -137,16 +139,15 @@ msgstr ""
 msgid " "
 msgstr " "
 
-#
 msgid " Results"
-msgstr ""
+msgstr "Resultados"
 
 #
 msgid " extensions."
 msgstr "extensiones."
 
 msgid " ms"
-msgstr ""
+msgstr "ms"
 
 #
 msgid " packages selected."
@@ -223,10 +224,9 @@ msgstr "¡%d canales encontrados!"
 msgid "%d.%B %Y"
 msgstr "%d/%B/%Y"
 
-#
 #, python-format
 msgid "%i ms"
-msgstr ""
+msgstr "%i ms"
 
 #
 #, python-format
@@ -399,16 +399,16 @@ msgid "A"
 msgstr "A"
 
 msgid "A BackToTheRoots-Skin .. or good old times."
-msgstr ""
+msgstr "Una Piel BackToTheRoots .. or buenos momentos antiguos"
 
 msgid "A BackToTheRoots-Skin ... or good old times."
-msgstr ""
+msgstr "Una Piel BackToTheRoots ... o buenos momentos anteriores"
 
 msgid "A basic ftp client"
-msgstr ""
+msgstr "Un cliente ftp básico"
 
 msgid "A client for www.dyndns.org"
-msgstr ""
+msgstr "Un cliente para www.dyndns.org"
 
 #
 #, python-format
@@ -420,7 +420,7 @@ msgstr ""
 "¿Quiere conservar su versión?"
 
 msgid "A demo plugin for TPM usage."
-msgstr ""
+msgstr "Un plugin de demo para el uso de TPM"
 
 #
 msgid ""
@@ -443,25 +443,26 @@ msgid "A graphical EPG for all services of an specific bouquet"
 msgstr "Un EPG gráfico para todos los canales de una lista específica"
 
 msgid "A graphical EPG interface"
-msgstr ""
+msgstr "Un interfaz EPG gráfico"
 
 msgid "A graphical EPG interface."
-msgstr ""
+msgstr "Un interfaz EPG gráfico."
 
-#
 msgid ""
 "A mount entry with this name already exists!\n"
 "Update existing entry and continue?\n"
 msgstr ""
+"¡Ya existe un punto de montaje con ese nombre!\n"
+"¿Actualizar el existente y continuar?\n"
 
 msgid "A nice looking HD skin from Kerni"
-msgstr ""
+msgstr "Una bonita piel HD de Kerni"
 
 msgid "A nice looking HD skin in Brushed Alu Design from Kerni."
-msgstr ""
+msgstr "Una bonita piel HD en diseño aluminio depillado."
 
 msgid "A nice looking skin from Kerni"
-msgstr ""
+msgstr "Una bonita piel de Kerni"
 
 #
 #, python-format
@@ -516,7 +517,7 @@ msgstr ""
 "¿Quiere desabilitar el segundo interface de red?"
 
 msgid "A simple downloading application for other plugins"
-msgstr ""
+msgstr "Una aplicación simple de descargas para otros plugins"
 
 #
 msgid ""
@@ -583,10 +584,10 @@ msgid "About..."
 msgstr "Acerca de..."
 
 msgid "Access to the ARD-Mediathek"
-msgstr ""
+msgstr "Acceso al ARD-Mediathek"
 
 msgid "Access to the ARD-Mediathek online video database."
-msgstr ""
+msgstr "Acceso a la base de datos de video online de ARD-Mediathek."
 
 #
 msgid "Accesspoint:"
@@ -596,9 +597,8 @@ msgstr "Punto de Acceso:"
 msgid "Action on long powerbutton press"
 msgstr "Acción dejando pulsado el encendido"
 
-#
 msgid "Action on short powerbutton press"
-msgstr ""
+msgstr "Acción al pulsar poco rato el botón de power"
 
 #
 msgid "Action:"
@@ -612,15 +612,15 @@ msgstr "Activar PiP"
 msgid "Activate network settings"
 msgstr "Activar configuración de red"
 
-#
 msgid "Active"
-msgstr ""
+msgstr "Activo"
 
-#
 msgid ""
 "Active/\n"
 "Inactive"
 msgstr ""
+"Activo/\n"
+"Inactivo"
 
 #
 msgid "Adapter settings"
@@ -642,9 +642,8 @@ msgstr "¿Añadir configuración WLAN?"
 msgid "Add a mark"
 msgstr "Añadir marca"
 
-#
 msgid "Add a new NFS or CIFS mount point to your Dreambox."
-msgstr ""
+msgstr "Añadir a tu Dreambox un punto de montaje NFS o CIFS"
 
 #
 msgid "Add a new title"
@@ -658,9 +657,8 @@ msgstr "¿Añadir configuración de red?"
 msgid "Add new AutoTimer"
 msgstr "Añadir nueva AutoProgramación"
 
-#
 msgid "Add new network mount point"
-msgstr ""
+msgstr "Añadir un nuevo punto de montaje de red"
 
 #
 msgid "Add timer"
@@ -682,13 +680,11 @@ msgstr "Añadir a la lista"
 msgid "Add to favourites"
 msgstr "Añadir a favoritos"
 
-#
 msgid "Add zap timer instead of record timer?"
-msgstr ""
+msgstr "¿Añadir programación de zapeo en lugar de grabación?"
 
-#
 msgid "Added: "
-msgstr ""
+msgstr "Añadido:"
 
 #
 msgid ""
@@ -719,10 +715,10 @@ msgstr ""
 "use una tecla numérica para seleccionar otras pantallas de test."
 
 msgid "Adult streaming plugin"
-msgstr ""
+msgstr "Plugin de streaming adulto"
 
 msgid "Adult streaming plugin."
-msgstr ""
+msgstr "Plugin de streaming adulto."
 
 #
 msgid "Advanced Options"
@@ -752,6 +748,8 @@ msgid ""
 "After a reboot or power outage, StartupToStandby will bring your Dreambox to "
 "standby-mode."
 msgstr ""
+"Después de un reinicio o un fallo de corriente, IniciarAReposo te llevará el "
+"Dreambox al modo reposo."
 
 #
 msgid "After event"
@@ -766,7 +764,7 @@ msgstr ""
 "individualmente. Mire el manual de su dreambox para saber cómo."
 
 msgid "Ai.HD skin-style control plugin"
-msgstr ""
+msgstr "Plugin para controlar el estilo de la piel Ai.HD"
 
 #
 msgid "Album"
@@ -780,9 +778,8 @@ msgstr "Todo"
 msgid "All Satellites"
 msgstr "Todos satélites"
 
-#
 msgid "All Time"
-msgstr ""
+msgstr "Todo el Tiempo"
 
 #
 msgid "All non-repeating timers"
@@ -793,10 +790,10 @@ msgid "Allow zapping via Webinterface"
 msgstr "Permitir zapear via interface web"
 
 msgid "Allows the execution of TuxboxPlugins."
-msgstr ""
+msgstr "Permite la ejecución del TuxboxPlugins."
 
 msgid "Allows user to download files from rapidshare in the background."
-msgstr ""
+msgstr "Permite al usuario descargar ficheros de rapidshare en segundo plano."
 
 #
 msgid "Alpha"
@@ -811,7 +808,7 @@ msgid "Alternative services tuner priority"
 msgstr "Prioridad de sintonizadores alternativa"
 
 msgid "Always ask"
-msgstr ""
+msgstr "Preguntar siempre"
 
 #
 msgid "Always ask before sending"
@@ -825,9 +822,8 @@ msgstr "Cantidad de grabaciones que quedan"
 msgid "An empty filename is illegal."
 msgstr "Un nombre de fichero vacío es ilegal."
 
-#
 msgid "An error occured."
-msgstr ""
+msgstr "Ha ocurrido un error."
 
 #
 msgid "An unknown error occured!"
@@ -885,19 +881,19 @@ msgstr ""
 "¿Está seguro que quiere restaurar su backup Enigma2?Enigma2 reiniciará "
 "después de restaurar"
 
-#
 msgid ""
 "Are you sure you want to save this network mount?\n"
 "\n"
 msgstr ""
+"¿Está seguro que quiere guardar este montaje de red?\n"
+"\n"
 
 #
 msgid "Artist"
 msgstr "Artista"
 
-#
 msgid "Ascending"
-msgstr ""
+msgstr "Ascendente"
 
 #
 msgid "Ask before shutdown:"
@@ -912,10 +908,10 @@ msgid "Aspect Ratio"
 msgstr "Relación de aspecto"
 
 msgid "Assigning providers/services/caids to a CI module"
-msgstr ""
+msgstr "Asignando proveedores/servicios/caids al módulo CI"
 
 msgid "Atheros"
-msgstr ""
+msgstr "Atheros"
 
 #
 msgid "Audio"
@@ -925,22 +921,21 @@ msgstr "Sonido"
 msgid "Audio Options..."
 msgstr "Opciones de sonido..."
 
-#
 msgid "Audio Sync"
-msgstr ""
+msgstr "Sincronización de audio"
 
-#
 msgid "Audio Sync Setup"
-msgstr ""
+msgstr "Configuración de sincronización de audio"
 
 msgid ""
 "AudoSync allows delaying the sound output (Bitstream/PCM) so that it is "
 "synchronous to the picture."
 msgstr ""
+"Sincronización de audio permite retrasar la salida de audio (Bitstream/PCM), "
+"para que así se sincronize con la imagen."
 
-#
 msgid "Australia"
-msgstr ""
+msgstr "Australia"
 
 #
 msgid "Author: "
@@ -990,6 +985,8 @@ msgid ""
 "AutoTimer scans the EPG and creates Timers depending on user-defined search  "
 "criteria."
 msgstr ""
+"AutoProgramación escanea el EPG y crea Programaciones dependiendo del "
+"criterio de búsqueda definido por el usuario."
 
 #
 msgid "Automatic"
@@ -1000,34 +997,35 @@ msgid "Automatic Scan"
 msgstr "Búsqueda automática"
 
 msgid "Automatic volume adjustment"
-msgstr ""
+msgstr "Ajuste de volumen automático"
 
 msgid "Automatic volume adjustment for ac3/dts services."
-msgstr ""
+msgstr "Ajuste de volumen automático para canales ac3/dts."
 
 msgid "Automatically change video resolution"
-msgstr ""
+msgstr "Cambiar la resolución de video automáticamente"
 
 msgid ""
 "Automatically changes the output resolution depending on the video "
 "resolution you are watching."
 msgstr ""
+"Cambiar la resolución de salida automáticamente dependiendo de la resolución "
+"que está viendo."
 
 msgid "Automatically create timer events based on keywords"
-msgstr ""
+msgstr "Crear programaciones automáticamente basadas en palabras"
 
 msgid "Automatically informs you on low internal memory"
-msgstr ""
+msgstr "Informar automáticamente de memoria baja"
 
 msgid "Automatically refresh EPG"
-msgstr ""
+msgstr "Refrescar automáticamente el EPG"
 
 msgid "Automatically send crashlogs to Dream Multimedia"
-msgstr ""
+msgstr "Enviar automáticamente a Dream Multimedia los logs de fallos"
 
-#
 msgid "Autos & Vehicles"
-msgstr ""
+msgstr "Coches"
 
 #
 msgid "Autowrite timer"
@@ -1046,10 +1044,10 @@ msgid "BA"
 msgstr "BA"
 
 msgid "BASIC-HD Skin by Ismail Demir"
-msgstr ""
+msgstr "Piel BASIC-HD por Ismail Demir"
 
 msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
-msgstr ""
+msgstr "Piel BASIC-HD para images Dreambox creada por Ismail Demir"
 
 #
 msgid "BB"
@@ -1140,10 +1138,10 @@ msgid "Blue boost"
 msgstr "Impulso azul"
 
 msgid "Bonjour/Avahi control plugin"
-msgstr ""
+msgstr "plugin de control Bonjour/Avahi"
 
 msgid "Bonjour/Avahi control plugin."
-msgstr ""
+msgstr "plugin de control Bonjour/Avahi."
 
 #
 msgid "Bookmarks"
@@ -1153,23 +1151,21 @@ msgstr "Marcadores"
 msgid "Bouquets"
 msgstr "Listas"
 
-#
 msgid "Brazil"
-msgstr ""
+msgstr "Brasil"
 
 #
 msgid "Brightness"
 msgstr "Brillo"
 
 msgid "Browse for and connect to network shares"
-msgstr ""
+msgstr "Examinar y conectar a carpetas de red"
 
 msgid "Browse for nfs/cifs shares and connect to them."
-msgstr ""
+msgstr "Examinar y conectar a carpetas nfs/cifs compartidas."
 
-#
 msgid "Browse network neighbourhood"
-msgstr ""
+msgstr "Examinar la red próxima"
 
 #
 msgid "Burn DVD"
@@ -1179,13 +1175,11 @@ msgstr "Grabar DVD"
 msgid "Burn existing image to DVD"
 msgstr "Graba una imagen existente a DVD"
 
-#
-#, fuzzy
 msgid "Burn to DVD"
 msgstr "Grabar a DVD..."
 
 msgid "Burn your recordings to DVD"
-msgstr ""
+msgstr "Grabar sus grabaciones a DVD"
 
 #
 msgid "Bus: "
@@ -1206,22 +1200,22 @@ msgstr "C"
 msgid "C-Band"
 msgstr "Banda-C"
 
-#, fuzzy
 msgid "CDInfo"
-msgstr "Info"
+msgstr "CDInfo"
 
 msgid ""
 "CDInfo enables gathering album and track details from CDDB and CD-Text when "
 "playing Audio CDs in Mediaplayer."
 msgstr ""
+"CDInfo habilita la información de los detalles del álbum y pista desde CDDB "
+"y CD-Text cuando se reproducen los CDs de audio en el reproductor de medios."
 
 #
 msgid "CI assignment"
 msgstr "Asignación CI"
 
-#
 msgid "CIFS share"
-msgstr ""
+msgstr "compartir CIFS"
 
 #
 msgid "CVBS"
@@ -1236,18 +1230,16 @@ msgid "Cache Thumbnails"
 msgstr "Cache de Miniaturas"
 
 msgid "Callmonitor for NCID-based call notification"
-msgstr ""
+msgstr "Notificación de llamada NCID"
 
 msgid "Callmonitor for the Fritz!Box routers"
-msgstr ""
+msgstr "Monitor de llamada para los routers Fritz!Box"
 
-#, fuzzy
 msgid "Can't connect to server. Please check your network!"
 msgstr "Por favor, ¡chequee su configuración de red!"
 
-#
 msgid "Canada"
-msgstr ""
+msgstr "Canadá"
 
 #
 msgid "Cancel"
@@ -1265,53 +1257,47 @@ msgstr "Tarjeta"
 msgid "Catalan"
 msgstr "Catalán"
 
-#
 msgid "Center screen at the lower border"
-msgstr ""
+msgstr "Centrar la pantalla al borde inferior"
 
-#
 msgid "Center screen at the upper border"
-msgstr ""
+msgstr "Centrar la pantalla al borde superior"
 
-#
 msgid "Change active delay"
-msgstr ""
+msgstr "Cambiar el retardo activo"
 
 #
 msgid "Change bouquets in quickzap"
 msgstr "Cambiar de lista en zapin rápido"
 
-#
 msgid "Change default recording offset?"
-msgstr ""
+msgstr "¿Quiere cambiar el retardo de grabación por defecto?"
 
-#
 msgid "Change hostname"
-msgstr ""
+msgstr "Cambiar el nombre de la máquina"
 
 #
 msgid "Change pin code"
 msgstr "Cambiar código pin"
 
 msgid "Change service PIN"
-msgstr ""
+msgstr "Cambiar el PIN de servicio"
 
 msgid "Change service PINs"
-msgstr ""
+msgstr "Cambiar los PINs de servicio"
 
 msgid "Change setup PIN"
-msgstr ""
+msgstr "Cambiar el PIN de configuración"
 
 #
 msgid "Change step size"
 msgstr "Cambiar tamaño"
 
-#
 msgid "Change the hostname of your Dreambox."
-msgstr ""
+msgstr "Cambiar el nombre de la máquina de su Dreambox."
 
 msgid "Changelog"
-msgstr ""
+msgstr "Novedades"
 
 #
 msgid "Channel"
@@ -1321,9 +1307,8 @@ msgstr "Canal"
 msgid "Channel Selection"
 msgstr "Selección de Canal"
 
-#
 msgid "Channel audio:"
-msgstr ""
+msgstr "Canal de audio:"
 
 #
 msgid "Channel not in services list"
@@ -1382,7 +1367,7 @@ msgid "Choose bouquet"
 msgstr "Elegir lista"
 
 msgid "Choose image to download"
-msgstr ""
+msgstr "Elegir imagen para descargar"
 
 #
 msgid "Choose target folder"
@@ -1421,10 +1406,10 @@ msgid "Cleanup Wizard settings"
 msgstr "Configuración de Asistente de limpieza"
 
 msgid "Cleanup timerlist automatically"
-msgstr ""
+msgstr "Limpiar la lista de programaciones automáticamente"
 
 msgid "Cleanup timerlist automatically."
-msgstr ""
+msgstr "Limpiar la lista de programaciones automáticamente."
 
 #
 msgid "CleanupWizard"
@@ -1434,9 +1419,8 @@ msgstr "LimpiarAsistente"
 msgid "Clear before scan"
 msgstr "Limpiar antes de buscar"
 
-#
 msgid "Clear history on Exit:"
-msgstr ""
+msgstr "Limpiar la historia al Salir:"
 
 #
 msgid "Clear log"
@@ -1486,9 +1470,8 @@ msgstr "Configuración de la colección"
 msgid "Color Format"
 msgstr "Formato de Color"
 
-#
 msgid "Comedy"
-msgstr ""
+msgstr "Comedia"
 
 #
 msgid "Command execution..."
@@ -1531,7 +1514,7 @@ msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complejo (permite mexclar pistas de audio y aspectos)"
 
 msgid "Composition of the recording filenames"
-msgstr ""
+msgstr "Composición de los nombre de ficheros de grabación"
 
 #
 msgid "Configuration Mode"
@@ -1554,7 +1537,7 @@ msgid "Configure nameservers"
 msgstr "Configurar DNSs"
 
 msgid "Configure your WLAN network interface"
-msgstr ""
+msgstr "Configurar el interfaz de la red WLAN"
 
 #
 msgid "Configure your internal LAN"
@@ -1617,28 +1600,28 @@ msgid "Contrast"
 msgstr "Contraste"
 
 msgid "Control your Dreambox with your Web browser."
-msgstr ""
+msgstr "Controlar su Dreambox con su navegador Web."
 
 msgid "Control your Dreambox with your browser"
-msgstr ""
+msgstr "Controlar su Dreambox con su navegador"
 
 msgid "Control your dreambox with only the MUTE button"
-msgstr ""
+msgstr "Controla su dreambox con sólo su botón MUTE"
 
 msgid "Control your dreambox with only the MUTE button."
-msgstr ""
+msgstr "Controlar su dreambox con sólo su botón MUTE."
 
 msgid "Control your internal system fan."
-msgstr ""
+msgstr "Controlar el ventilador interno del sistema."
 
 msgid "Control your kids's tv usage"
-msgstr ""
+msgstr "Controlar el uso de la tv por los niños"
 
 msgid "Control your system fan"
-msgstr ""
+msgstr "Controlar el ventilador del sistema"
 
 msgid "Copy, rename, delete, move local files on your Dreambox."
-msgstr ""
+msgstr "Copiar, renombrar, borrar, mover ficheros locales en su Dreambox."
 
 #
 msgid "Could not connect to Dreambox .NFI Image Feed Server:"
@@ -1686,10 +1669,10 @@ msgid "Create DVD-ISO"
 msgstr "Crear DVD-ISO"
 
 msgid "Create a backup of your Video DVD on your DreamBox hard drive."
-msgstr ""
+msgstr "Crear una copia de su DVD en su disco duro de su Dreambox."
 
 msgid "Create a backup of your Video-DVD"
-msgstr ""
+msgstr "Crear una copia de su DVD-Video"
 
 #
 msgid "Create a new AutoTimer."
@@ -1708,13 +1691,13 @@ msgid "Create movie folder failed"
 msgstr "Falló la creación de la carpeta de películas"
 
 msgid "Create preview pictures of your Movies"
-msgstr ""
+msgstr "Crear imágenes de previsualización de sus Películas"
 
 msgid "Create remote timers"
-msgstr ""
+msgstr "Crear programaciones remotas"
 
 msgid "Create timers on remote Dreamboxes."
-msgstr ""
+msgstr "Crear programaciones en sus Dreamboxes remotos."
 
 #
 #, python-format
@@ -1734,7 +1717,7 @@ msgid "Current Transponder"
 msgstr "Transponder actual"
 
 msgid "Current device: "
-msgstr ""
+msgstr "Dispositivo actual:"
 
 #
 msgid "Current settings:"
@@ -1749,7 +1732,7 @@ msgid "Current version:"
 msgstr "Versión actual:"
 
 msgid "Currently installed image"
-msgstr ""
+msgstr "Imagen actualmente instalada"
 
 #
 #, python-format
@@ -1781,23 +1764,23 @@ msgid "Customize"
 msgstr "Configurar"
 
 msgid "Customize Vali-XD skins"
-msgstr ""
+msgstr "Pieles por Vali-XD"
 
 msgid "Customize Vali-XD skins by yourself."
-msgstr ""
+msgstr "Personalizar pieles Vali-XD por si mismo."
 
 #
 msgid "Cut"
 msgstr "Cortar"
 
 msgid "Cut your movies"
-msgstr ""
+msgstr "Recortar sus películas"
 
 msgid "Cut your movies."
-msgstr ""
+msgstr "Recortar sus películas."
 
 msgid "CutListEditor allows you to edit your movies"
-msgstr ""
+msgstr "CutListEditor permite editar sus películas"
 
 msgid ""
 "CutListEditor allows you to edit your movies.\n"
@@ -1805,6 +1788,10 @@ msgid ""
 "cut'.\n"
 "Then seek to the end, press OK, select 'end cut'. That's it."
 msgstr ""
+"CutListEditor permite editar sus películas.\n"
+"Ir al inicio a partir del que quiere recortar. Pulse OK, seleccione 'corte "
+"inicial'.\n"
+"Después vaya al final y pulse OK, selecciones 'corte final'. Eso es todo."
 
 #
 msgid "Cutlist editor..."
@@ -1814,9 +1801,8 @@ msgstr "Editor de listas de corte..."
 msgid "Czech"
 msgstr "Checo"
 
-#
 msgid "Czech Republic"
-msgstr ""
+msgstr "República Checa"
 
 #
 msgid "D"
@@ -1826,9 +1812,8 @@ msgstr "D"
 msgid "DHCP"
 msgstr "DHCP"
 
-#
 msgid "DUAL LAYER DVD"
-msgstr ""
+msgstr "DVD DOBLE CAPA"
 
 #
 msgid "DVB-S"
@@ -1855,13 +1840,16 @@ msgid "DVD media toolbox"
 msgstr "Barra de disco DVD"
 
 msgid "DVDPlayer plays your DVDs on your Dreambox"
-msgstr ""
+msgstr "DVDPlayer reproduce sus DVDs en su Dreambox"
 
 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 ""
+"DVDPlayer reproduce sus DVDs en su Dreambox.\n"
+"Con el DVDPlayer puede reproducir sus DVDs en su Dreambox desde el DVD o "
+"incluso desde un fichero iso o una carpeta video_ts de su disco duro o red."
 
 #
 msgid "Danish"
@@ -1883,14 +1871,12 @@ msgstr "Decidir qué hacer cuando un crashlog sea encontrado."
 msgid "Decide what should happen to the crashlogs after submission."
 msgstr "Decidir qué hacer después de enviar el crashlog."
 
-#
 msgid "Decrease delay"
-msgstr ""
+msgstr "Reducir retardo"
 
-#
 #, python-format
 msgid "Decrease delay by %i ms (can be set)"
-msgstr ""
+msgstr "Reducir retardo en %i ms (puede ser puesto)"
 
 #
 msgid "Deep Standby"
@@ -1912,16 +1898,14 @@ msgstr "Ubicación por defecto de películas"
 msgid "Default services lists"
 msgstr "Lista de canales por defecto"
 
-#
-#, fuzzy
 msgid "Defaults"
 msgstr "Por defecto"
 
 msgid "Define a startup service"
-msgstr ""
+msgstr "Definir un canal de inicio"
 
 msgid "Define a startup service for your Dreambox."
-msgstr ""
+msgstr "Definir un canal de inicio para su Dreambox."
 
 #
 msgid "Delay"
@@ -1943,9 +1927,8 @@ msgstr "Borrar entrada"
 msgid "Delete failed!"
 msgstr "¡Falló el borrado!"
 
-#
 msgid "Delete mount"
-msgstr ""
+msgstr "Borrar montaje"
 
 #
 #, python-format
@@ -1956,9 +1939,8 @@ msgstr ""
 "No borrar más satélite configurado\n"
 "%s?"
 
-#
 msgid "Descending"
-msgstr ""
+msgstr "Descendiendo"
 
 #
 msgid "Description"
@@ -1969,7 +1951,7 @@ msgid "Deselect"
 msgstr "Deseleccionar"
 
 msgid "Details for plugin: "
-msgstr ""
+msgstr "Detalles del plugin:"
 
 #
 msgid "Detected HDD:"
@@ -2011,12 +1993,11 @@ msgstr "Marcando:"
 msgid "Digital contour removal"
 msgstr "Borrar contorno digital"
 
-#
 msgid "Dir:"
-msgstr ""
+msgstr "Dir:"
 
 msgid "Direct playback of Youtube videos"
-msgstr ""
+msgstr "Reproduce directamente los videos de Youtube"
 
 #
 msgid "Direct playback of linked titles without menu"
@@ -2051,13 +2032,11 @@ msgstr "Desactivar programación"
 msgid "Disabled"
 msgstr "Desactivado"
 
-#
 msgid "Discard changes and close plugin"
-msgstr ""
+msgstr "Descartar cambios y cerrar plugin"
 
-#
 msgid "Discard changes and close screen"
-msgstr ""
+msgstr "Descartar cambios y cerrar pantalla"
 
 #
 msgid "Disconnect"
@@ -2087,15 +2066,14 @@ msgstr "Configurar Pantalla"
 msgid "Display and Userinterface"
 msgstr "Pantalla e Interfaz de usuario"
 
-#
 msgid "Display search results by:"
-msgstr ""
+msgstr "Visualizar los resultados de búsqueda por:"
 
 msgid "Display your photos on the TV"
-msgstr ""
+msgstr "Visualizar sus fotos en su TV"
 
 msgid "Displays movie information from the InternetMovieDatabase"
-msgstr ""
+msgstr "Visualizar información de la película desde la InternetMovieDatabase"
 
 #
 #, python-format
@@ -2164,15 +2142,15 @@ msgstr "¿Quiere hacer otra búsqueda manual?"
 
 #, python-format
 msgid "Do you want to download the image to %s ?"
-msgstr ""
+msgstr "¿Quiere descargar la imagen a %s?"
 
 #
 msgid "Do you want to enable the parental control feature on your dreambox?"
 msgstr "¿Quiere activar el control de adultos en su dreambox?"
 
-#
 msgid "Do you want to enter a username and password for this host?\n"
 msgstr ""
+"¿Quiere introducir un nombre de usuario y contraseña para esta máquina?\n"
 
 #
 msgid "Do you want to install default sat lists?"
@@ -2206,9 +2184,8 @@ msgstr "¿Quiere restaurar su configuración?"
 msgid "Do you want to resume this playback?"
 msgstr "¿Quiere continuar esta reproducción?"
 
-#
 msgid "Do you want to see more entries?"
-msgstr ""
+msgstr "¿Quiere ver más entradas?"
 
 #
 msgid ""
@@ -2262,7 +2239,7 @@ msgstr "Descargar"
 
 #, python-format
 msgid "Download %s from Server"
-msgstr ""
+msgstr "Descargar %s desde el Servidor"
 
 #
 msgid "Download .NFI-Files for USB-Flasher"
@@ -2272,16 +2249,14 @@ msgstr "Descargar ficheros .NFI para el USB-Flasher"
 msgid "Download Plugins"
 msgstr "Descargar Plugins"
 
-#
 msgid "Download Video"
-msgstr ""
+msgstr "Descargar Video"
 
 msgid "Download files from Rapidshare"
-msgstr ""
+msgstr "Descargar ficheros desde Rapidshare"
 
-#
 msgid "Download location"
-msgstr ""
+msgstr "Localización de la descarga"
 
 #
 msgid "Downloadable new plugins"
@@ -2299,9 +2274,8 @@ msgstr "Descargando"
 msgid "Downloading plugin information. Please wait..."
 msgstr "Descargando información del plugin. Espere..."
 
-#
 msgid "Downloading screenshots. Please wait..."
-msgstr ""
+msgstr "Descargando pantallazos. Por favor, espere..."
 
 #
 msgid "Dreambox format data DVD (HDTV compatible)"
@@ -2311,9 +2285,8 @@ msgstr "Formato dreambox DVD (HDTV compatible)"
 msgid "Dreambox software because updates are available."
 msgstr "Actualizaciones del software Dreambox están disponibles."
 
-#
 msgid "Duration: "
-msgstr ""
+msgstr "Duración:"
 
 #
 msgid "Dutch"
@@ -2341,6 +2314,10 @@ msgid ""
 "(in standby mode without any running recordings) to perform updates of the "
 "epg information on these channels."
 msgstr ""
+"EPGRefresh automáticamente cambia a los canales definidos por el usuario "
+"cuando está desocupado\n"
+"(en modo reposo si hay alguna grabación ejecutándose) para realizar "
+"actualizaciones en la información del epg de esos canales."
 
 #
 #, python-format
@@ -2379,9 +2356,8 @@ msgstr "Editar Programaciones y buscar nuevos Eventos"
 msgid "Edit Title"
 msgstr "Editar Título"
 
-#
 msgid "Edit bouquets list"
-msgstr ""
+msgstr "Editar lista de canales"
 
 #
 msgid "Edit chapters of current title"
@@ -2404,10 +2380,10 @@ msgid "Edit settings"
 msgstr "Editar configuración"
 
 msgid "Edit tags of recorded movies"
-msgstr ""
+msgstr "Editar etiquetas de películas grabadas"
 
 msgid "Edit tags of recorded movies."
-msgstr ""
+msgstr "Editar etiquetas de películas grabadas."
 
 #
 msgid "Edit the Nameserver configuration of your Dreambox.\n"
@@ -2433,24 +2409,22 @@ msgstr "Editando"
 msgid "Editor for new AutoTimers"
 msgstr "Editor para nuevas AutoProgramaciones"
 
-#
 msgid "Education"
-msgstr ""
+msgstr "Educación"
 
 #
 msgid "Electronic Program Guide"
 msgstr "Guía de Programación Electrónica"
 
 msgid "Emailclient is an IMAP4 e-mail viewer for the Dreambox."
-msgstr ""
+msgstr "Emailclient es un visor de e-mail IMAP4 para su Dreambox."
 
 #
 msgid "Enable"
 msgstr "Activar"
 
-#
 msgid "Enable /media"
-msgstr ""
+msgstr "Habilitar /media"
 
 #
 msgid "Enable 5V for active antenna"
@@ -2464,29 +2438,24 @@ msgstr "¿Activar el Asistente de Limpieza?"
 msgid "Enable Filtering"
 msgstr "Activar Filtro"
 
-#
 msgid "Enable HTTP Access"
-msgstr ""
+msgstr "Habilitar Acceso HTTP"
 
-#
 msgid "Enable HTTP Authentication"
-msgstr ""
+msgstr "Habilitar Autenticación HTTP"
 
-#
 msgid "Enable HTTPS Access"
-msgstr ""
+msgstr "Habilitar Acceso HTTPS"
 
-#
 msgid "Enable HTTPS Authentication"
-msgstr ""
+msgstr "Habilitar Autenticación HTTPS"
 
 #
 msgid "Enable Service Restriction"
 msgstr "Activar Restricción de Canales"
 
-#
 msgid "Enable Streaming Authentication"
-msgstr ""
+msgstr "Habilitar Autenticación en Streaming"
 
 #
 msgid "Enable multiple bouquets"
@@ -2496,11 +2465,11 @@ msgstr "Habilitar multiples listas"
 msgid "Enable parental control"
 msgstr "Activar el control de adultos"
 
-#
 msgid ""
 "Enable this to be able to access the AutoTimer Overview from within the "
 "extension menu."
 msgstr ""
+"Activar esto para activar el acceso al AutoTimer desde el menú de extensión."
 
 #
 msgid "Enable timer"
@@ -2510,11 +2479,12 @@ msgstr "Activar programación"
 msgid "Enabled"
 msgstr "Activado"
 
-#
 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 ""
+"Codificar el canal a usar desde su dato del EPG. Sólo necesita cambiar esto "
+"si está buscando por caracteres especiales como los umlauts alemanes."
 
 #
 msgid "Encrypted: "
@@ -2564,6 +2534,8 @@ 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 ""
+"El plugin de Enigma2 para reproducir videos AVI/DIVX/WMV/etc. desde el pc en "
+"su Dreambox. Necesita una ejecución de VLC en su pc (www.videolan.org)."
 
 #
 msgid ""
@@ -2585,9 +2557,8 @@ msgstr ""
 msgid "Enter Fast Forward at speed"
 msgstr "Introduzca velocidad de avance hacia delante"
 
-#
 msgid "Enter IP to scan..."
-msgstr ""
+msgstr "Introduzca la IP a escanear..."
 
 #
 msgid "Enter Rewind at speed"
@@ -2597,53 +2568,43 @@ msgstr "Introduzca velocidad de avance hacia atrás"
 msgid "Enter main menu..."
 msgstr "Entre al menú principal..."
 
-#
 msgid "Enter new hostname for your Dreambox"
-msgstr ""
+msgstr "Introduzca el nombre de su Dreambox"
 
-#
 msgid "Enter options:"
-msgstr ""
+msgstr "Introduzca opciones:"
 
-#
 msgid "Enter password:"
-msgstr ""
+msgstr "Introduzca contraseña:"
 
-#
 msgid "Enter pin code"
-msgstr ""
+msgstr "Introduzca código pin"
 
-#
 msgid "Enter share directory:"
-msgstr ""
+msgstr "Introduzca el directorio compartido:"
 
-#
 msgid "Enter share name:"
-msgstr ""
+msgstr "Introduza el nombre compartido:"
 
 #
 msgid "Enter the service pin"
 msgstr "Ponga el pin del canal"
 
-#
 msgid "Enter user and password for host: "
-msgstr ""
+msgstr "Introduzca el usuario y la contraseña para la máquina:"
 
-#
 msgid "Enter username:"
-msgstr ""
+msgstr "Introduzca nombre de usuario:"
 
 #
 msgid "Enter your email address so that we can contact you if needed."
 msgstr "Introduzca su email para que contactemos con usted si es necesario."
 
-#
 msgid "Enter your search term(s)"
-msgstr ""
+msgstr "Introduzca los términos a buscar:"
 
-#
 msgid "Entertainment"
-msgstr ""
+msgstr "Entretenimiento"
 
 #
 msgid "Error"
@@ -2678,10 +2639,8 @@ msgstr "Todo está bien"
 msgid "Exact match"
 msgstr "Coincidencia exacta"
 
-#
-#, fuzzy
 msgid "Exceeds dual layer medium!"
-msgstr "¡excede el disco de doble capa!"
+msgstr "¡Excede el disco de doble capa!"
 
 #
 msgid "Exclude"
@@ -2692,7 +2651,7 @@ msgid "Execute \"after event\" during timespan"
 msgstr "Ejectuar el después del Evento durante el Tiempo"
 
 msgid "Execute TuxboxPlugins"
-msgstr ""
+msgstr "Ejecuta TuxboxPlugins"
 
 #
 msgid "Execution Progress:"
@@ -2715,7 +2674,7 @@ msgid "Exit editor"
 msgstr "Salir del editor"
 
 msgid "Exit input device selection."
-msgstr ""
+msgstr "Sale de la selección de dispositivo de entrada."
 
 #
 msgid "Exit network wizard"
@@ -2769,6 +2728,8 @@ msgid ""
 "FTPBrowser allows uploading and downloading files between your Dreambox and "
 "a server using the file transfer protocol."
 msgstr ""
+"FTPBrowser permite subir y bajar ficheros entre su Dreambox y un servidor "
+"usando el protocolo de transferencia de ficheros."
 
 #
 msgid "Factory reset"
@@ -2813,25 +2774,21 @@ msgstr "Época rápida"
 msgid "Favourites"
 msgstr "Favoritos"
 
-#
 msgid "Fetching feed entries"
-msgstr ""
+msgstr "Descargando las entradas"
 
-#
 msgid "Fetching search entries"
-msgstr ""
+msgstr "Descargando las entradas de búsqueda"
 
-#
 msgid "Filesystem Check"
-msgstr ""
+msgstr "Chequear sistema de ficheros"
 
 #
 msgid "Filesystem contains uncorrectable errors"
 msgstr "El sistema de archivos contiene errores graves"
 
-#
 msgid "Film & Animation"
-msgstr ""
+msgstr "Cine y animación"
 
 #
 msgid "Filter"
@@ -2871,7 +2828,7 @@ msgid "Finnish"
 msgstr "Finlandés"
 
 msgid "First generate your skin-style with the Ai.HD-Control plugin."
-msgstr ""
+msgstr "Primero genera su piel de estilo Ai.HD-Control"
 
 #
 msgid "Flash"
@@ -2906,9 +2863,8 @@ msgstr "Contador de tramas sin problemas de sombras"
 msgid "Frame size in full view"
 msgstr "Tamaño de trama en vista completa"
 
-#
 msgid "France"
-msgstr ""
+msgstr "Francia"
 
 #
 msgid "French"
@@ -2944,9 +2900,10 @@ msgstr "Frisón"
 
 msgid "FritzCall shows incoming calls to your Fritz!Box on your Dreambox."
 msgstr ""
+"FritzCall muestra sus llamadas de entrada a su Fritz!Box en su Dreambox."
 
 msgid "Frontend for /tmp/mmi.socket"
-msgstr ""
+msgstr "Frontend para /tmp/mmi.socket"
 
 #
 #, python-format
@@ -2966,18 +2923,19 @@ msgstr ""
 "¿Quiere Reiniciar el GUI ahora?"
 
 msgid "GUI that allows user to change the ftp- / telnet password."
-msgstr ""
+msgstr "GUI que permite al usuario cambiar la contraseña para ftp/telnet."
 
 msgid ""
 "GUI that allows user to change the ftp-/telnet-password of the Dreambox."
 msgstr ""
+"GUI que permite al usuario cambiar la contraseña del ftp/telnet en su "
+"Dreambox."
 
 msgid "GUI to change the ftp and telnet-password"
-msgstr ""
+msgstr "GUI para cambiar la contraseña al ftp y telnet"
 
-#
 msgid "Gaming"
-msgstr ""
+msgstr "Juegos"
 
 #
 msgid "Gateway"
@@ -3003,46 +2961,43 @@ msgstr "Retardo general PCM (ms)"
 msgid "Genre"
 msgstr "Género"
 
-#
 msgid "Genuine Dreambox"
-msgstr ""
+msgstr "Dreambox Genuino"
 
 msgid "Genuine Dreambox validation failed!"
-msgstr ""
+msgstr "Falló la validación del Dreambox Genuino"
 
 msgid "Genuine Dreambox verification"
-msgstr ""
+msgstr "Verificación de Dreambox Genuino"
 
 #
 msgid "German"
 msgstr "Alemán"
 
 msgid "German storm information"
-msgstr ""
+msgstr "Información alemana de tormentas"
 
 msgid "German traffic information"
-msgstr ""
+msgstr "Información alemana del tráfico"
 
-#
 msgid "Germany"
-msgstr ""
+msgstr "Alemania"
 
 msgid "Get AudioCD info from CDDB and CD-Text"
-msgstr ""
+msgstr "Conseguir información AudioCD desde CDDB y CD-Text"
 
 msgid "Get latest experimental image"
-msgstr ""
+msgstr "Conseguir la última imagen experimental"
 
 msgid "Get latest release image"
-msgstr ""
+msgstr "Conseguir la última version de la imagen "
 
 #
 msgid "Getting plugin information. Please wait..."
 msgstr "Leyendo información del complemento. Espere..."
 
-#
 msgid "Global delay"
-msgstr ""
+msgstr "Retardo global"
 
 #
 msgid "Goto 0"
@@ -3053,20 +3008,21 @@ msgid "Goto position"
 msgstr "Ir a la posición"
 
 msgid "GraphMultiEPG shows a graphical timeline EPG"
-msgstr ""
+msgstr "GraphMultiEPG muestra un gráfico de la línea de tiempo del EPG"
 
 msgid ""
 "GraphMultiEPG shows a graphical timeline EPG.\n"
 "Shows a nice overview of all running und upcoming tv shows."
 msgstr ""
+"GraphMultiEPG muestra un gráfico de tiempos del EPG.\n"
+"Muestra una vista general de todos programas actuales y siguientes."
 
 #
 msgid "Graphical Multi EPG"
 msgstr "Multi EPG Gráfico"
 
-#
 msgid "Great Britain"
-msgstr ""
+msgstr "Gran Bretaña"
 
 #
 msgid "Greek"
@@ -3081,6 +3037,10 @@ msgid ""
 "protocol\n"
 "like Recording started notifications to a PC running a growl client"
 msgstr ""
+"Growlee permite que su Dreambox envíe mensajes cortos usando el protocolo "
+"growl\n"
+"como la notificación de  inicio de una grabación a un PC ejecutando un "
+"cliente growl"
 
 #
 msgid "Guard Interval"
@@ -3094,17 +3054,14 @@ msgstr "Modo intervalo seguro"
 msgid "Guess existing timer based on begin/end"
 msgstr "Las programaciones existentes están basadas en Inicio/Fin"
 
-#
 msgid "HD videos"
-msgstr ""
+msgstr "Videos HD"
 
-#
 msgid "HTTP Port"
-msgstr ""
+msgstr "Puerto HTTP"
 
-#
 msgid "HTTPS Port"
-msgstr ""
+msgstr "Puerto HTTPS"
 
 #
 msgid "Harddisk"
@@ -3118,9 +3075,8 @@ msgstr "Configuración del disco duro"
 msgid "Harddisk standby after"
 msgstr "Disco duro en reposo después"
 
-#
 msgid "Help"
-msgstr ""
+msgstr "Ayuda"
 
 #
 msgid "Hidden network SSID"
@@ -3142,24 +3098,21 @@ msgstr "Modo jerárquico"
 msgid "High bitrate support"
 msgstr "Soporte de bitrate alto"
 
-#
 msgid "History"
-msgstr ""
+msgstr "Historia"
 
-#
 msgid "Holland"
-msgstr ""
+msgstr "Holanda"
 
-#
 msgid "Hong Kong"
-msgstr ""
+msgstr "Hong Kong"
 
 #
 msgid "Horizontal"
 msgstr "Horizontal"
 
 msgid "Hotplugging for removeable devices"
-msgstr ""
+msgstr "Conexión en caliente de dispositivos removibles"
 
 #
 msgid "How many minutes do you want to record?"
@@ -3169,9 +3122,8 @@ msgstr "¿Cuántos minutos quiere grabar?"
 msgid "How to handle found crashlogs?"
 msgstr "¿Cómo quiere manejar los crashlogs?"
 
-#
 msgid "Howto & Style"
-msgstr ""
+msgstr "Cómo hacer y Estilo"
 
 #
 msgid "Hue"
@@ -3182,18 +3134,17 @@ msgid "Hungarian"
 msgstr "Húngaro"
 
 msgid "IMAP4 e-mail viewer for the Dreambox"
-msgstr ""
+msgstr "Visor de e-mail IMAP4 para su Dreambox"
 
 #
 msgid "IP Address"
 msgstr "Dirección IP"
 
-#
 msgid "IP:"
-msgstr ""
+msgstr "IP:"
 
 msgid "IRC Client for Enigma2"
-msgstr ""
+msgstr "Cliente IRC para Enigma2"
 
 #
 msgid "ISO file is too large for this filesystem!"
@@ -3207,12 +3158,13 @@ msgstr "ruta ISO"
 msgid "Icelandic"
 msgstr "Islandés"
 
-#
 #, 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 ""
+"Si activa esto, una grabación existente también será considerada grabación "
+"si el evento graba al menos el 80% de ella."
 
 #
 msgid ""
@@ -3272,14 +3224,12 @@ msgstr "Incluir"
 msgid "Include your email and name (optional) in the mail?"
 msgstr "¿Incluir su email y nombre (opcional) en el email?"
 
-#
 msgid "Increase delay"
-msgstr ""
+msgstr "Incrementar retardo"
 
-#
 #, python-format
 msgid "Increase delay by %i ms (can be set)"
-msgstr ""
+msgstr "Incrementar retardo por %i ms (puede ser puesto)"
 
 #
 msgid "Increased voltage"
@@ -3289,9 +3239,8 @@ msgstr "Voltaje incrementado"
 msgid "Index"
 msgstr "Índice"
 
-#
 msgid "India"
-msgstr ""
+msgstr "India"
 
 #
 msgid "Info"
@@ -3317,9 +3266,8 @@ msgstr "Iniciar"
 msgid "Initial location in new timers"
 msgstr "Ruta inicial en nuevas programaciones"
 
-#
 msgid "Initialization"
-msgstr ""
+msgstr "Inicialización"
 
 #
 msgid "Initialize"
@@ -3334,10 +3282,10 @@ msgid "Input"
 msgstr "Entrada"
 
 msgid "Input device setup"
-msgstr ""
+msgstr "Configuración del dispositivo de entrada"
 
 msgid "Input devices"
-msgstr ""
+msgstr "Dispositivos de entrada"
 
 #
 msgid "Install"
@@ -3412,10 +3360,10 @@ msgid "Internal Flash"
 msgstr "Flash Interna"
 
 msgid "Internal LAN adapter."
-msgstr ""
+msgstr "Adaptador de RED interna"
 
 msgid "Internal firmware updater"
-msgstr ""
+msgstr "Actualización de firmware interno"
 
 #
 msgid "Invalid Location"
@@ -3426,25 +3374,22 @@ msgstr "Localización inválida"
 msgid "Invalid directory selected: %s"
 msgstr "Directorio seleccionado inválido: %s"
 
-#
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 304
 msgid "Invalid response from Security service pls restart again"
 msgstr ""
+"Respuesta no válida del canal de Seguridad, por favor reinicie de nuevo"
 
-#
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 132
 msgid "Invalid response from server."
-msgstr ""
+msgstr "Respuesta no válida del servidor."
 
-#
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 177
 #, python-format
 msgid "Invalid response from server. Please report: %s"
-msgstr ""
+msgstr "Respuesta no válida del servidor. Por favor reporte: %s"
 
-#
 msgid "Invalid selection"
-msgstr ""
+msgstr "Selección no válida"
 
 #
 msgid "Inversion"
@@ -3454,17 +3399,15 @@ msgstr "Inversión"
 msgid "Ipkg"
 msgstr "Ipkg"
 
-#
 msgid "Ireland"
-msgstr ""
+msgstr "Irlanda"
 
 #
 msgid "Is this videomode ok?"
 msgstr "¿Es este modo de video ok?"
 
-#
 msgid "Israel"
-msgstr ""
+msgstr "Israel"
 
 #
 msgid ""
@@ -3486,18 +3429,16 @@ msgid "Italian"
 msgstr "Italiano"
 
 msgid "Italian Weather forecast on Dreambox"
-msgstr ""
+msgstr "Previsión italiana del tiempo en su Dreambox"
 
 msgid "Italian Weather forecast on Dreambox from www.google.it."
-msgstr ""
+msgstr "Previsión italiana del tiempo en su Dreambox desde www.google.it."
 
-#
 msgid "Italy"
-msgstr ""
+msgstr "Italia"
 
-#
 msgid "Japan"
-msgstr ""
+msgstr "Japón"
 
 #
 msgid "Job View"
@@ -3509,59 +3450,57 @@ msgid "Just Scale"
 msgstr "Sólo escala"
 
 msgid "Kerni's BrushedAlu-HD skin"
-msgstr ""
+msgstr "Pien Kerni's BrushedAlu-HD"
 
 msgid "Kerni's DreamMM-HD skin"
-msgstr ""
+msgstr "Piel Kerni's DreamMM-HD"
 
 msgid "Kerni's Elgato-HD skin"
-msgstr ""
+msgstr "Piel Kerni's Elgato-HD"
 
 msgid "Kerni's SWAIN skin"
-msgstr ""
+msgstr "Piel Kerni's SWAIN"
 
 msgid "Kerni's SWAIN-HD skin"
-msgstr ""
+msgstr "Piel Kerni's SWAIN-HD"
 
 msgid "Kerni's UltraViolet skin"
-msgstr ""
+msgstr "Piel Kerni's UltraViolet"
 
 msgid "Kerni's YADS-HD skin"
-msgstr ""
+msgstr "Piel Kerni's YADS-HD"
 
 msgid "Kerni's dTV-HD skin"
-msgstr ""
+msgstr "Piel Kerni's dTV-HD"
 
 msgid "Kerni's dTV-HD-Reloaded skin"
-msgstr ""
+msgstr "Piel Kerni's dTV-HD-Reloaded"
 
 msgid "Kerni's dmm-HD skin"
-msgstr ""
+msgstr "Piel Kerni's dmm-HD"
 
 msgid "Kerni's dreamTV-HD skin"
-msgstr ""
+msgstr "Piel Kerni's dreamTV-HD skin"
 
 msgid "Kerni's simple skin"
-msgstr ""
+msgstr "Piel Kerni's simple"
 
 msgid "Kerni-HD1 skin"
-msgstr ""
+msgstr "Piel Kerni-HD1"
 
 msgid "Kerni-HD1R2 skin"
-msgstr ""
+msgstr "Piel Kerni-HD1R2"
 
 msgid "Kernis HD1 skin"
-msgstr ""
+msgstr "Piel Kernis HD1"
 
-#
 #, python-format
 msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr ""
+msgstr "Tecla %(Key)s puesto correctamente a %(delay)i ms"
 
-#
 #, python-format
 msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr ""
+msgstr "Tecla %(key)s (valor actual: %(value)i ms)"
 
 #
 msgid "Keyboard"
@@ -3580,14 +3519,14 @@ msgid "Keymap"
 msgstr "Mapa de teclado"
 
 msgid "KiddyTimer allows to control your kids's daily tv usage."
-msgstr ""
+msgstr "KiddyTimer permite controlar el uso diario de la tv de sus hijos."
 
 #
 msgid "LAN Adapter"
 msgstr "Adaptador de red"
 
 msgid "LAN connection"
-msgstr ""
+msgstr "Conexión de red local"
 
 #
 msgid "LNB"
@@ -3679,10 +3618,10 @@ msgid "List of Storage Devices"
 msgstr "Listar dispositivos de almacenamiento"
 
 msgid "Listen and record internet radio"
-msgstr ""
+msgstr "Escuche y grabe radio internet"
 
 msgid "Listen and record shoutcast internet radio on your Dreambox."
-msgstr ""
+msgstr "Escuche y grabe shoutcast de radios de internet en su Dreambox."
 
 #
 msgid "Lithuanian"
@@ -3696,9 +3635,8 @@ msgstr "Cargar"
 msgid "Load Length of Movies in Movielist"
 msgstr "Calcular longitud de Películas en la lista"
 
-#
 msgid "Load feed on startup:"
-msgstr ""
+msgstr "Cargar fuente al arrancar:"
 
 #
 msgid "Load movie-length"
@@ -3708,9 +3646,8 @@ msgstr "Cargar la longitud de las películas"
 msgid "Local Network"
 msgstr "Red Local"
 
-#
 msgid "Local share name"
-msgstr ""
+msgstr "Nombre compartido local"
 
 #
 msgid "Location"
@@ -3733,21 +3670,21 @@ msgid "Long Keypress"
 msgstr "Pulsar tecla largo"
 
 msgid "Long filenames"
-msgstr ""
+msgstr "Nombres de ficheros largos"
 
 #
 msgid "Longitude"
 msgstr "Longitud"
 
-#
 msgid "Lower bound of timespan."
-msgstr ""
+msgstr "Límite inferior del intervalo de tiempo."
 
-#
 msgid ""
 "Lower bound of timespan. Nothing before this time will be matched. Offsets "
 "are not taken into account!"
 msgstr ""
+"Límite inferior de tiempo. Nada antes de este tiempo coincidirá. ¡El "
+"intervalo de inicio no es tenido en cuenta!"
 
 #
 msgid "MMC Card"
@@ -3782,25 +3719,25 @@ msgid "Manage extensions"
 msgstr "Manejar extensiones"
 
 msgid "Manage local files"
-msgstr ""
+msgstr "Manejar ficheros locales"
 
 msgid "Manage logos to display at boot time or while in radio mode."
-msgstr ""
+msgstr "Manejar logos a visualizar al arranque o mientras está en modo radio."
 
 msgid "Manage logos to display at boottime"
-msgstr ""
+msgstr "Manejar logos a visualizar al arranque"
 
-#
 msgid "Manage network shares"
-msgstr ""
+msgstr "Manejar unidades de red"
 
 msgid ""
 "Manage your music files in a database, play it with Merlin Music Player."
 msgstr ""
+"Manejar sus ficheros de música en una base de datos, reproduciéndolo con el "
+"Reproductor de Música Merlin."
 
-#
 msgid "Manage your network shares..."
-msgstr ""
+msgstr "Manejar sus unidades compartidas en red..."
 
 #
 msgid "Manage your receiver's software"
@@ -3848,11 +3785,12 @@ msgstr "Max. Bitrate: "
 msgid "Maximum duration (in m)"
 msgstr "Máxima Duración (en m)"
 
-#
 msgid ""
 "Maximum event duration to match. If an event is longer than this ammount of "
 "time (without offset) it won't be matched."
 msgstr ""
+"Máxima duración del evento para coincidir. Si un evento es más largo que "
+"esta cantidad de tiempo (sin adelanto) no coincidirá."
 
 #
 msgid "Media player"
@@ -4842,6 +4780,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index a4d855fa0367adcf842aa15b5c58c5c560e491ce..b607aa0f907209744d7ea79237c2a8560d391fd9 100755 (executable)
--- a/po/et.po
+++ b/po/et.po
@@ -6,14 +6,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-12-02 19:12+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2010-12-30 09:00+0200\n"
 "Last-Translator: Arvo <arvo@softshark.ee>\n"
 "Language-Team: none\n"
-"Language: et\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: et\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 
@@ -491,13 +491,12 @@ msgstr ""
 msgid "A small overview of the available icon states and actions."
 msgstr "Kasutatavate ikoonide seisundite ja tegevuste lühiülevaade."
 
-#
 msgid ""
 "A timer failed to record!\n"
 "Disable TV and try again?\n"
 msgstr ""
 "Taimeriga salvestus nurjus!\n"
-"Keela TV ja proovi uuesti\n"
+"Keela TV ja proovi uuesti?\n"
 
 msgid "A/V Settings"
 msgstr "Heli- ja pildisätted"
@@ -748,7 +747,7 @@ msgid "Alternative radio mode"
 msgstr "Alternatiivne raadiorežiim"
 
 msgid "Alternative services tuner priority"
-msgstr "Tüüneri prioriteet"
+msgstr "Tuuneri prioriteet"
 
 msgid "Always ask"
 msgstr "Alati küsi"
@@ -1194,7 +1193,7 @@ msgid "Change bouquets in quickzap"
 msgstr "Nimekirjade vahetus ka nooleklahvidega"
 
 msgid "Change default recording offset?"
-msgstr "Muuda salvestuse vaikimisi offsetti"
+msgstr "Muuda salvestuse vaikimisi offsetti?"
 
 msgid "Change hostname"
 msgstr "Muuda nime"
@@ -1217,7 +1216,7 @@ msgid "Change step size"
 msgstr "Muuda sammu suurust"
 
 msgid "Change the hostname of your Dreambox."
-msgstr "Muuda oma tuuneri nime"
+msgstr "Muuda oma tuuneri nime."
 
 msgid "Changelog"
 msgstr "Muudatuste logi"
@@ -1247,9 +1246,8 @@ msgstr "Kanalilisti menüü"
 msgid "Channels"
 msgstr "Kanalid"
 
-#
 msgid "Chap."
-msgstr "Peatükk"
+msgstr "Peatükk."
 
 #
 msgid "Chapter"
@@ -1263,12 +1261,11 @@ msgstr "Peatükk:"
 msgid "Check"
 msgstr "Kontrolli"
 
-#
 msgid "Checking Filesystem..."
-msgstr "Kontrollin failisüsteemi"
+msgstr "Kontrollin failisüsteemi..."
 
 msgid "Choose Tuner"
-msgstr "Vali tüüner"
+msgstr "Vali tuuner"
 
 msgid "Choose a wireless network"
 msgstr "Vali WiFi võrk"
@@ -1333,7 +1330,7 @@ msgid "Clear before scan"
 msgstr "Kustuta kanalid"
 
 msgid "Clear history on Exit:"
-msgstr "Kustuta väljudes ajalugu"
+msgstr "Kustuta väljudes ajalugu:"
 
 #
 msgid "Clear log"
@@ -1475,9 +1472,8 @@ msgstr "Ühenda WiFi võrguga"
 msgid "Connected to"
 msgstr "Ühendatud"
 
-#
 msgid "Connected!"
-msgstr "Ühendatud"
+msgstr "Ühendatud!"
 
 msgid "Constellation"
 msgstr "Konstellatsioon"
@@ -1503,7 +1499,7 @@ msgid "Contrast"
 msgstr "Kontrast"
 
 msgid "Control your Dreambox with your Web browser."
-msgstr "Halda oma vastuvõtjat veebibrauseriga"
+msgstr "Halda oma vastuvõtjat veebibrauseriga."
 
 msgid "Control your Dreambox with your browser"
 msgstr "Halda oma vastuvõtjat kasutatava brauseriga"
@@ -1512,7 +1508,7 @@ msgid "Control your dreambox with only the MUTE button"
 msgstr "Halda oma vastuvõtjat ainult MUTE nupuga"
 
 msgid "Control your dreambox with only the MUTE button."
-msgstr "Halda oma vastuvõtjat ainult MUTE nupuga"
+msgstr "Halda oma vastuvõtjat ainult MUTE nupuga."
 
 msgid "Control your internal system fan."
 msgstr "Kontrolli sisemist süsteemiventilaatorit."
@@ -1578,7 +1574,7 @@ msgid "Create a backup of your Video-DVD"
 msgstr "Tee video DVD-st backup"
 
 msgid "Create a new AutoTimer."
-msgstr "Loo uus AutoTaimer"
+msgstr "Loo uus AutoTaimer."
 
 msgid "Create a new timer using the classic editor"
 msgstr "Loo uus taimer tavaeditoriga"
@@ -1597,7 +1593,7 @@ msgid "Create remote timers"
 msgstr "Sea kaugjuhitavad taimerid"
 
 msgid "Create timers on remote Dreamboxes."
-msgstr "Sea taimerid kaugjuhitavatel tuuneritel"
+msgstr "Sea taimerid kaugjuhitavatel tuuneritel."
 
 #
 #, python-format
@@ -1619,9 +1615,8 @@ msgstr "Hetke transponder"
 msgid "Current device: "
 msgstr "Praegune seade: "
 
-#
 msgid "Current settings:"
-msgstr "Hetke sätted"
+msgstr "Hetke sätted:"
 
 msgid "Current value: "
 msgstr "Praegune väärtus: "
@@ -1690,7 +1685,7 @@ msgstr ""
 "CutListEditor võimaldab töödelda su filme. \n"
 "Otsi selle koha algus, mille tahad maha lõigata. Vajuta OK, vali 'alusta "
 "lõiget'.\n"
-"Siis leia lõpp, vajuta OK, vali 'lõpeta lõige'. TEHTUD!"
+"Siis leia lõpp, vajuta OK, vali 'lõpeta lõige'. TEHTUD."
 
 msgid "Cutlist editor..."
 msgstr "Määra lõikekohad..."
@@ -1854,7 +1849,7 @@ msgid "Detected HDD:"
 msgstr "Leitud kõvaketas:"
 
 msgid "Detected NIMs:"
-msgstr "Leitud tüünerid:"
+msgstr "Leitud tuunerid:"
 
 msgid "DiSEqC"
 msgstr "DiSEqC"
@@ -1972,13 +1967,12 @@ msgstr ""
 "Kas soovid kindlasti eemaldada\n"
 "laiendust \"%s\"?"
 
-#
 msgid ""
 "Do you really want to check the filesystem?\n"
 "This could take lots of time!"
 msgstr ""
 "Kas soovid kindlasti failisüsteemi kontrollida?\n"
-"Selleks kulub palju aega!!!"
+"Selleks kulub palju aega!"
 
 #
 #, python-format
@@ -2028,7 +2022,7 @@ msgstr "Kas soovid uut käsiotsingut teha?"
 
 #, python-format
 msgid "Do you want to download the image to %s ?"
-msgstr "Kas soovid image alla laadida %s?"
+msgstr "Kas soovid image alla laadida %s ?"
 
 #
 msgid "Do you want to enable the parental control feature on your dreambox?"
@@ -2155,15 +2149,14 @@ msgstr "Laetakse alla"
 msgid "Downloading plugin information. Please wait..."
 msgstr "Laeme alla laienduse infot. Palun oota..."
 
-#
 msgid "Downloading screenshots. Please wait..."
-msgstr "Laadin eelvaadet. Palun oodake ..."
+msgstr "Laadin eelvaadet. Palun oodake..."
 
 msgid "Dreambox format data DVD (HDTV compatible)"
 msgstr "Vastuvõtja formaadib data DVD-d"
 
 msgid "Dreambox software because updates are available."
-msgstr "Vastuvõtja tarkvara, sest uuendused on saadaval"
+msgstr "Vastuvõtja tarkvara, sest uuendused on saadaval."
 
 msgid "Duration: "
 msgstr "Kestus: "
@@ -2336,7 +2329,7 @@ msgstr "Luba lapselukk"
 msgid ""
 "Enable this to be able to access the AutoTimer Overview from within the "
 "extension menu."
-msgstr "Luba see, et tagada AutoTimeri ülevaade laienduste menüüst"
+msgstr "Luba see, et tagada AutoTimeri ülevaade laienduste menüüst."
 
 #
 msgid "Enable timer"
@@ -2399,7 +2392,7 @@ msgid ""
 "Needs a running VLC from www.videolan.org on your pc."
 msgstr ""
 "Enigma2 lisa AVI/DIVX/WMV/jne. PC-st tulevate videote mängimiseks "
-"vastuvõtjas. Vajab arvutis töötavat VLC programmi www.videolan.org -st"
+"vastuvõtjas. Vajab arvutis töötavat VLC programmi www.videolan.org -st."
 
 msgid ""
 "Enigma2 Skinselector\n"
@@ -2427,9 +2420,8 @@ msgstr "Sisesta IP..."
 msgid "Enter Rewind at speed"
 msgstr "Alusta tagasikerimist kiirusega"
 
-#
 msgid "Enter main menu..."
-msgstr "Mine peamenüüsse"
+msgstr "Mine peamenüüsse..."
 
 msgid "Enter new hostname for your Dreambox"
 msgstr "Sisesta uus nimi oma tuunerile"
@@ -2522,9 +2514,8 @@ msgstr "Käivita TuxboxPlugins"
 msgid "Execution Progress:"
 msgstr "Käivituse progress:"
 
-#
 msgid "Execution finished!!"
-msgstr "Käivitus lõppenud!"
+msgstr "Käivitus lõppenud!!"
 
 #
 msgid "Exif"
@@ -2563,9 +2554,8 @@ msgstr "Ekspert"
 msgid "Extended Networksetup Plugin..."
 msgstr "Laiendatud võrguseaded..."
 
-#
 msgid "Extended Setup..."
-msgstr "Laiendatud seaded"
+msgstr "Laiendatud seaded..."
 
 #
 msgid "Extended Software"
@@ -2592,7 +2582,7 @@ msgid ""
 "a server using the file transfer protocol."
 msgstr ""
 "FTPBrowser võimaldab failide vahendust vastuvõtja ja serveri vahel, "
-"kasutades failivahenduse protokolli FTP"
+"kasutades failivahenduse protokolli FTP."
 
 msgid "Factory reset"
 msgstr "Algseadistuse taaste"
@@ -2656,7 +2646,6 @@ msgstr "Film & Animatsioon"
 msgid "Filter"
 msgstr "Filter"
 
-#
 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 "
@@ -2666,7 +2655,7 @@ msgstr ""
 "Filtrid on üks võimsaid vahendeid vajalike saadete leidmiseks. AutoTimer'i "
 "abil saab ära keelata teatud nädalapäevade jaoks või ainult leida saade , "
 "kus on kirjelduses tekst nt. \n"
-"Vajuta BLUE uue keelu seadmiseks ja YELLOW seatud keelu muutmisek.s"
+"Vajuta BLUE uue keelu seadmiseks ja YELLOW seatud keelu muutmiseks."
 
 #
 msgid "Finetune"
@@ -2810,9 +2799,8 @@ msgstr "Üldine PCM viide"
 msgid "General PCM delay (ms)"
 msgstr "Üldine PCM viide (ms)"
 
-#
 msgid "Genre"
-msgstr "Zanr:"
+msgstr "Zanr"
 
 #
 msgid "Genuine Dreambox"
@@ -3063,7 +3051,7 @@ msgid ""
 "In order to record a timer, the TV was switched to the recording service!\n"
 msgstr ""
 "Sunnitud kanalivahetus. Taimeri salvestus just käivitus ja vajas seda "
-"tüünerit.\n"
+"tuunerit!\n"
 
 #
 msgid "Include"
@@ -3155,7 +3143,7 @@ msgid "Install settings, skins, software..."
 msgstr "Installin tarkvara..."
 
 msgid "Installation finished."
-msgstr "Käivitus lõppenud!"
+msgstr "Installimine lõppenud."
 
 msgid "Installing"
 msgstr "Installin"
@@ -3170,11 +3158,10 @@ msgid "Installing defaults... Please wait..."
 msgstr "Installin algseaded.Palun oota..."
 
 msgid "Installing package content... Please wait..."
-msgstr "Installin pakendi sisu.Palun oodake ..."
+msgstr "Installin pakendi sisu... Palun oodake..."
 
-#
 msgid "Instant Record..."
-msgstr "Kohene salvestus"
+msgstr "Kohene salvestus..."
 
 #
 msgid "Instant record location"
@@ -3192,7 +3179,7 @@ msgid "Internal Flash"
 msgstr "Sisemine flash-mälu"
 
 msgid "Internal LAN adapter."
-msgstr "Sisemine LAN adapter"
+msgstr "Sisemine LAN adapter."
 
 msgid "Internal firmware updater"
 msgstr "Sisemine tarkvara uuendaja"
@@ -3468,9 +3455,8 @@ msgstr "Laadi"
 msgid "Load Length of Movies in Movielist"
 msgstr "Lisa filmide pikkused nimekirja"
 
-#
 msgid "Load feed on startup:"
-msgstr "Laadi feed alustades"
+msgstr "Laadi feed alustades:"
 
 #
 msgid "Load movie-length"
@@ -3560,7 +3546,7 @@ msgid "Manage logos to display at boot time or while in radio mode."
 msgstr "Sea logod, mida näidatakse alustamisel või raadio moodis."
 
 msgid "Manage logos to display at boottime"
-msgstr "Sea logod näitamiseks alustamisel."
+msgstr "Sea logod näitamiseks alustamisel"
 
 #
 msgid "Manage network shares"
@@ -3570,9 +3556,8 @@ msgid ""
 "Manage your music files in a database, play it with Merlin Music Player."
 msgstr "Sea oma muusikafailid andmebaasis, mängi neid Merlin Music Player'iga."
 
-#
 msgid "Manage your network shares..."
-msgstr "Halda oma võrgukohti ..."
+msgstr "Halda oma võrgukohti..."
 
 #
 msgid "Manage your receiver's software"
@@ -3653,9 +3638,8 @@ msgstr ""
 msgid "Medium is not a writeable DVD!"
 msgstr "DVD ketas ei ole kirjutatav!"
 
-#
 msgid "Medium is not empty!"
-msgstr "Ketas ei ole tühi?"
+msgstr "Ketas ei ole tühi!"
 
 #
 msgid "Menu"
@@ -3668,9 +3652,8 @@ msgstr "Merlin muusika mängija ja iDream"
 msgid "Message"
 msgstr "Teade"
 
-#
 msgid "Message..."
-msgstr "Teade"
+msgstr "Teade..."
 
 #
 msgid "Mexico"
@@ -3848,7 +3831,7 @@ msgid "Move west"
 msgstr "Liiguta läände"
 
 msgid "Movie information from the Online Film Datenbank (German)."
-msgstr "Filmi info Online Film Datenbank'ist (Saksa)"
+msgstr "Filmi info Online Film Datenbank'ist (Saksa)."
 
 msgid "Movie informations from the Online Film Datenbank"
 msgstr "Filmi info Online Film Datenbank'ist"
@@ -3861,7 +3844,7 @@ msgid ""
 "MovieTagger adds tags to recorded movies to sort a large list of movies."
 msgstr ""
 "Movie Tagger lisab salvestatud filmidele märked pika filminimekirja "
-"sorteerimiseks"
+"sorteerimiseks."
 
 msgid ""
 "Movielist Preview creates screenshots of recordings and shows them inside "
@@ -4109,9 +4092,8 @@ msgstr "Võrgu häälestamine"
 msgid "Network test"
 msgstr "Võrgu ühenduse test"
 
-#
 msgid "Network test..."
-msgstr "Võrgu ühenduse test"
+msgstr "Võrgu ühenduse test..."
 
 msgid "Network test: "
 msgstr "Võrgu test: "
@@ -4206,7 +4188,7 @@ msgstr ""
 "hüppamiseks!"
 
 msgid "No free tuner!"
-msgstr "Pole vaba tüünerit!"
+msgstr "Pole vaba tuunerit!"
 
 msgid "No network connection available."
 msgstr "Võrgu ühendust pole saadaval."
@@ -4233,27 +4215,26 @@ msgid "No playable video found! Stop playing this movie?"
 msgstr "Ei leia mängitavat videot! Kas peatada selle filmi näitamine?"
 
 msgid "No positioner capable frontend found."
-msgstr "Ei leitud positsioneeri toetavat tüünerit"
+msgstr "Ei leitud positsioneeri toetavat tuunerit."
 
 msgid "No satellite frontend found!!"
-msgstr "Ei leitud satelliidi tüünerit!!"
+msgstr "Ei leitud satelliidi tuunerit!!"
 
-#
 msgid "No tags are set on these movies."
-msgstr "Salvestisele pole märksõnu määratud"
+msgstr "Salvestisele pole märksõnu määratud."
 
 msgid "No to all"
 msgstr "EI kõigile"
 
 msgid "No tuner is configured for use with a diseqc positioner!"
-msgstr "Ükski tüüner pole seadistatud DISEqC-positsioneeri kasutama!"
+msgstr "Ükski tuuner pole seadistatud DISEqC-positsioneeri kasutama!"
 
 msgid ""
 "No tuner is enabled!\n"
 "Please setup your tuner settings before you start a service scan."
 msgstr ""
-"Tüüner määramata!\n"
-"Määra tüüner enne kanaliotsingu alustamist."
+"Tuuner määramata!\n"
+"Määra tuuner enne kanaliotsingu alustamist."
 
 msgid ""
 "No valid service PIN found!\n"
@@ -4306,7 +4287,7 @@ msgid ""
 "your local network interface."
 msgstr ""
 "Ei leidnud töötavat WiFi seadet.\n"
-" Palun kontrolli, kas tüüneriga ühilduv seade on ühendatud ja kas kohalik "
+" Palun kontrolli, kas tuuneriga ühilduv seade on ühendatud ja kas kohalik "
 "võrk töötab."
 
 #
@@ -4359,9 +4340,8 @@ msgstr "Pole"
 msgid "Nonlinear"
 msgstr "Ebalineaarne"
 
-#
 msgid "Nonprofits & Activism"
-msgstr "Mittetulundus ja ..."
+msgstr "Mittetulundus & Aktivism"
 
 #
 msgid "North"
@@ -4384,13 +4364,12 @@ msgstr ""
 msgid "Not fetching feed entries"
 msgstr "Otsingut ei toimu"
 
-#
 msgid ""
 "Nothing to scan!\n"
 "Please setup your tuner settings before you start a service scan."
 msgstr ""
 "Pole midagi otsida!\n"
-"Määra tüüneri seaded enne kanalite otsingu alustamist."
+"Määra tuuneri seaded enne kanalite otsingu alustamist."
 
 #
 msgid "Now Playing"
@@ -4469,9 +4448,8 @@ msgstr "Ainult sel korral loodud Autotaimerid"
 msgid "Only Free scan"
 msgstr "Ainult vabade otsimine"
 
-#
 msgid "Only extensions."
-msgstr "Ainult laiendused"
+msgstr "Ainult laiendused."
 
 #
 msgid "Only match during timespan"
@@ -4510,7 +4488,7 @@ msgid "Override found with alternative service"
 msgstr "Teise kanaliga on leitud kattuvus"
 
 msgid "Overwrite configuration files ?"
-msgstr "Kas konifguratsioonifailid üle kirjutada?"
+msgstr "Kas konifguratsioonifailid üle kirjutada ?"
 
 msgid "Overwrite configuration files during software upgrade?"
 msgstr "Kas tarkvara uuendamisel kirjutada üle konfiguratsioonifailid?"
@@ -4585,6 +4563,9 @@ msgstr "Inimesed & blogid"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock näitab ekraanil pidevalt kellaaega."
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Loomad & Lemmikloomad"
@@ -4615,16 +4596,14 @@ msgstr "Kood on vajalik"
 msgid "Play"
 msgstr "Taasesita"
 
-#
 msgid "Play Audio-CD..."
-msgstr "Mängi Audio-CD"
+msgstr "Mängi Audio-CD..."
 
 msgid "Play DVD"
 msgstr "Taasesita"
 
-#
 msgid "Play Music..."
-msgstr "Mängi Audio-CD"
+msgstr "Mängi Muusikat..."
 
 #
 msgid "Play YouTube movies"
@@ -4640,9 +4619,8 @@ msgstr "Mängi muusikat Last.fm-st."
 msgid "Play next video"
 msgstr "Mängi järgmist videot"
 
-#
 msgid "Play recorded movies..."
-msgstr "Näita salvestisi"
+msgstr "Näita salvestisi..."
 
 #
 msgid "Play video again"
@@ -4776,13 +4754,11 @@ msgstr "Vajuta OK!"
 msgid "Please provide a Text to match"
 msgstr "Palun sisesta otsitav tekst"
 
-#
 msgid "Please select a playlist to delete..."
-msgstr "Vali kustutatav esitusloend"
+msgstr "Vali kustutatav esitusloend..."
 
-#
 msgid "Please select a playlist..."
-msgstr "Vali esitusloend"
+msgstr "Vali esitusloend..."
 
 #
 msgid "Please select a standard feed or try searching for videos."
@@ -4801,21 +4777,18 @@ msgstr "Palun vali NFI fail ja vajuta flashimiseks rohelist nuppu!"
 msgid "Please select an extension to remove."
 msgstr "Vali laiendus eemaldamiseks."
 
-#
 msgid "Please select an option below."
-msgstr "Palun vali mõni järgmistest valikutest"
+msgstr "Palun vali mõni järgmistest valikutest."
 
 #
 msgid "Please select medium to use as backup location"
 msgstr "Vali asukoht varukoopiale"
 
-#
 msgid "Please select tag to filter..."
-msgstr "Vali otsingusõna"
+msgstr "Vali otsingusõna..."
 
-#
 msgid "Please select the movie path..."
-msgstr "Vali salvestise kataloog"
+msgstr "Vali salvestise kataloog..."
 
 msgid ""
 "Please select the network interface that you want to use for your internet "
@@ -4834,19 +4807,16 @@ msgid ""
 msgstr ""
 "Palun valige WiFi võrk ühenduseks.\n"
 "\n"
-"Jätkamiseks vajutage OK"
+"Jätkamiseks vajutage OK."
 
-#
 msgid "Please set up tuner B"
-msgstr "Määra tüüneri B seaded:"
+msgstr "Määra tuuneri B seaded"
 
-#
 msgid "Please set up tuner C"
-msgstr "Määra tüüneri C seaded:"
+msgstr "Määra tuuneri C seaded"
 
-#
 msgid "Please set up tuner D"
-msgstr "Määra tüüneri D seaded:"
+msgstr "Määra tuuneri D seaded"
 
 #
 msgid ""
@@ -4878,9 +4848,8 @@ msgstr "Palun oota kuni võrguseadistus aktiveeritakse..."
 msgid "Please wait for activation of your network mount..."
 msgstr "Palun oota oma võrguühenduse aktiveerimist..."
 
-#
 msgid "Please wait while removing selected package..."
-msgstr "Palun oota, kuni eemaldan valitud laiendust"
+msgstr "Palun oota, kuni eemaldan valitud laiendust..."
 
 #
 msgid "Please wait while removing your network mount..."
@@ -4889,9 +4858,8 @@ msgstr "Palun oota oma võrguühenduse kõrvaldamist..."
 msgid "Please wait while scanning is in progress..."
 msgstr "Pilti laetakse. Oota..."
 
-#
 msgid "Please wait while searching for removable packages..."
-msgstr "Palun oota, kuni otsin eemaldatavaid laiendusi"
+msgstr "Palun oota, kuni otsin eemaldatavaid laiendusi..."
 
 #
 msgid "Please wait while updating your network mount..."
@@ -4905,17 +4873,15 @@ msgstr "Palun oota kuni seadistan võrgu..."
 msgid "Please wait while we prepare your network interfaces..."
 msgstr "Palun oota, käivitame võrguliidest..."
 
-#
 msgid "Please wait while we test your network..."
-msgstr "Palun oota, testin võrku"
+msgstr "Palun oota, testin võrku..."
 
 #
 msgid "Please wait while your network is restarting..."
 msgstr "Palun oota kuni võrk taaskäivitub..."
 
-#
 msgid "Please wait..."
-msgstr "Oota"
+msgstr "Oota..."
 
 #
 msgid "Please wait... Loading list..."
@@ -4942,7 +4908,7 @@ msgid "Plugins"
 msgstr "Laiendused"
 
 msgid "PodCast streams podcasts to your Dreambox."
-msgstr "PodCast esitab/striimib podcast'i Sinu vastuvõtjasse"
+msgstr "PodCast esitab/striimib podcast'i Sinu vastuvõtjasse."
 
 #
 msgid "Poland"
@@ -5034,13 +5000,11 @@ msgstr "Vajuta INFO nuppu puldil lisainfo saamiseks."
 msgid "Press MENU on your remote control for additional options."
 msgstr "Vajuta MENU puldil lisavõimaluste kasutamiseks."
 
-#
 msgid "Press OK on your remote control to continue."
-msgstr "Jätkamiseks vajuta OK"
+msgstr "Jätkamiseks vajuta OK."
 
-#
 msgid "Press OK to activate the selected skin."
-msgstr "Vajuta OK uue välimuse aktiveerimiseks"
+msgstr "Vajuta OK uue välimuse aktiveerimiseks."
 
 #
 msgid "Press OK to activate the settings."
@@ -5054,9 +5018,8 @@ msgstr ""
 msgid "Press OK to edit selected settings."
 msgstr "Vajuta OK valitud seade muutmiseks."
 
-#
 msgid "Press OK to edit the settings."
-msgstr "Sätete muutmiseks vajuta OK"
+msgstr "Sätete muutmiseks vajuta OK."
 
 #
 msgid "Press OK to expand this host"
@@ -5169,7 +5132,7 @@ msgid "Python frontend for /tmp/mmi.socket"
 msgstr "Pythoni programm /tmp/mmi.socket jaoks"
 
 msgid "Python frontend for /tmp/mmi.socket."
-msgstr "Pythoni programm /tmp/mmi.socket jaoks"
+msgstr "Pythoni programm /tmp/mmi.socket jaoks."
 
 msgid "Quick"
 msgstr "Kiire kanalivalik"
@@ -5275,9 +5238,8 @@ msgstr "Salvestus käib"
 msgid "Record time limited due to conflicting timer %s"
 msgstr "Salvestusaeg on piiratud teise taimeri %s tõttu"
 
-#
 msgid "Recorded files..."
-msgstr "Salvestised"
+msgstr "Salvestised..."
 
 #
 msgid "Recording"
@@ -5305,9 +5267,8 @@ msgstr "Korda uut PIN-i"
 msgid "Refresh Rate"
 msgstr "Värskendussagedus"
 
-#
 msgid "Refresh rate selection."
-msgstr "Värskendussageduse valik"
+msgstr "Värskendussageduse valik."
 
 #
 msgid "Related video entries."
@@ -5357,7 +5318,7 @@ msgid "Remove failed."
 msgstr "Eemaldamine nurjus."
 
 msgid "Remove finished."
-msgstr "Eemaldatud.."
+msgstr "Eemaldatud."
 
 #
 msgid "Remove plugins"
@@ -5374,9 +5335,8 @@ msgstr "Eemalda taimer"
 msgid "Remove title"
 msgstr "Eemalda pealkiri"
 
-#
 msgid "Removed successfully."
-msgstr "Eemaldatud"
+msgstr "Eemaldatud."
 
 msgid "Removing"
 msgstr "Eemaldab"
@@ -5444,9 +5404,8 @@ msgstr "Nulli arvesti"
 msgid "Reset saved position"
 msgstr "Nulli salvestatud positsioon"
 
-#
 msgid "Reset video enhancement settings to system defaults?"
-msgstr "Sea pildiparandused süsteemi algseadesse."
+msgstr "Sea pildiparandused süsteemi algseadesse?"
 
 #
 msgid "Reset video enhancement settings to your last configuration?"
@@ -5827,9 +5786,8 @@ msgstr "Otsin uuendusi. Palun oota..."
 msgid "Searching for new installed or removed packages. Please wait..."
 msgstr "Otsin uusi installitud või kustutatud pakette. Oota..."
 
-#
 msgid "Searching your network. Please wait..."
-msgstr "Otsin võrku. Palun oota ..."
+msgstr "Otsin võrku. Palun oota..."
 
 msgid "Secondary DNS"
 msgstr "Sekundaarne DNS"
@@ -6037,7 +5995,7 @@ msgid ""
 "Check tuner configuration!"
 msgstr ""
 "Pole kanalit!\n"
-"Kontrolli tüüneri seadeid!"
+"Kontrolli tuuneri seadeid!"
 
 #
 msgid "Serviceinfo"
@@ -6059,7 +6017,7 @@ msgid "Set Voltage and 22KHz"
 msgstr "Vali pinge ja 22 KHz"
 
 msgid "Set available internal memory threshold for the warning."
-msgstr "Sea saadaoleva sisemälu mahu hoiatusnivoo"
+msgstr "Sea saadaoleva sisemälu mahu hoiatusnivoo."
 
 #
 #, python-format
@@ -6339,9 +6297,8 @@ msgstr "Need laiendused pole saadaval:\n"
 msgid "Sorry MediaScanner is not installed!"
 msgstr "Kahjuks MediaScanner ei ole seadistatud!"
 
-#
 msgid "Sorry no backups found!"
-msgstr "Ei leidnud varukoopiat"
+msgstr "Ei leidnud varukoopiat!"
 
 msgid ""
 "Sorry your backup destination is not writeable.\n"
@@ -6350,9 +6307,8 @@ msgstr ""
 "Varukoopia asukohta ei saa salvestada.\n"
 "Vali uus asukoht."
 
-#
 msgid "Sorry, no Details available!"
-msgstr "Kahjuks pole detaile saadaval"
+msgstr "Kahjuks pole detaile saadaval!"
 
 #
 msgid "Sorry, video is not available!"
@@ -6532,7 +6488,7 @@ msgid "Streaming modules for the orf.at iptv web page."
 msgstr "Voogesitus moodul orf.at iptv veebilehele."
 
 msgid "Subservice list..."
-msgstr "Alamteenuste nimekiri"
+msgstr "Alamteenuste nimekiri..."
 
 msgid "Subservices"
 msgstr "Alamteenused"
@@ -6658,7 +6614,7 @@ msgid "Test your DiSEqC equipment"
 msgstr "Proovi oma DiSEqC seadmeid"
 
 msgid "Test-Messagebox?"
-msgstr "Testsõnum ?"
+msgstr "Testsõnum?"
 
 msgid ""
 "Thank you for using the wizard.\n"
@@ -6827,14 +6783,13 @@ msgid ""
 msgstr ""
 "Loendurit saab automaatselt seada piirangutele teatud ajavahemike järel."
 
-#
 #, python-format
 msgid ""
 "The directory %s is not writable.\n"
 "Make sure you select a writable directory instead."
 msgstr ""
-"Kataloog %s ei ole salvestatav \n"
-"Vali kindlasti selle asemel salvestatav kataloog"
+"Kataloog %s ei ole salvestatav.\n"
+"Vali kindlasti selle asemel salvestatav kataloog."
 
 #
 msgid ""
@@ -6909,9 +6864,8 @@ msgstr "Tulemused on salvestatud %s."
 msgid "The skin is in KingSize-definition 1024x576"
 msgstr "Välimus on KingSize eraldusega 1024x576"
 
-#
 msgid "The sleep timer has been activated."
-msgstr "Unetaimer on aktiveeritud"
+msgstr "Unetaimer on aktiveeritud."
 
 msgid "The sleep timer has been disabled."
 msgstr "Unetaimer välja lülitatud."
@@ -6947,9 +6901,8 @@ msgstr ""
 "Abiline leidis konfiguratsiooni varukoopia. Kas soovid taastada vanad seaded "
 "%s?"
 
-#
 msgid "The wizard is finished now."
-msgstr "Toiming on nüüd lõpetatud. Vajuta OK"
+msgstr "Toiming on nüüd lõpetatud. Vajuta OK."
 
 msgid "There are at least "
 msgstr "Seal on vähemalt "
@@ -6961,9 +6914,8 @@ msgstr "Praegu ei ole täitmata tegevusi."
 msgid "There are no default services lists in your image."
 msgstr "Selles tarkvaras ei ole vaikimisi saatjate nimekirja."
 
-#
 msgid "There are no default settings in your image."
-msgstr "Selles tarkvaras ei ole vaikimisi seadeid"
+msgstr "Selles tarkvaras ei ole vaikimisi seadeid."
 
 #
 msgid "There are no updates available."
@@ -7027,9 +6979,8 @@ msgstr ""
 "See on nimi, mille saab anda Autotimerile. Antud nime näidatakse nii "
 "ülevaates kui ka eelvaates."
 
-#
 msgid "This is step number 2."
-msgstr "See on 2. samm"
+msgstr "See on 2. samm."
 
 #
 msgid ""
@@ -7067,21 +7018,17 @@ msgstr ""
 "Kui oled juba ette valmistanud alglaetava USB pulga, siis ühenda see nüüd. "
 "Vastasel korral ühenda min. 64 MB USB pulk!"
 
-#
 msgid "This plugin is installed."
-msgstr "Laiendus on paigaldatud"
+msgstr "Laiendus on paigaldatud."
 
-#
 msgid "This plugin is not installed."
-msgstr "See laiendus pole paigaldatud"
+msgstr "See laiendus pole paigaldatud."
 
-#
 msgid "This plugin will be installed."
-msgstr "See laiendus paigaldatakse"
+msgstr "See laiendus paigaldatakse."
 
-#
 msgid "This plugin will be removed."
-msgstr "See laiendus eemaldatakse"
+msgstr "See laiendus eemaldatakse."
 
 #
 msgid "This setting controls the behavior when a timer matches a found event."
@@ -7263,9 +7210,8 @@ msgstr "Ajanihe"
 msgid "Timeshift location"
 msgstr "Ajanihke asukoht"
 
-#
 msgid "Timeshift not possible!"
-msgstr "Ajanihke kasutamine pole võimalik."
+msgstr "Ajanihke kasutamine pole võimalik!"
 
 #
 msgid "Timezone"
@@ -7404,19 +7350,19 @@ msgid "Tune failed!"
 msgstr "Häälestus nurjus!"
 
 msgid "Tuner"
-msgstr "Tüüner"
+msgstr "Tuuner"
 
 msgid "Tuner "
-msgstr "Tüüner "
+msgstr "Tuuner "
 
 msgid "Tuner Slot"
-msgstr "Tüüneri pesa"
+msgstr "Tuuneri pesa"
 
 msgid "Tuner configuration"
-msgstr "Tüüneri seaded"
+msgstr "Tuuneri seaded"
 
 msgid "Tuner status"
-msgstr "Tüüneri olek"
+msgstr "Tuuneri olek"
 
 #
 msgid "Tuner type"
@@ -7476,9 +7422,8 @@ msgstr "Tühista install"
 msgid "Undo uninstall"
 msgstr "Tühista uninstall"
 
-#
 msgid "UnhandledKey"
-msgstr "Käsitlematu võti."
+msgstr "Käsitlematu võti"
 
 msgid "Unicable"
 msgstr "Unicable"
@@ -7502,7 +7447,7 @@ msgid "Universal LNB"
 msgstr "Universaal LNB"
 
 msgid "Unknown network adapter."
-msgstr "Tundmatu võrgu adapter"
+msgstr "Tundmatu võrgu adapter."
 
 msgid ""
 "Unless this is enabled AutoTimer will NOT automatically look for events "
@@ -7529,7 +7474,7 @@ msgid "Update"
 msgstr "Uuendus"
 
 msgid "Update done..."
-msgstr "Uuendus on valmis"
+msgstr "Uuendus on valmis..."
 
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 170
@@ -7562,7 +7507,7 @@ msgid "Updating, please wait..."
 msgstr "Uuendan, palun oota..."
 
 msgid "Updating... Please wait... This can take some minutes..."
-msgstr "Uuendan. Oota...See võib kesta mõne minuti."
+msgstr "Uuendan... Oota... See võib kesta mõne minuti..."
 
 msgid "Upgrade finished."
 msgstr "Uuendus valmis."
@@ -7637,7 +7582,7 @@ msgid ""
 msgstr ""
 "Kasuta vasakut ja paremat nuppu valimiseks.\n"
 "\n"
-"Häälesta tüüner A"
+"Häälesta tuuner A"
 
 #
 msgid ""
@@ -7787,20 +7732,18 @@ msgstr "Vaata Google kaarte"
 msgid "View Google maps with your Dreambox."
 msgstr "Vaata Google kaarti oma vastuvõtjaga."
 
-#
 msgid "View Movies..."
-msgstr "Näita salvestisi"
+msgstr "Näita salvestisi..."
 
 #
 msgid "View Photos..."
 msgstr "Vaata pilte..."
 
-#
 msgid "View Rass interactive..."
-msgstr "Vaata Rass interactive"
+msgstr "Vaata Rass interactive..."
 
 msgid "View Video CD..."
-msgstr "Vaata Vido CD"
+msgstr "Vaata Vido CD..."
 
 #
 msgid "View active downloads"
@@ -7867,9 +7810,8 @@ msgstr "Vaata seotud videoid"
 msgid "View response videos"
 msgstr "Vaata vastuse videoid"
 
-#
 msgid "View teletext..."
-msgstr "Kuva teksti-TV"
+msgstr "Kuva teksti-TV..."
 
 #
 msgid "View, edit or delete mountpoints on your Dreambox."
@@ -8047,8 +7989,7 @@ msgstr ""
 "Teretulemast mälupuhastaja abilisse.\n"
 "\n"
 "Vastuvõtjas kasutatav vaba sisemälu maht on langenud alla 2 MB.\n"
-"\\Oma vastuvõtja stabiilse töö kindlustamiseks oleks vaja sisemälu "
-"puhastada.\n"
+"Oma vastuvõtja stabiilse töö kindlustamiseks oleks vaja sisemälupuhastada.\n"
 "Saad kasutada seda puhastusabilist mõnede laienduste eemaldamiseks.\n"
 
 msgid ""
@@ -8501,7 +8442,7 @@ msgstr ""
 "\n"
 "Teie vastuvõtja interneti ühendus töötab.\n"
 "\n"
-"Vajutage OK jätkamiseks"
+"Vajutage OK jätkamiseks."
 
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr "Teie vastuvõtja teeb pärast puldilt OK vajutamist taaskäivituse."
@@ -8509,7 +8450,7 @@ msgstr "Teie vastuvõtja teeb pärast puldilt OK vajutamist taaskäivituse."
 msgid ""
 "Your backup succeeded. We will now continue to explain the further upgrade "
 "process."
-msgstr "Turvakoopia valmis. Me informeerime edasistest uuenduste käigust"
+msgstr "Turvakoopia valmis. Me informeerime edasistest uuenduste käigust."
 
 msgid ""
 "Your collection exceeds the size of a single layer medium, you will need a "
@@ -8532,7 +8473,7 @@ msgid "Your current collection will get lost!"
 msgstr "Praegune kogumik kustutatakse!"
 
 msgid "Your dreambox is shutting down. Please stand by..."
-msgstr "Lülitan välja. Palun oota"
+msgstr "Lülitan välja. Palun oota..."
 
 #
 msgid ""
@@ -8540,9 +8481,8 @@ msgid ""
 "try again."
 msgstr "Internetiühendust pole. Kontrolli võrguseadeid ja ürita uuesti."
 
-#
 msgid "Your email address:"
-msgstr "Teie emaili aadress"
+msgstr "Teie emaili aadress:"
 
 #
 msgid ""
@@ -8564,9 +8504,8 @@ msgstr ""
 msgid "Your name (optional):"
 msgstr "Teie nimi (soovi korral):"
 
-#
 msgid "Your network configuration has been activated."
-msgstr "Võrguseadistus on aktiveeritud"
+msgstr "Võrguseadistus on aktiveeritud."
 
 #
 msgid "Your network mount has been activated."
@@ -8669,9 +8608,8 @@ msgstr "aktiveeri muudatused"
 msgid "activate network adapter configuration"
 msgstr "aktiveeri võrgukaardi seaded"
 
-#
 msgid "add AutoTimer..."
-msgstr "lisa autotaimer"
+msgstr "lisa autotaimer..."
 
 msgid "add Provider"
 msgstr "lisa levitaja"
@@ -8800,9 +8738,8 @@ msgstr "taust"
 msgid "better"
 msgstr "parem"
 
-#
 msgid "black"
-msgstr "tagasi"
+msgstr "must"
 
 #
 msgid "blacklist"
@@ -8934,9 +8871,8 @@ msgstr "ära tee midagi"
 msgid "don't record"
 msgstr "ära salvesta"
 
-#
 msgid "done!"
-msgstr "valmis"
+msgstr "valmis!"
 
 msgid "edit alternatives"
 msgstr "lisavõimaluste lisamine ja kustutamine"
@@ -9090,9 +9026,8 @@ msgstr "kohene väljalülitus"
 msgid "in Description"
 msgstr "kirjelduses"
 
-#
 msgid "in Shortdescription"
-msgstr "Lühikirjeldus"
+msgstr "lühikirjelduses"
 
 #
 msgid "in Title"
@@ -9278,10 +9213,10 @@ msgid "nothing connected"
 msgstr "pole ühendatud"
 
 msgid "of a DUAL layer medium used."
-msgstr "kasutatud kahekihilisest kettast"
+msgstr "kasutatud kahekihilisest kettast."
 
 msgid "of a SINGLE layer medium used."
-msgstr "kasutatud ühekihilisest kettast"
+msgstr "kasutatud ühekihilisest kettast."
 
 #
 msgid "off"
@@ -9338,9 +9273,8 @@ msgstr "taasesita eelmisest märgist"
 msgid "please press OK when ready"
 msgstr "vajuta OK kui valmis"
 
-#
 msgid "please wait, loading picture..."
-msgstr "Pilti laetakse. Oota..."
+msgstr "pilti laetakse. oota..."
 
 msgid "previous channel"
 msgstr "eelmine kanal"
@@ -9352,9 +9286,8 @@ msgstr "eelmine kanal ajaloos"
 msgid "record"
 msgstr "salvestus"
 
-#
 msgid "recording..."
-msgstr "salvestan"
+msgstr "salvestan..."
 
 msgid "red"
 msgstr "punane"
@@ -9527,7 +9460,7 @@ msgid "show shutdown menu"
 msgstr "näita shutdown menüü"
 
 msgid "show single service EPG..."
-msgstr "näita ühe kanali EPG"
+msgstr "näita ühe kanali EPG..."
 
 msgid "show tag menu"
 msgstr "näita märksõnade loend"
index 188d3fee2e1f2a1dffff9dee0a86f3a57ad867be..c0e53f66e7dc61e79a72474ec4f9bce50c62d5df 100755 (executable)
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,14 +3,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-11-18 18:59+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2010-12-19 14:53+0200\n"
 "Last-Translator: Timo <timojarvenpaa@hotmail.com>\n"
 "Language-Team: none\n"
-"Language: fi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Finnish\n"
@@ -4619,6 +4619,9 @@ msgstr "Ihmiset ja blogit"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock näyttää kellon pysyvästi kuvaruudulla."
 
+msgid "Persian"
+msgstr ""
+
 msgid "Pets & Animals"
 msgstr "Lemmikit ja eläimet"
 
@@ -8148,7 +8151,6 @@ msgstr ""
 "Tämä toiminto näyttää kuvaukset yleisimmistä asetuksista joiden avulla voit "
 "luoda uusia automaattiajastuksia"
 
-#
 #  Ohjatun alkuasennuksen (Start Wizard) aloitusruutu. Teksti on
 #  sovitettu melko tarkasti tilaansa, joten muutoksia ei ole syytä
 #  tehdä testaamatta niitä ensin käytännössä. Tekstiin on lisätty
@@ -8163,7 +8165,7 @@ msgid ""
 msgstr ""
 "Tervetuloa.\n"
 "\n"
-"Tämä asennustoiminto opastaa\n"
+"Tämä asennustoiminto neuvoo\n"
 "kuinka laitat Dreamboxin\n"
 "perusasetukset kuntoon.\n"
 "\n"
index 5ba132c488313e3038ba54d78a8bc6b9a332a608..ea368dfc51e63c98e51b4f40be4d2b141e05148d 100755 (executable)
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,14 +3,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2008-12-12 12:10+0100\n"
-"Last-Translator: mimi74 <remi.jarrige0293@orange.fr>\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2011-02-09 20:34+0200\n"
+"Last-Translator: Remi <remi.jarrige0293@orange.fr>\n"
 "Language-Team: french\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: French\n"
 "X-Poedit-SourceCharset: iso-8859-15\n"
 "X-Poedit-Country: FRENCH\n"
@@ -23,11 +25,12 @@ msgstr ""
 "\n"
 "Options avancées et paramètres."
 
-#
 msgid ""
 "\n"
 "After pressing OK, please wait!"
 msgstr ""
+"\n"
+"Après appui sur OK, veuillez patienter!"
 
 #
 msgid ""
@@ -45,13 +48,13 @@ msgstr ""
 "\n"
 "Editer l'adresse d'origine de la mise à jour."
 
-#
 msgid ""
 "\n"
 "Manage extensions or plugins for your Dreambox"
 msgstr ""
+"\n"
+"Gestion des extensions ou plugins pour votre Dreambox."
 
-#
 msgid ""
 "\n"
 "Online update of your Dreambox software."
@@ -91,11 +94,12 @@ msgstr ""
 "\n"
 "Restaurer vos sauvegardes par date."
 
-#
 msgid ""
 "\n"
 "Scan for local extensions and install them."
 msgstr ""
+"\n"
+"Scanner les extensions locales et les installer."
 
 #
 msgid ""
@@ -123,100 +127,78 @@ msgstr ""
 "\n"
 "Visualiser, installer et retirer paquets disponibles ou installés."
 
-#
 msgid " "
-msgstr ""
+msgstr " "
 
-#
 msgid " Results"
-msgstr ""
+msgstr " Résultats"
 
-#
 msgid " extensions."
-msgstr ""
+msgstr " extensions."
 
 msgid " ms"
-msgstr ""
+msgstr " ms"
 
-#
 msgid " packages selected."
-msgstr ""
+msgstr " paquets sélectionnés."
 
-#
 msgid " updates available."
-msgstr ""
+msgstr " MAJ disponibles."
 
-#
 msgid " wireless networks found!"
-msgstr ""
+msgstr " réseaux sans fil trouvés!"
 
-#
 msgid "#000000"
-msgstr ""
+msgstr "#000000"
 
-#
 msgid "#0064c7"
-msgstr ""
+msgstr "#0064c7"
 
-#
 msgid "#25062748"
-msgstr ""
+msgstr "#25062748"
 
-#
 msgid "#389416"
-msgstr ""
+msgstr "#389416"
 
-#
 msgid "#80000000"
-msgstr ""
+msgstr "#80000000"
 
-#
 msgid "#80ffffff"
-msgstr ""
+msgstr "#80ffffff"
 
-#
 msgid "#bab329"
-msgstr ""
+msgstr "#bab329"
 
-#
 msgid "#f23d21"
-msgstr ""
+msgstr "#f23d21"
 
-#
 msgid "#ffffff"
-msgstr ""
+msgstr "#ffffff"
 
-#
 msgid "#ffffffff"
-msgstr ""
+msgstr "#ffffffff"
 
-#
 msgid "%H:%M"
-msgstr ""
+msgstr "%H:%M"
 
-#
 #, python-format
 msgid "%d jobs are running in the background!"
 msgstr "les travaux %d fonctionnent en arrière-plan!"
 
-#
 #, python-format
 msgid "%d min"
-msgstr ""
+msgstr "%d min"
 
-#
 #, python-format
 msgid "%d services found!"
 msgstr "%d services trouvés!"
 
-#
 msgid "%d.%B %Y"
-msgstr ""
+msgstr "%d.%B %Y"
 
-#
 #, python-format
 msgid "%i ms"
-msgstr ""
+msgstr "%i ms"
 
 #
 #, python-format
@@ -227,14 +209,12 @@ msgstr ""
 "%s\n"
 "(%s, %d Mo libres)"
 
-#
 #, python-format
 msgid "%s (%s)\n"
-msgstr ""
+msgstr "%s (%s)\n"
 
-#
 msgid "(ZAP)"
-msgstr ""
+msgstr "(ZAP)"
 
 #
 msgid "(empty)"
@@ -248,157 +228,125 @@ msgstr "(montrer menu audio DVD optionnel)"
 msgid "* Only available if more than one interface is active."
 msgstr "* Seulement disponible si plus d'une interface active."
 
-#
 msgid "0"
-msgstr ""
+msgstr "0"
 
-#
 msgid "1"
-msgstr ""
+msgstr "1"
 
-#
 msgid "1 wireless network found!"
-msgstr ""
+msgstr "1 réseau sans fil trouvé!"
 
-#
 msgid "1.0"
-msgstr ""
+msgstr "1.0"
 
-#
 msgid "1.1"
-msgstr ""
+msgstr "1.1"
 
-#
 msgid "1.2"
-msgstr ""
+msgstr "1.2"
 
 #
 msgid "12V output"
 msgstr "Sortie 12V"
 
-#
 msgid "13 V"
-msgstr ""
+msgstr "13 V"
 
-#
 msgid "16:10"
-msgstr ""
+msgstr "16:10"
 
-#
 msgid "16:10 Letterbox"
-msgstr ""
+msgstr "16:10 Letterbox"
 
-#
 msgid "16:10 PanScan"
-msgstr ""
+msgstr "16:10 PanScan"
 
-#
 msgid "16:9"
-msgstr ""
+msgstr "16:9"
 
-#
 msgid "16:9 Letterbox"
-msgstr ""
+msgstr "16:9 Letterbox"
 
 #
 msgid "16:9 always"
 msgstr "16:9 toujours"
 
-#
 msgid "18 V"
-msgstr ""
+msgstr "18 V"
 
-#
 msgid "2"
-msgstr ""
+msgstr "2"
 
-#
 msgid "3"
-msgstr ""
+msgstr "3"
 
-#
 msgid "30 minutes"
-msgstr ""
+msgstr "30 minutes"
 
-#
 msgid "4"
-msgstr ""
+msgstr "4"
 
-#
 msgid "4:3"
-msgstr ""
+msgstr "4:3"
 
-#
 msgid "4:3 Letterbox"
-msgstr ""
+msgstr "4:3 Letterbox"
 
-#
 msgid "4:3 PanScan"
-msgstr ""
+msgstr "4:3 PanScan"
 
-#
 msgid "5"
-msgstr ""
+msgstr "5"
 
-#
 msgid "5 minutes"
-msgstr ""
+msgstr "5 minutes"
 
-#
 msgid "6"
-msgstr ""
+msgstr "6"
 
-#
 msgid "60 minutes"
-msgstr ""
+msgstr "60 minutes"
 
-#
 msgid "7"
-msgstr ""
+msgstr "7"
 
-#
 msgid "8"
-msgstr ""
+msgstr "8"
 
-#
 msgid "9"
-msgstr ""
+msgstr "9"
 
-#
 msgid "<Current movielist location>"
-msgstr ""
+msgstr "<Emplacement courante liste film>"
 
-#
 msgid "<Default movie location>"
-msgstr ""
+msgstr "<Emplacement défaut film>"
 
-#
 msgid "<Last timer location>"
-msgstr ""
+msgstr "<Emplacement dernière programmation>"
 
 #
 msgid "<unknown>"
 msgstr "<inconnu>"
 
-#
 msgid "??"
-msgstr "Mise à jour terminée. voulez-vous redémarrer votre Dreambox ?"
+msgstr "??"
 
-#
 msgid "A"
-msgstr ""
+msgstr "A"
 
 msgid "A BackToTheRoots-Skin .. or good old times."
-msgstr ""
+msgstr "Un thème retour aux sources .. ou bon vieux temps."
 
 msgid "A BackToTheRoots-Skin ... or good old times."
-msgstr ""
+msgstr "Un thème retour aux sources ... ou bon vieux temps."
 
 msgid "A basic ftp client"
-msgstr ""
+msgstr "Un client FTP basic"
 
 msgid "A client for www.dyndns.org"
-msgstr ""
+msgstr "Un client pour www.dyndns.org"
 
 #
 #, python-format
@@ -410,7 +358,7 @@ msgstr ""
 "l'installation. Voulez-vous garder votre version?"
 
 msgid "A demo plugin for TPM usage."
-msgstr ""
+msgstr "Un plugin démo pour usage TPM."
 
 #
 msgid ""
@@ -433,25 +381,27 @@ msgid "A graphical EPG for all services of an specific bouquet"
 msgstr "Un EPG graphique pour tous les services d'un bouquet spécifique"
 
 msgid "A graphical EPG interface"
-msgstr ""
+msgstr "Un interface graphique EPG"
 
 msgid "A graphical EPG interface."
-msgstr ""
+msgstr "Un interface graphique EPG."
 
 #
 msgid ""
 "A mount entry with this name already exists!\n"
 "Update existing entry and continue?\n"
 msgstr ""
+"Une entrée montage avec le même nom existe déjà!\n"
+"Mettre à jour l'entrée et continuer?\n"
 
 msgid "A nice looking HD skin from Kerni"
-msgstr ""
+msgstr "Un thème HD d'apparence sympatique de Kerni"
 
 msgid "A nice looking HD skin in Brushed Alu Design from Kerni."
-msgstr ""
+msgstr "Un thème HD d'apparence sympatique alu brossé de Kerni"
 
 msgid "A nice looking skin from Kerni"
-msgstr ""
+msgstr "Un thème d'apparence sympatique de Kerni"
 
 #
 #, python-format
@@ -493,7 +443,7 @@ msgstr "Un outil (%s) nécessaire n'a pas été trouvé"
 
 #
 msgid "A search for available updates is currently in progress."
-msgstr ""
+msgstr "La recherche pour des mises à jour est actuellement en cours"
 
 #
 msgid ""
@@ -501,9 +451,12 @@ msgid ""
 "\n"
 "Do you want to disable the second network interface?"
 msgstr ""
+"Une seconde interface configurée a été trouvée.\n"
+"\n"
+"Voulez-vous désactiver la seconde interface réseau?"
 
 msgid "A simple downloading application for other plugins"
-msgstr ""
+msgstr "Une simple application téléchargement pour d'autres plugins"
 
 #
 msgid ""
@@ -523,15 +476,14 @@ msgstr ""
 
 #
 msgid "A small overview of the available icon states and actions."
-msgstr ""
+msgstr "Une petite vue d'ensemble des icones disponibles des états et actions."
 
-#
 msgid ""
 "A timer failed to record!\n"
 "Disable TV and try again?\n"
 msgstr ""
-"Un programme n'a pas pu s'enregistrer !\n"
-"Désactiver la TV et réessayer ?\n"
+"Un programme n'a pas pu s'enregistrer!\n"
+"Désactiver la TV et réessayer?\n"
 
 #
 msgid "A/V Settings"
@@ -539,11 +491,11 @@ msgstr "Paramètres A/V"
 
 #
 msgid "AA"
-msgstr ""
+msgstr "AA"
 
 #
 msgid "AB"
-msgstr ""
+msgstr "AB"
 
 #
 msgid "AC3 default"
@@ -551,15 +503,15 @@ msgstr "AC3 par défaut"
 
 #
 msgid "AC3 downmix"
-msgstr ""
+msgstr "Downmix AC3"
 
 #
 msgid "Abort"
-msgstr ""
+msgstr "Abandon"
 
 #
 msgid "Abort this Wizard."
-msgstr ""
+msgstr "Abandonner cet assistant."
 
 #
 msgid "About"
@@ -570,10 +522,10 @@ msgid "About..."
 msgstr "À propos..."
 
 msgid "Access to the ARD-Mediathek"
-msgstr ""
+msgstr "Accéder à la Médiatèque-ARD"
 
 msgid "Access to the ARD-Mediathek online video database."
-msgstr ""
+msgstr "Accéder à la base de données en ligne Médiatèque-ARD."
 
 #
 msgid "Accesspoint:"
@@ -585,7 +537,7 @@ msgstr "Mode appui long sur bouton éteindre"
 
 #
 msgid "Action on short powerbutton press"
-msgstr ""
+msgstr "Mode appui court sur bouton éteindre"
 
 #
 msgid "Action:"
@@ -601,13 +553,15 @@ msgstr "Activer les paramètres réseau"
 
 #
 msgid "Active"
-msgstr ""
+msgstr "Actif"
 
 #
 msgid ""
 "Active/\n"
 "Inactive"
 msgstr ""
+"Activer/\n"
+"Inactiver"
 
 #
 msgid "Adapter settings"
@@ -623,7 +577,7 @@ msgstr "Ajouter marque page"
 
 #
 msgid "Add WLAN configuration?"
-msgstr ""
+msgstr "Ajouter configuration WLAN"
 
 #
 msgid "Add a mark"
@@ -631,7 +585,7 @@ msgstr "Ajouter un marqueur"
 
 #
 msgid "Add a new NFS or CIFS mount point to your Dreambox."
-msgstr ""
+msgstr "Ajouter nouveau point montage NFS ou CIFS à votre Dreambox."
 
 #
 msgid "Add a new title"
@@ -639,15 +593,15 @@ msgstr "Ajouter un nouveau titre"
 
 #
 msgid "Add network configuration?"
-msgstr ""
+msgstr "Ajouter configuration réseau?"
 
 #
 msgid "Add new AutoTimer"
-msgstr ""
+msgstr "Ajouter nouvelle programmation"
 
 #
 msgid "Add new network mount point"
-msgstr ""
+msgstr "Ajouter nouveau point montage réseau"
 
 #
 msgid "Add timer"
@@ -655,7 +609,7 @@ msgstr "Programmer"
 
 #
 msgid "Add timer as disabled on conflict"
-msgstr ""
+msgstr "Ajouter programmation comme désactivée sur conflit"
 
 #
 msgid "Add title"
@@ -671,25 +625,27 @@ msgstr "Ajouter au favoris"
 
 #
 msgid "Add zap timer instead of record timer?"
-msgstr ""
+msgstr "Ajouter tempo zap plutôt que tempo enregistrement?"
 
 #
 msgid "Added: "
-msgstr ""
+msgstr "Ajouté: "
 
 #
 msgid ""
 "Adds enigma2 settings and dreambox model informations like SN, rev... if "
 "enabled."
 msgstr ""
+"Ajouter paramètres enigma2 et informations modèle dreambox comme SN, rev... "
+"si actif."
 
 #
 msgid "Adds network configuration if enabled."
-msgstr ""
+msgstr "Ajouts comfiguration réseau si actif."
 
 #
 msgid "Adds wlan configuration if enabled."
-msgstr ""
+msgstr "Ajouts comfiguration wlan si actif."
 
 #
 msgid ""
@@ -705,10 +661,10 @@ msgstr ""
 "écrans de test. "
 
 msgid "Adult streaming plugin"
-msgstr ""
+msgstr "Plugin flux vidéo adult"
 
 msgid "Adult streaming plugin."
-msgstr ""
+msgstr "Plugin flux vidéo adult."
 
 #
 msgid "Advanced Options"
@@ -716,15 +672,15 @@ msgstr "Options avancées"
 
 #
 msgid "Advanced Software"
-msgstr ""
+msgstr "Logiciel avancé"
 
 #
 msgid "Advanced Software Plugin"
-msgstr ""
+msgstr "Plugin logiciel avancé"
 
 #
 msgid "Advanced Video Enhancement Setup"
-msgstr ""
+msgstr "Paramètres avancés vidéo améliorée"
 
 #
 msgid "Advanced Video Setup"
@@ -738,6 +694,8 @@ msgid ""
 "After a reboot or power outage, StartupToStandby will bring your Dreambox to "
 "standby-mode."
 msgstr ""
+"Après un redémarrage ou coupure électrique StartupToStandby mettra "
+"votreDreambox en mode veille."
 
 #
 msgid "After event"
@@ -753,11 +711,11 @@ msgstr ""
 "faire cela."
 
 msgid "Ai.HD skin-style control plugin"
-msgstr ""
+msgstr "Plugin contrôle thème style AI.HD"
 
 #
 msgid "Album"
-msgstr ""
+msgstr "Album"
 
 #
 msgid "All"
@@ -769,21 +727,23 @@ msgstr "Tous satellites"
 
 #
 msgid "All Time"
-msgstr ""
+msgstr "Tout le temps"
 
 #
 msgid "All non-repeating timers"
-msgstr ""
+msgstr "toutes les tempo non-répétitives"
 
 #
 msgid "Allow zapping via Webinterface"
-msgstr ""
+msgstr "Permettre le zapping depuis l'interface WEB"
 
 msgid "Allows the execution of TuxboxPlugins."
-msgstr ""
+msgstr "Permettre l'exécution des plugins Tuxbox."
 
 msgid "Allows user to download files from rapidshare in the background."
 msgstr ""
+"Permettre à l'utilisateur le téléchargement de fichiers depuis rapidshare en "
+"arrière plan."
 
 #
 msgid "Alpha"
@@ -798,15 +758,15 @@ msgid "Alternative services tuner priority"
 msgstr "Priorité tuner services alternatifs"
 
 msgid "Always ask"
-msgstr ""
+msgstr "Toujours demander"
 
 #
 msgid "Always ask before sending"
-msgstr ""
+msgstr "Toujours demander avant d'envoyer"
 
 #
 msgid "Ammount of recordings left"
-msgstr ""
+msgstr "Quantité d'enregistrements restants"
 
 #
 msgid "An empty filename is illegal."
@@ -814,7 +774,7 @@ msgstr "Un nom de fichier vide est illégal."
 
 #
 msgid "An error occured."
-msgstr ""
+msgstr "Une erreur est survenue."
 
 #
 msgid "An unknown error occured!"
@@ -822,7 +782,7 @@ msgstr "Une erreur est arrivée!"
 
 #
 msgid "Anonymize crashlog?"
-msgstr ""
+msgstr "Afficher crashlog anonyme?"
 
 #
 msgid "Arabic"
@@ -841,10 +801,12 @@ msgid ""
 "Are you sure you want to delete\n"
 "following backup:\n"
 msgstr ""
+"Etes-vous sûr de vouloir effacer\n"
+"la sauvegarde suivante:\n"
 
 #
 msgid "Are you sure you want to exit this wizard?"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir quitter cet assistant?"
 
 #
 msgid ""
@@ -859,6 +821,8 @@ msgid ""
 "Are you sure you want to restore\n"
 "following backup:\n"
 msgstr ""
+"Etes-vous sûr de vouloir restaurer\n"
+"la sauvegarde suivante?\n"
 
 #
 msgid ""
@@ -873,14 +837,16 @@ msgid ""
 "Are you sure you want to save this network mount?\n"
 "\n"
 msgstr ""
+"Etes-vous sûr de vouloir sauver ce montage réseau?\n"
+"\n"
 
 #
 msgid "Artist"
-msgstr ""
+msgstr "Artistes"
 
 #
 msgid "Ascending"
-msgstr ""
+msgstr "Ascendant"
 
 #
 msgid "Ask before shutdown:"
@@ -895,39 +861,40 @@ msgid "Aspect Ratio"
 msgstr "Format d'image"
 
 msgid "Assigning providers/services/caids to a CI module"
-msgstr ""
+msgstr "Assignation opérateurs/services/caids à un module CI"
 
 msgid "Atheros"
-msgstr ""
+msgstr "Atheros"
 
 #
 msgid "Audio"
 msgstr "Audio"
 
-#
 msgid "Audio Options..."
-msgstr "options audio..."
+msgstr "Options audio..."
 
 #
 msgid "Audio Sync"
-msgstr ""
+msgstr "Synchro audio"
 
 #
 msgid "Audio Sync Setup"
-msgstr ""
+msgstr "Paramètres synchro audio"
 
 msgid ""
 "AudoSync allows delaying the sound output (Bitstream/PCM) so that it is "
 "synchronous to the picture."
 msgstr ""
+"La synchro audio retarde la sortie son (Bitstream/PCM) de sorte que ce soit "
+"synchrone avec l'image."
 
 #
 msgid "Australia"
-msgstr ""
+msgstr "Australie"
 
 #
 msgid "Author: "
-msgstr ""
+msgstr "Auteur: "
 
 #
 msgid "Authoring mode"
@@ -943,7 +910,7 @@ msgstr "Partage automatique chapitres chaque ? Minutes (0=jamais)"
 
 #
 msgid "Auto flesh"
-msgstr ""
+msgstr "Correction couleurs auto (Auto flesh)"
 
 #
 msgid "Auto scart switching"
@@ -951,28 +918,30 @@ msgstr "Commutation auto péritel"
 
 #
 msgid "AutoTimer Editor"
-msgstr ""
+msgstr "Editeur AutoTimer"
 
 #
 msgid "AutoTimer Filters"
-msgstr ""
+msgstr "Filtres ProgAuto"
 
 #
 msgid "AutoTimer Services"
-msgstr ""
+msgstr "Services ProgAuto"
 
 #
 msgid "AutoTimer Settings"
-msgstr ""
+msgstr "Paramtètres ProgAuto"
 
 #
 msgid "AutoTimer overview"
-msgstr ""
+msgstr "vue d'ensemble ProgAuto"
 
 msgid ""
 "AutoTimer scans the EPG and creates Timers depending on user-defined search  "
 "criteria."
 msgstr ""
+"La ProgAuto balaye l'EPG et crée des programmations définies par les "
+"critères de recherche utilisateur."
 
 #
 msgid "Automatic"
@@ -983,38 +952,41 @@ msgid "Automatic Scan"
 msgstr "Analyse automatique"
 
 msgid "Automatic volume adjustment"
-msgstr ""
+msgstr "Ajustement automatique du volume"
 
 msgid "Automatic volume adjustment for ac3/dts services."
-msgstr ""
+msgstr "Ajustement automatique du volume pour les services AC3/DTS."
 
 msgid "Automatically change video resolution"
-msgstr ""
+msgstr "Changement automatique résolution vidéo"
 
 msgid ""
 "Automatically changes the output resolution depending on the video "
 "resolution you are watching."
 msgstr ""
+"Change automatiquement la résolution vidéo de sortie suivant la résolution "
+"vidéo que vous regardez."
 
 msgid "Automatically create timer events based on keywords"
 msgstr ""
+"Créer automatiquement les programmations d'événements basés sur des mots-clés"
 
 msgid "Automatically informs you on low internal memory"
-msgstr ""
+msgstr "Vous informe automatiquement sur faible mémoire interne"
 
 msgid "Automatically refresh EPG"
-msgstr ""
+msgstr "Régénérer automatiquement EPG"
 
 msgid "Automatically send crashlogs to Dream Multimedia"
-msgstr ""
+msgstr "Envoyer automatiquement les crashlogs à Dream Multimedia"
 
 #
 msgid "Autos & Vehicles"
-msgstr ""
+msgstr "Autos ¬ Véhicules"
 
 #
 msgid "Autowrite timer"
-msgstr ""
+msgstr "Enregistrement auto programmation"
 
 #
 msgid "Available format variables"
@@ -1022,29 +994,29 @@ msgstr "Format variables disponibles"
 
 #
 msgid "B"
-msgstr ""
+msgstr "B"
 
 #
 msgid "BA"
-msgstr ""
+msgstr "BA"
 
 msgid "BASIC-HD Skin by Ismail Demir"
-msgstr ""
+msgstr "Thème BASIC-HD par Ismail Demir"
 
 msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
-msgstr ""
+msgstr "Thème BASIC-HD pour images Deambox créé par Ismail Demir"
 
 #
 msgid "BB"
-msgstr ""
+msgstr "BB"
 
 #
 msgid "BER"
-msgstr ""
+msgstr "BER"
 
 #
 msgid "BER:"
-msgstr ""
+msgstr "BER:"
 
 #
 msgid "Back"
@@ -1060,19 +1032,18 @@ msgstr "Sauvegarde effectuée."
 
 #
 msgid "Backup failed."
-msgstr ""
+msgstr "Echec sauvegarde."
 
 #
 msgid "Backup is running..."
-msgstr ""
+msgstr "Sauvegarde en cours..."
 
 #
 msgid "Backup system settings"
 msgstr "Sauver paramètres système"
 
-#
 msgid "Band"
-msgstr "bande"
+msgstr "Bande"
 
 #
 msgid "Bandwidth"
@@ -1080,19 +1051,18 @@ msgstr "Bande passante"
 
 #
 msgid "Begin of \"after event\" timespan"
-msgstr ""
+msgstr "Démarrage par \"après événement\" période"
 
 #
 msgid "Begin of timespan"
-msgstr ""
+msgstr "Démarrage par période"
 
 #
 msgid "Begin time"
 msgstr "Heure début"
 
-#
 msgid "Behavior of 'pause' when paused"
-msgstr "Comportement de 'pause' si déjà en pause"
+msgstr "Comportement de 'pause' si déjà  en pause"
 
 #
 msgid "Behavior of 0 key in PiP-mode"
@@ -1112,21 +1082,21 @@ msgstr "Action lorsqu'un film atteint la fin"
 
 #
 msgid "Bitrate:"
-msgstr ""
+msgstr "Bitrate:"
 
 #
 msgid "Block noise reduction"
-msgstr ""
+msgstr "Bloc réduction bruit"
 
 #
 msgid "Blue boost"
-msgstr ""
+msgstr "Intensifier le bleu"
 
 msgid "Bonjour/Avahi control plugin"
-msgstr ""
+msgstr "Plugin contrôle Bonjour/Avahi"
 
 msgid "Bonjour/Avahi control plugin."
-msgstr ""
+msgstr "Plugin contrôle Bonjour/Avahi."
 
 #
 msgid "Bookmarks"
@@ -1134,25 +1104,25 @@ msgstr "Marque pages"
 
 #
 msgid "Bouquets"
-msgstr ""
+msgstr "Bouquets"
 
 #
 msgid "Brazil"
-msgstr ""
+msgstr "Brésil"
 
 #
 msgid "Brightness"
 msgstr "Luminosité"
 
 msgid "Browse for and connect to network shares"
-msgstr ""
+msgstr "Recherche pour et connection partages réseau"
 
 msgid "Browse for nfs/cifs shares and connect to them."
-msgstr ""
+msgstr "Recherche pour partages nfs/cifs et se connecter à eux."
 
 #
 msgid "Browse network neighbourhood"
-msgstr ""
+msgstr "Analyser le voisinage de réseau"
 
 #
 msgid "Burn DVD"
@@ -1162,13 +1132,11 @@ msgstr "Graver DVD"
 msgid "Burn existing image to DVD"
 msgstr "Graver image existante sur le DVD"
 
-#
-#, fuzzy
 msgid "Burn to DVD"
-msgstr "graver sur DVD..."
+msgstr "Graver sur DVD"
 
 msgid "Burn your recordings to DVD"
-msgstr ""
+msgstr "Graver vos enregistrements sur DVD"
 
 #
 msgid "Bus: "
@@ -1184,28 +1152,29 @@ msgstr ""
 
 #
 msgid "C"
-msgstr ""
+msgstr "C"
 
 #
 msgid "C-Band"
 msgstr "Bande C"
 
-#, fuzzy
 msgid "CDInfo"
-msgstr "Barre d'infos"
+msgstr "Infos CD"
 
 msgid ""
 "CDInfo enables gathering album and track details from CDDB and CD-Text when "
 "playing Audio CDs in Mediaplayer."
 msgstr ""
+"CDInfo permet recueillir des détails d'album et de piste depuis CDDB et CD-"
+"Texte en jouant les Cd audio dans Mediaplayer."
 
 #
 msgid "CI assignment"
-msgstr ""
+msgstr "Assignation CI"
 
 #
 msgid "CIFS share"
-msgstr ""
+msgstr "Partage CIFS"
 
 #
 msgid "CVBS"
@@ -1220,18 +1189,17 @@ msgid "Cache Thumbnails"
 msgstr "Cache vignettes"
 
 msgid "Callmonitor for NCID-based call notification"
-msgstr ""
+msgstr "Moniteur d'appel pour avis d'appel NCID-based"
 
 msgid "Callmonitor for the Fritz!Box routers"
-msgstr ""
+msgstr "Moniteur d'appel pour routeurs Fritz!Box"
 
-#, fuzzy
 msgid "Can't connect to server. Please check your network!"
-msgstr "Veuillez vérifier vos paramètres réseau!"
+msgstr "Ne peut se connecter au serveur. Veuillez vérifier votre réseau!"
 
 #
 msgid "Canada"
-msgstr ""
+msgstr "Canada"
 
 #
 msgid "Cancel"
@@ -1251,15 +1219,15 @@ msgstr "Catalan"
 
 #
 msgid "Center screen at the lower border"
-msgstr ""
+msgstr "Centrer image sur la bordure inférieure"
 
 #
 msgid "Center screen at the upper border"
-msgstr ""
+msgstr "Centrer image sur la bordure supérieure"
 
 #
 msgid "Change active delay"
-msgstr ""
+msgstr "Changer le retard actif"
 
 #
 msgid "Change bouquets in quickzap"
@@ -1267,35 +1235,35 @@ msgstr "Changer les bouquets en zapping rapide"
 
 #
 msgid "Change default recording offset?"
-msgstr ""
+msgstr "Changer décalage d'enregistrement par défaut?"
 
 #
 msgid "Change hostname"
-msgstr ""
+msgstr "Changer nom d'hôte"
 
 #
 msgid "Change pin code"
 msgstr "Changer code pin"
 
 msgid "Change service PIN"
-msgstr ""
+msgstr "Changer PIN service"
 
 msgid "Change service PINs"
-msgstr ""
+msgstr "Changer PINs service"
 
 msgid "Change setup PIN"
-msgstr ""
+msgstr "Changer PIN paramètres"
 
 #
 msgid "Change step size"
-msgstr ""
+msgstr "changer taille pas"
 
 #
 msgid "Change the hostname of your Dreambox."
-msgstr ""
+msgstr "Modifier le nom d'hôte de votre Dreambox"
 
 msgid "Changelog"
-msgstr ""
+msgstr "Changelog"
 
 #
 msgid "Channel"
@@ -1307,11 +1275,11 @@ msgstr "Sélection de la chaîne"
 
 #
 msgid "Channel audio:"
-msgstr ""
+msgstr "Canal audio:"
 
 #
 msgid "Channel not in services list"
-msgstr ""
+msgstr "Chaîne absente de la liste services"
 
 #
 msgid "Channel:"
@@ -1323,11 +1291,11 @@ msgstr "Liste des chaînes"
 
 #
 msgid "Channels"
-msgstr ""
+msgstr "Chaîne"
 
 #
 msgid "Chap."
-msgstr ""
+msgstr "Chap."
 
 #
 msgid "Chapter"
@@ -1351,7 +1319,7 @@ msgstr "Choisir tuner"
 
 #
 msgid "Choose a wireless network"
-msgstr ""
+msgstr "Choisir un réseau sans fil"
 
 #
 msgid "Choose backup files"
@@ -1366,7 +1334,7 @@ msgid "Choose bouquet"
 msgstr "Choisir le bouquet"
 
 msgid "Choose image to download"
-msgstr ""
+msgstr "Choisir image à télécharger"
 
 #
 msgid "Choose target folder"
@@ -1382,15 +1350,15 @@ msgstr "Choisir le thème"
 
 #
 msgid "Circular left"
-msgstr ""
+msgstr "Circulaire gauche"
 
 #
 msgid "Circular right"
-msgstr ""
+msgstr "Circulaire droit"
 
 #
 msgid "Classic"
-msgstr ""
+msgstr "Classique"
 
 #
 msgid "Cleanup"
@@ -1398,21 +1366,21 @@ msgstr "Nettoyage"
 
 #
 msgid "Cleanup Wizard"
-msgstr ""
+msgstr "Assistant nettoyage"
 
 #
 msgid "Cleanup Wizard settings"
-msgstr ""
+msgstr "Paramètres assistant nettoyage"
 
 msgid "Cleanup timerlist automatically"
-msgstr ""
+msgstr "Nettoyer automatiquement la liste programmations"
 
 msgid "Cleanup timerlist automatically."
-msgstr ""
+msgstr "Nettoyer automatiquement la liste programmations."
 
 #
 msgid "CleanupWizard"
-msgstr ""
+msgstr "AssistantNettoyage"
 
 #
 msgid "Clear before scan"
@@ -1420,7 +1388,7 @@ msgstr "Effacer avant d'analyser"
 
 #
 msgid "Clear history on Exit:"
-msgstr ""
+msgstr "Nettoyer historique en sortant:"
 
 #
 msgid "Clear log"
@@ -1432,15 +1400,15 @@ msgstr "Fermer"
 
 #
 msgid "Close and forget changes"
-msgstr ""
+msgstr "Fermer sans sauver les changements"
 
 #
 msgid "Close and save changes"
-msgstr ""
+msgstr "Fermer et sauver les changements"
 
 #
 msgid "Close title selection"
-msgstr ""
+msgstr "Fermer sélection titre"
 
 #
 msgid "Code rate high"
@@ -1472,7 +1440,7 @@ msgstr "Format de couleur"
 
 #
 msgid "Comedy"
-msgstr ""
+msgstr "Comédie"
 
 #
 msgid "Command execution..."
@@ -1492,15 +1460,15 @@ msgstr "Interface commune"
 
 #
 msgid "Common Interface Assignment"
-msgstr ""
+msgstr "Assignation interface Commune"
 
 #
 msgid "CommonInterface"
-msgstr ""
+msgstr "InterfaceCommune"
 
 #
 msgid "Communication"
-msgstr ""
+msgstr "Communication"
 
 #
 msgid "Compact Flash"
@@ -1515,7 +1483,7 @@ msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complexe (autorise mélange pistes audio et aspects)"
 
 msgid "Composition of the recording filenames"
-msgstr ""
+msgstr "Composition des noms fichiers enregistrements"
 
 #
 msgid "Configuration Mode"
@@ -1527,7 +1495,7 @@ msgstr "Configuration pour la Webinterface"
 
 #
 msgid "Configure AutoTimer behavior"
-msgstr ""
+msgstr "configurer comportement ProgAuto"
 
 #
 msgid "Configure interface"
@@ -1538,7 +1506,7 @@ msgid "Configure nameservers"
 msgstr "Configurer noms serveurs"
 
 msgid "Configure your WLAN network interface"
-msgstr ""
+msgstr "Configurer votre interface réseau WLAN"
 
 #
 msgid "Configure your internal LAN"
@@ -1568,24 +1536,23 @@ msgstr "Connecter"
 msgid "Connect to a Wireless Network"
 msgstr "Connecter à un réseau sans fil"
 
-#
 msgid "Connected to"
 msgstr "Connecté à"
 
 #
 msgid "Connected!"
-msgstr ""
+msgstr "Connecté!"
 
 #
 msgid "Constellation"
-msgstr ""
+msgstr "Constellation"
 
 #
 msgid "Content does not fit on DVD!"
 msgstr "Le contenu ne tient pas sur le DVD!"
 
 msgid "Continue"
-msgstr ""
+msgstr "Continuer"
 
 #
 msgid "Continue in background"
@@ -1600,102 +1567,104 @@ msgid "Contrast"
 msgstr "Contraste"
 
 msgid "Control your Dreambox with your Web browser."
-msgstr ""
+msgstr "Contrôler votre Dreambox avec votre navigateur Web."
 
 msgid "Control your Dreambox with your browser"
-msgstr ""
+msgstr "Contrôler votre Dreambox avec votre navigateur"
 
 msgid "Control your dreambox with only the MUTE button"
-msgstr ""
+msgstr "Contrôler votre Dreambox seulement avec le bouton MUTE"
 
 msgid "Control your dreambox with only the MUTE button."
-msgstr ""
+msgstr "Contrôler votre Dreambox seulement avec le bouton MUTE."
 
 msgid "Control your internal system fan."
-msgstr ""
+msgstr "Contrôler votre ventilateur interne."
 
 msgid "Control your kids's tv usage"
-msgstr ""
+msgstr "Contrôler l'usage de la TV par vos enfants"
 
 msgid "Control your system fan"
-msgstr ""
+msgstr "Contrôler votre ventilateur système"
 
 msgid "Copy, rename, delete, move local files on your Dreambox."
 msgstr ""
+"Copier, renommer, effacer, déplacer les fichiers locaux de votre Dreambox."
 
 #
 msgid "Could not connect to Dreambox .NFI Image Feed Server:"
 msgstr "Ne peux se connecter au serveur d'image Dreambox .NFI Feed:"
 
-#
 msgid "Could not load Medium! No disc inserted?"
-msgstr "Ne peux charger le support! Aucun DVD inserré?"
+msgstr "Ne peux charger le support! Aucun DVD inséré?"
 
 #
 msgid "Could not open Picture in Picture"
-msgstr ""
+msgstr "N'a pu ouvrir l'image dans l'image"
 
 #
 #, python-format
 msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Enregistrement impossible! Conflit programmation %s!"
 
 #
 msgid "Crashlog settings"
-msgstr ""
+msgstr "Configuration crashlog"
 
 #
 msgid "CrashlogAutoSubmit"
-msgstr ""
+msgstr "Soumission AutoCrashlog"
 
 #
 msgid "CrashlogAutoSubmit settings"
-msgstr ""
+msgstr "Configuration soumission AutoCrashlog"
 
 #
 msgid "CrashlogAutoSubmit settings..."
-msgstr ""
+msgstr "Configuration soumission AutoCrashlog..."
 
 #
 msgid ""
 "Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
+"Trouvé crashlogs!\n"
+"Envoyer à Dream Multimedia?"
 
 #
 msgid "Create DVD-ISO"
 msgstr "Créer DVD-ISO"
 
 msgid "Create a backup of your Video DVD on your DreamBox hard drive."
-msgstr ""
+msgstr "Créer une sauvegarde du DVD vidéo sur le disque dur de la Dreambox."
 
 msgid "Create a backup of your Video-DVD"
-msgstr ""
+msgstr "Crérer une sauvegarde de votre DVD-Vidéo"
 
 #
 msgid "Create a new AutoTimer."
-msgstr ""
+msgstr "Créer un nouveau AutoTimer."
 
 #
 msgid "Create a new timer using the classic editor"
-msgstr ""
+msgstr "Créer une nouvelle programmation en utilisant l'éditeur classique"
 
 #
 msgid "Create a new timer using the wizard"
-msgstr ""
+msgstr "Créer une nouvelle programmation en utilisant l'assistant"
 
 #
 msgid "Create movie folder failed"
 msgstr "Echec création dossier films"
 
 msgid "Create preview pictures of your Movies"
-msgstr ""
+msgstr "Créer des images prévue de vos films"
 
 msgid "Create remote timers"
-msgstr ""
+msgstr "Créer programmations distantes"
 
 msgid "Create timers on remote Dreamboxes."
-msgstr ""
+msgstr "Créer programmations sur Dreamboxes distantes."
 
 #
 #, python-format
@@ -1715,7 +1684,7 @@ msgid "Current Transponder"
 msgstr "Transpondeur actuel"
 
 msgid "Current device: "
-msgstr ""
+msgstr "Périphérique actuel: "
 
 #
 msgid "Current settings:"
@@ -1723,27 +1692,27 @@ msgstr "Paramètres actuels:"
 
 #
 msgid "Current value: "
-msgstr ""
+msgstr "Valeur actuelle: "
 
 #
 msgid "Current version:"
 msgstr "Version actuelle:"
 
 msgid "Currently installed image"
-msgstr ""
+msgstr "Image installé actuellement"
 
 #
 #, python-format
 msgid "Custom (%s)"
-msgstr ""
+msgstr "Personnel (%s)"
 
 #
 msgid "Custom location"
-msgstr ""
+msgstr "Emplacement personnalisé"
 
 #
 msgid "Custom offset"
-msgstr ""
+msgstr "Décalage personnalisé"
 
 #
 msgid "Custom skip time for '1'/'3'-keys"
@@ -1762,23 +1731,23 @@ msgid "Customize"
 msgstr "Personnaliser"
 
 msgid "Customize Vali-XD skins"
-msgstr ""
+msgstr "Personnaliser thèmes Vali-XD"
 
 msgid "Customize Vali-XD skins by yourself."
-msgstr ""
+msgstr "Personnaliser thèmes Vali-XD par vous-même"
 
 #
 msgid "Cut"
 msgstr "Couper"
 
 msgid "Cut your movies"
-msgstr ""
+msgstr "Couper vos films"
 
 msgid "Cut your movies."
-msgstr ""
+msgstr "Couper vos films."
 
 msgid "CutListEditor allows you to edit your movies"
-msgstr ""
+msgstr "L'éditeur CutList vous permet d'éditer vos films"
 
 msgid ""
 "CutListEditor allows you to edit your movies.\n"
@@ -1786,8 +1755,11 @@ msgid ""
 "cut'.\n"
 "Then seek to the end, press OK, select 'end cut'. That's it."
 msgstr ""
+"L'éditeur monter/couper vous permet d'éditer vos films.\n"
+"Recherche au début de ce que vous voulez enlever. Presser OK, choisir "
+"'lancer coupe'.\n"
+"puis chercher la fin, presser OK, choisir 'fin coupe'. C'est tout."
 
-#
 msgid "Cutlist editor..."
 msgstr "éditeur monter/couper..."
 
@@ -1797,19 +1769,19 @@ msgstr "Tchèque"
 
 #
 msgid "Czech Republic"
-msgstr ""
+msgstr "République Tchèque"
 
 #
 msgid "D"
-msgstr ""
+msgstr "D"
 
 #
 msgid "DHCP"
-msgstr ""
+msgstr "DHCP"
 
 #
 msgid "DUAL LAYER DVD"
-msgstr ""
+msgstr "DVD DOUBLE COUCHE"
 
 #
 msgid "DVB-S"
@@ -1821,7 +1793,7 @@ msgstr "DVB-S2"
 
 #
 msgid "DVD File Browser"
-msgstr ""
+msgstr "DVD Explorateur fichiers"
 
 #
 msgid "DVD Player"
@@ -1829,20 +1801,24 @@ msgstr "Lecteur DVD"
 
 #
 msgid "DVD Titlelist"
-msgstr ""
+msgstr "Liste titres DVD"
 
 #
 msgid "DVD media toolbox"
 msgstr "Boite outils média DVD"
 
 msgid "DVDPlayer plays your DVDs on your Dreambox"
-msgstr ""
+msgstr "Le DVDPlayer joue vos DVDs sur votre Dreambox"
 
 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 ""
+"Le DVDPlayer joue vos DVDs sur votre Dreambox.\n"
+"Avec le DVDPlayer vous pouvez jouer votre DVDs sur votre Dreambox d'un DVD "
+"ou même d'un fichier iso ou dossier de video_ts sur votre disque dur ou "
+"réseau."
 
 #
 msgid "Danish"
@@ -1854,24 +1830,24 @@ msgstr "Date"
 
 #
 msgid "Decide if you want to enable or disable the Cleanup Wizard."
-msgstr ""
+msgstr "Décider si vous souhaitez activer ou désactiver l'assistant nettoyage."
 
 #
 msgid "Decide what should be done when crashlogs are found."
-msgstr ""
+msgstr "Décider ce qui sera fait quand des crashlog sont trouvés."
 
 #
 msgid "Decide what should happen to the crashlogs after submission."
-msgstr ""
+msgstr "Décider ce qui arrivera aux crashlogs après la soumission."
 
 #
 msgid "Decrease delay"
-msgstr ""
+msgstr "Diminuer le retard"
 
 #
 #, python-format
 msgid "Decrease delay by %i ms (can be set)"
-msgstr ""
+msgstr "Diminuer le retard par %i ms (peut-être réglé)"
 
 #
 msgid "Deep Standby"
@@ -1879,32 +1855,29 @@ msgstr "Veille profonde"
 
 #
 msgid "Default"
-msgstr ""
+msgstr "Standard"
 
 #
 msgid "Default Settings"
-msgstr ""
+msgstr "Paramètres standards"
 
 #
 msgid "Default movie location"
-msgstr ""
+msgstr "Emplacement standard films"
 
 #
 msgid "Default services lists"
 msgstr "Liste services standard"
 
-#
-#, fuzzy
 msgid "Defaults"
-msgstr "défaut"
+msgstr "Standards"
 
 msgid "Define a startup service"
-msgstr ""
+msgstr "Définir un services démarrage"
 
 msgid "Define a startup service for your Dreambox."
-msgstr ""
+msgstr "Définir un services démarrage pour votre Dreambox"
 
-#
 msgid "Delay"
 msgstr "Délai"
 
@@ -1914,9 +1887,8 @@ msgstr "Effacer"
 
 #
 msgid "Delete crashlogs"
-msgstr ""
+msgstr "Effacer crashlogs"
 
-#
 msgid "Delete entry"
 msgstr "Retire entrée"
 
@@ -1926,7 +1898,7 @@ msgstr "L'effacement a échoué!"
 
 #
 msgid "Delete mount"
-msgstr ""
+msgstr "Effacer montage"
 
 #
 #, python-format
@@ -1939,7 +1911,7 @@ msgstr ""
 
 #
 msgid "Descending"
-msgstr ""
+msgstr "Descendant"
 
 #
 msgid "Description"
@@ -1947,10 +1919,10 @@ msgstr "Description"
 
 #
 msgid "Deselect"
-msgstr ""
+msgstr "Désélectionner"
 
 msgid "Details for plugin: "
-msgstr ""
+msgstr "Détails pour plugin: "
 
 #
 msgid "Detected HDD:"
@@ -1962,15 +1934,15 @@ msgstr "Tuners détectés:"
 
 #
 msgid "DiSEqC"
-msgstr ""
+msgstr "DiSEqC"
 
 #
 msgid "DiSEqC A/B"
-msgstr ""
+msgstr "DiSEqC A/B"
 
 #
 msgid "DiSEqC A/B/C/D"
-msgstr ""
+msgstr "DiSEqC A/B/C/D"
 
 #
 msgid "DiSEqC mode"
@@ -1982,22 +1954,22 @@ msgstr "DiSEqC-Répétitions"
 
 #
 msgid "DiSEqC-Tester settings"
-msgstr ""
+msgstr "Paramètres Testeur-DiSEqC"
 
 #
 msgid "Dialing:"
-msgstr ""
+msgstr "Appel:"
 
 #
 msgid "Digital contour removal"
-msgstr ""
+msgstr "Retrait contour digital"
 
 #
 msgid "Dir:"
-msgstr ""
+msgstr "Répertoire:"
 
 msgid "Direct playback of Youtube videos"
-msgstr ""
+msgstr "Playback direct de vidéos Youtube"
 
 #
 msgid "Direct playback of linked titles without menu"
@@ -2010,7 +1982,7 @@ msgstr "Répertoire %s non existant."
 
 #
 msgid "Directory browser"
-msgstr ""
+msgstr "Navigateur répertoire"
 
 #
 msgid "Disable"
@@ -2022,7 +1994,7 @@ msgstr "Désactiver l'incrustation d'image"
 
 #
 msgid "Disable crashlog reporting"
-msgstr ""
+msgstr "Désactiver rapport automatique crashlog"
 
 #
 msgid "Disable timer"
@@ -2034,15 +2006,15 @@ msgstr "Désactivé"
 
 #
 msgid "Discard changes and close plugin"
-msgstr ""
+msgstr "Ne rien changer et fermer le plugin"
 
 #
 msgid "Discard changes and close screen"
-msgstr ""
+msgstr "Ne rien changer et fermer la fenêtre"
 
 #
 msgid "Disconnect"
-msgstr ""
+msgstr "Déconnecter"
 
 #
 msgid "Dish"
@@ -2058,25 +2030,24 @@ msgstr "Afficher contenu 4:3 comme"
 
 #
 msgid "Display >16:9 content as"
-msgstr ""
+msgstr "Afficher contenu >16:9 comme"
 
-#
 msgid "Display Setup"
-msgstr "Paramètres afficheur..."
+msgstr "Paramètres afficheur"
 
 #
 msgid "Display and Userinterface"
-msgstr ""
+msgstr "Affichage et interface utilisateur"
 
 #
 msgid "Display search results by:"
-msgstr ""
+msgstr "Afficher résultats recherche par:"
 
 msgid "Display your photos on the TV"
-msgstr ""
+msgstr "Afficher vos photos sur la TV"
 
 msgid "Displays movie information from the InternetMovieDatabase"
-msgstr ""
+msgstr "Afficher les informations film depuis la base de donnée InternetMovie"
 
 #
 #, python-format
@@ -2095,10 +2066,9 @@ msgstr ""
 "Voulez-vous vraiment vérifier les fichiers système?\n"
 "Cela pourait prendre beaucoup de temps!"
 
-#
 #, python-format
 msgid "Do you really want to delete %s?"
-msgstr "Voulez-vous vraiment effacer %s ?"
+msgstr "Voulez-vous vraiment effacer %s?"
 
 #
 #, python-format
@@ -2113,13 +2083,12 @@ msgstr ""
 msgid "Do you really want to exit?"
 msgstr "Voulez-vous vraiment quitter?"
 
-#
 msgid ""
 "Do you really want to initialize the harddisk?\n"
 "All data on the disk will be lost!"
 msgstr ""
-"Voulez-vous vraiment formater le disque dur ?\n"
-"Toutes les données du disque vont être perdues !"
+"Voulez-vous vraiment formater le disque dur?Toutes les données du disque "
+"vont être perdues!"
 
 #
 #, python-format
@@ -2145,7 +2114,7 @@ msgstr "Voulez-vous faire une autre analyse manuelle des services?"
 
 #, python-format
 msgid "Do you want to download the image to %s ?"
-msgstr ""
+msgstr "Voulez-vous télécharger l'image vers %s?"
 
 #
 msgid "Do you want to enable the parental control feature on your dreambox?"
@@ -2153,7 +2122,7 @@ msgstr "Voulez-vous activer la fonction contrôle parental sur votre dreambox?"
 
 #
 msgid "Do you want to enter a username and password for this host?\n"
-msgstr ""
+msgstr "Voulez-vous saisir un nom utilisateur et mot de passe pour cet hôte?\n"
 
 #
 msgid "Do you want to install default sat lists?"
@@ -2161,7 +2130,7 @@ msgstr "Voulez-vous installer les listes standards sat?"
 
 #
 msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Voulez-vous installer le paquet:\n"
 
 #
 msgid "Do you want to play DVD in drive?"
@@ -2173,15 +2142,14 @@ msgstr "Voulez-vous une prévue du DVD avant de le graver?"
 
 #
 msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Voulez-vous redémarrer votre DreamBox?"
 
 #
 msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Voulez-vous retirer le paquet:\n"
 
-#
 msgid "Do you want to restore your settings?"
-msgstr "Voulez-vous restaurer vos paramètres ?"
+msgstr "Voulez-vous restaurer vos paramètres?"
 
 #
 msgid "Do you want to resume this playback?"
@@ -2189,37 +2157,37 @@ msgstr "Voulez-vous reprendre cette lecture?"
 
 #
 msgid "Do you want to see more entries?"
-msgstr ""
+msgstr "Voulez-vous voir plus d'entrées?"
 
 #
 msgid ""
 "Do you want to submit your email address and name so that we can contact you "
 "if needed?"
 msgstr ""
+"voulez-vous soumettre votre adresse email et votre nom afin que l'on vous "
+"contact si besoin?"
 
 #
 msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Voulez-vous mettre à jour votre Dreambox?"
 
-#
 msgid ""
 "Do you want to update your Dreambox?\n"
 "After pressing OK, please wait!"
 msgstr ""
-"Voulez-vous mettre à jour votre Dreambox ?\n"
-"Après avoir appuyé sur OK, veuillez patienter !"
+"Voulez-vous mettre à jour votre Dreambox?Après avoir appuyé sur OK, veuillez "
+"patienter!"
 
 #
 msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Voulez-vous mettre à jour le paquet:\n"
 
-#
 msgid "Do you want to view a tutorial?"
-msgstr "Voulez-vous voir un tutoriel ?"
+msgstr "Voulez-vous voir un tutoriel?"
 
 #
 msgid "Don't ask, just send"
-msgstr ""
+msgstr "Envoyer sans confirmation"
 
 #
 msgid "Don't stop current event but disable coming events"
@@ -2233,7 +2201,7 @@ msgstr "Terminé - Installé ou mis à jour de %d paquets"
 #
 #, python-format
 msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Terminé - Installé, mis à jour ou retiré %d paquets avec %d erreurs"
 
 #
 msgid "Download"
@@ -2241,26 +2209,25 @@ msgstr "Télécharge"
 
 #, python-format
 msgid "Download %s from Server"
-msgstr ""
+msgstr "Télécharge %s depuis le Serveur"
 
 #
 msgid "Download .NFI-Files for USB-Flasher"
 msgstr "Téléchargement fichiers .NFI pour USB-flasheur"
 
-#
 msgid "Download Plugins"
-msgstr "Obtenir extensions"
+msgstr "Téléchargement Plugins"
 
 #
 msgid "Download Video"
-msgstr ""
+msgstr "Téléchargement vidéo"
 
 msgid "Download files from Rapidshare"
-msgstr ""
+msgstr "Téléchargement fichiers depuis rapidshare"
 
 #
 msgid "Download location"
-msgstr ""
+msgstr "Emplacement téléchargement:"
 
 #
 msgid "Downloadable new plugins"
@@ -2280,7 +2247,7 @@ msgstr "Téléchargement des informations sur les extensions. Patientez SVP..."
 
 #
 msgid "Downloading screenshots. Please wait..."
-msgstr ""
+msgstr "Téléchargement captures écrans. Veuillez patienter..."
 
 #
 msgid "Dreambox format data DVD (HDTV compatible)"
@@ -2288,11 +2255,11 @@ msgstr "Données DVD en format Dreambox (Compatible HDTV)"
 
 #
 msgid "Dreambox software because updates are available."
-msgstr ""
+msgstr "logiciel de Dreambox car des mises à jour sont disponibles."
 
 #
 msgid "Duration: "
-msgstr ""
+msgstr "Durée: "
 
 #
 msgid "Dutch"
@@ -2300,7 +2267,7 @@ msgstr "Hollandais"
 
 #
 msgid "Dynamic contrast"
-msgstr ""
+msgstr "Contraste dynamique"
 
 #
 msgid "E"
@@ -2312,7 +2279,7 @@ msgstr "Sélection EPG"
 
 #
 msgid "EPG encoding"
-msgstr ""
+msgstr "encodage EPG"
 
 msgid ""
 "EPGRefresh will automatically switch to user-defined channels when the box "
@@ -2320,11 +2287,14 @@ msgid ""
 "(in standby mode without any running recordings) to perform updates of the "
 "epg information on these channels."
 msgstr ""
+"EPGRefresh commutera automatiquement sur les canaux définis par "
+"l'utilisateur quand la boîte est disponible\n"
+"(en mode veille sans enregistrements standards) pour exécuter des mises à "
+"jour d'information d'epg sur ces canaux."
 
-#
 #, python-format
 msgid "ERROR - failed to scan (%s)!"
-msgstr "ERREUR - échec lors de l'analyse (%s) !"
+msgstr "ERREUR - échec lors de l'analyse (%s)!"
 
 #
 msgid "East"
@@ -2336,23 +2306,22 @@ msgstr "Editer"
 
 #
 msgid "Edit AutoTimer"
-msgstr ""
+msgstr "Editer ProgAuto"
 
 #
 msgid "Edit AutoTimer filters"
-msgstr ""
+msgstr "Editer filtres ProgAuto"
 
 #
 msgid "Edit AutoTimer services"
-msgstr ""
+msgstr "Editer services ProgAuto"
 
 #
 msgid "Edit DNS"
 msgstr "Editer DNS"
 
-#
 msgid "Edit Timers and scan for new Events"
-msgstr ""
+msgstr "Editer programmations et analyser nouvelles émissions"
 
 #
 msgid "Edit Title"
@@ -2360,7 +2329,7 @@ msgstr "Editer titre"
 
 #
 msgid "Edit bouquets list"
-msgstr ""
+msgstr "Editer liste bouquets"
 
 #
 msgid "Edit chapters of current title"
@@ -2368,11 +2337,11 @@ msgstr "Editer chapitres titre actuel"
 
 #
 msgid "Edit new timer defaults"
-msgstr ""
+msgstr "Editer nouvelle programmation standard"
 
 #
 msgid "Edit selected AutoTimer"
-msgstr ""
+msgstr "Editer ProgAuto sélectionnée"
 
 #
 msgid "Edit services list"
@@ -2383,10 +2352,10 @@ msgid "Edit settings"
 msgstr "Editer paramètres"
 
 msgid "Edit tags of recorded movies"
-msgstr ""
+msgstr "Editer pointeurs des films enregistrés"
 
 msgid "Edit tags of recorded movies."
-msgstr ""
+msgstr "Editer pointeurs des films enregistrés."
 
 #
 msgid "Edit the Nameserver configuration of your Dreambox.\n"
@@ -2402,26 +2371,26 @@ msgstr "Editer titre"
 
 #
 msgid "Edit upgrade source url."
-msgstr ""
+msgstr "Editer url source mise à jour."
 
 #
 msgid "Editing"
-msgstr ""
+msgstr "Edition:"
 
 #
 msgid "Editor for new AutoTimers"
-msgstr ""
+msgstr "Editeur pour nouveaux ProgAutos"
 
 #
 msgid "Education"
-msgstr ""
+msgstr "Education"
 
 #
 msgid "Electronic Program Guide"
 msgstr "Guide électronique programme"
 
 msgid "Emailclient is an IMAP4 e-mail viewer for the Dreambox."
-msgstr ""
+msgstr "Client email est une visionneuse IMAP4e-mail pour la Dreambox."
 
 #
 msgid "Enable"
@@ -2429,7 +2398,7 @@ msgstr "Activer"
 
 #
 msgid "Enable /media"
-msgstr ""
+msgstr "Activer /média"
 
 #
 msgid "Enable 5V for active antenna"
@@ -2437,35 +2406,35 @@ msgstr "Autoriser 5V pour antenne active"
 
 #
 msgid "Enable Cleanup Wizard?"
-msgstr ""
+msgstr "Autoriser assistant nettoyage?"
 
 #
 msgid "Enable Filtering"
-msgstr ""
+msgstr "Activer filtrage"
 
 #
 msgid "Enable HTTP Access"
-msgstr ""
+msgstr "Activer accès HTTP"
 
 #
 msgid "Enable HTTP Authentication"
-msgstr ""
+msgstr "Ativer authentification HTTP"
 
 #
 msgid "Enable HTTPS Access"
-msgstr ""
+msgstr "Activer accès HTTPS"
 
 #
 msgid "Enable HTTPS Authentication"
-msgstr ""
+msgstr "Activer authentification HTTPS"
 
 #
 msgid "Enable Service Restriction"
-msgstr ""
+msgstr "Activer restriction services"
 
 #
 msgid "Enable Streaming Authentication"
-msgstr ""
+msgstr "Activer authentification Streaming"
 
 #
 msgid "Enable multiple bouquets"
@@ -2480,6 +2449,8 @@ msgid ""
 "Enable this to be able to access the AutoTimer Overview from within the "
 "extension menu."
 msgstr ""
+"Activer ceci pour pouvoir accéder à la vue d'ensemble de ProgAuto depuis le "
+"menu extension."
 
 #
 msgid "Enable timer"
@@ -2494,10 +2465,13 @@ 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 ""
+"Codage de l'utilisations des chaînes pour leurs données EPG. Vous devez "
+"seulement changer ceci si vous cherchez les caractères spéciaux comme les "
+"umlauts allemand."
 
 #
 msgid "Encrypted: "
-msgstr ""
+msgstr "Crypté: "
 
 #
 msgid "Encryption"
@@ -2517,15 +2491,15 @@ msgstr "type cryptage"
 
 #
 msgid "Encryption:"
-msgstr ""
+msgstr "Cryptage:"
 
 #
 msgid "End of \"after event\" timespan"
-msgstr ""
+msgstr "Fin par \"après événement\" période"
 
 #
 msgid "End of timespan"
-msgstr ""
+msgstr "Fin de période"
 
 #
 msgid "End time"
@@ -2543,8 +2517,9 @@ 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 ""
+"Plugin Enigma2 pour jouer vidéos AVI/DIVX/WMV/etc. depuis le PC sur votre "
+"Dreambox. Un VLC tournant est nécessaire de www.videolan.org sur votre pc."
 
-#
 msgid ""
 "Enigma2 Skinselector\n"
 "\n"
@@ -2553,6 +2528,12 @@ msgid ""
 "\n"
 "© 2006 - Stephan Reichholf"
 msgstr ""
+"Enigma2 Sélecteur-Thèmes\n"
+"\n"
+"S'il vous arrive des problèmes, veuillez\n"
+"contacter stephan@reichholf.net\n"
+"\n"
+"© 2006 - Stephan Reichholf"
 
 #
 msgid "Enter Fast Forward at speed"
@@ -2560,39 +2541,38 @@ msgstr "Entrer avance rapide à la vitesse"
 
 #
 msgid "Enter IP to scan..."
-msgstr ""
+msgstr "Saisir IP à analyser..."
 
 #
 msgid "Enter Rewind at speed"
 msgstr "Entrer rembobinage à la vitesse"
 
-#
 msgid "Enter main menu..."
-msgstr "entrer dans le menu principal..."
+msgstr "Entrer dans le menu principal..."
 
 #
 msgid "Enter new hostname for your Dreambox"
-msgstr ""
+msgstr "Saisir nouveau nom d'hôte pour votre Dreambox"
 
 #
 msgid "Enter options:"
-msgstr ""
+msgstr "Saisir options:"
 
 #
 msgid "Enter password:"
-msgstr ""
+msgstr "Saisir mot de passe:"
 
 #
 msgid "Enter pin code"
-msgstr ""
+msgstr "Saisir code PIN"
 
 #
 msgid "Enter share directory:"
-msgstr ""
+msgstr "Saisir répertoire partagé:"
 
 #
 msgid "Enter share name:"
-msgstr ""
+msgstr "Saisir nom partagé:"
 
 #
 msgid "Enter the service pin"
@@ -2600,23 +2580,23 @@ msgstr "Entrer le pin service"
 
 #
 msgid "Enter user and password for host: "
-msgstr ""
+msgstr "Saisir utilisateur et mot de passe hôte:"
 
 #
 msgid "Enter username:"
-msgstr ""
+msgstr "Saisir nom utilisateur:"
 
 #
 msgid "Enter your email address so that we can contact you if needed."
-msgstr ""
+msgstr "Saisir votre adresse email afin que l'on vous contact si nécessaire."
 
 #
 msgid "Enter your search term(s)"
-msgstr ""
+msgstr "Saisir vos terme(s) recherche ici"
 
 #
 msgid "Entertainment"
-msgstr ""
+msgstr "Divertissement"
 
 #
 msgid "Error"
@@ -2637,7 +2617,7 @@ msgstr ""
 
 #
 msgid "Estonian"
-msgstr ""
+msgstr "Estonien"
 
 #
 msgid "Eventview"
@@ -2649,23 +2629,22 @@ msgstr "Tout est impeccable"
 
 #
 msgid "Exact match"
-msgstr ""
+msgstr "Concordance exacte"
 
 #
-#, fuzzy
 msgid "Exceeds dual layer medium!"
 msgstr "Dépasse la capacité du support double couche!"
 
 #
 msgid "Exclude"
-msgstr ""
+msgstr "Exclure"
 
 #
 msgid "Execute \"after event\" during timespan"
-msgstr ""
+msgstr "Exécuter \"après événement\" pendant période"
 
 msgid "Execute TuxboxPlugins"
-msgstr ""
+msgstr "Exécuter Plugins Tuxbox"
 
 #
 msgid "Execution Progress:"
@@ -2677,7 +2656,7 @@ msgstr "Exécution terminée!!"
 
 #
 msgid "Exif"
-msgstr ""
+msgstr "Exif"
 
 #
 msgid "Exit"
@@ -2688,7 +2667,7 @@ msgid "Exit editor"
 msgstr "Quitter éditeur"
 
 msgid "Exit input device selection."
-msgstr ""
+msgstr "Quitter sélection périphériques entrée"
 
 #
 msgid "Exit network wizard"
@@ -2696,7 +2675,7 @@ msgstr "Quitter assistant réseau"
 
 #
 msgid "Exit the cleanup wizard"
-msgstr ""
+msgstr "Quitter l'assistant nettoyage"
 
 #
 msgid "Exit the wizard"
@@ -2720,11 +2699,11 @@ msgstr "Paramètre avancé..."
 
 #
 msgid "Extended Software"
-msgstr ""
+msgstr "Logiciel étendu"
 
 #
 msgid "Extended Software Plugin"
-msgstr ""
+msgstr "Plugin logiciel étendu"
 
 #
 msgid "Extensions"
@@ -2732,16 +2711,18 @@ msgstr "Extensions"
 
 #
 msgid "Extensions management"
-msgstr ""
+msgstr "Gestionnaire extensions"
 
 #
 msgid "FEC"
-msgstr ""
+msgstr "FEC"
 
 msgid ""
 "FTPBrowser allows uploading and downloading files between your Dreambox and "
 "a server using the file transfer protocol."
 msgstr ""
+"FTPBrowser permet d'envoyer et télécharger des fichiers entre votre Dreambox "
+"et un serveur utilisant le File Transfer Protocol."
 
 #
 msgid "Factory reset"
@@ -2754,17 +2735,17 @@ msgstr "Echoué"
 #
 #, python-format
 msgid "Fan %d"
-msgstr ""
+msgstr "%d ventilateur "
 
 #
 #, python-format
 msgid "Fan %d PWM"
-msgstr ""
+msgstr "%d ventilateur PWM"
 
 #
 #, python-format
 msgid "Fan %d Voltage"
-msgstr ""
+msgstr "%d ventilateur voltage"
 
 #
 msgid "Fast"
@@ -2788,15 +2769,15 @@ msgstr "Favoris"
 
 #
 msgid "Fetching feed entries"
-msgstr ""
+msgstr "Chercher entrées feed"
 
 #
 msgid "Fetching search entries"
-msgstr ""
+msgstr "Chercher entrées recherche"
 
 #
 msgid "Filesystem Check"
-msgstr ""
+msgstr "Vérification fichiers sytème"
 
 #
 msgid "Filesystem contains uncorrectable errors"
@@ -2804,11 +2785,11 @@ msgstr "Fichiers système contiennent des erreurs incorrigibles"
 
 #
 msgid "Film & Animation"
-msgstr ""
+msgstr "Film & Animation"
 
 #
 msgid "Filter"
-msgstr ""
+msgstr "Filtrer"
 
 #
 msgid ""
@@ -2817,6 +2798,11 @@ msgid ""
 "it's Description.\n"
 "Press BLUE to add a new restriction and YELLOW to remove the selected one."
 msgstr ""
+"Filtres est un autre outils puissant de tris d'émissions. Une ProgAuto peut-"
+"être limitée à certains jours de la semaine ou correspondreà une émission "
+"avec un texte intérieur exemple sa description.\n"
+"Pressez BLEU pour ajouter une nouvelle restriction et JAUNE pour retirer le "
+"choix."
 
 #
 msgid "Finetune"
@@ -2839,7 +2825,7 @@ msgid "Finnish"
 msgstr "Finlandais"
 
 msgid "First generate your skin-style with the Ai.HD-Control plugin."
-msgstr ""
+msgstr "Produire d'abord votre modèle-thème avec l'Ai.HD-Contrôle."
 
 #
 msgid "Flash"
@@ -2851,7 +2837,7 @@ msgstr "Flash échoué"
 
 #
 msgid "Following tasks will be done after you press OK!"
-msgstr ""
+msgstr "Le suivi des tâches suivantes sera fait après appui sur OK!"
 
 #
 msgid "Format"
@@ -2863,6 +2849,8 @@ msgid ""
 "Found a total of %d matching Events.\n"
 "%d Timer were added and %d modified."
 msgstr ""
+"A trouvé un total de %d énissions correspondantes.\n"
+"%d programmations ont été ajoutées et %d modifiées."
 
 #
 msgid "Frame repeat count during non-smooth winding"
@@ -2874,7 +2862,7 @@ msgstr "Dimension frame en plein écran"
 
 #
 msgid "France"
-msgstr ""
+msgstr "France"
 
 #
 msgid "French"
@@ -2906,13 +2894,14 @@ msgstr "Vendredi"
 
 #
 msgid "Frisian"
-msgstr ""
+msgstr "Frison"
 
 msgid "FritzCall shows incoming calls to your Fritz!Box on your Dreambox."
 msgstr ""
+"FritzCall montre des appels entrant vers votre Fritz!Box sur votre Dreambox."
 
 msgid "Frontend for /tmp/mmi.socket"
-msgstr ""
+msgstr "Tuner pour /tmp/mmi.socket"
 
 #
 #, python-format
@@ -2933,17 +2922,20 @@ msgstr ""
 
 msgid "GUI that allows user to change the ftp- / telnet password."
 msgstr ""
+"IGU permettant à l'utilisateur de changer le mot de pass ftp- / telnet."
 
 msgid ""
 "GUI that allows user to change the ftp-/telnet-password of the Dreambox."
 msgstr ""
+"IGU permettant à l'utilisateur de changer le mot de pass ftp-/telnet de la "
+"Dreambox."
 
 msgid "GUI to change the ftp and telnet-password"
-msgstr ""
+msgstr "IGU permettant à l'utilisateur de changer le mot de pass ftp et telnet"
 
 #
 msgid "Gaming"
-msgstr ""
+msgstr "Jouer"
 
 #
 msgid "Gateway"
@@ -2951,56 +2943,56 @@ msgstr "Passerelle"
 
 #
 msgid "General AC3 Delay"
-msgstr ""
+msgstr "Retard général AC3"
 
 #
 msgid "General AC3 delay (ms)"
-msgstr ""
+msgstr "Retard général AC3 (ms)"
 
 #
 msgid "General PCM Delay"
-msgstr ""
+msgstr "Retard général PCM"
 
 #
 msgid "General PCM delay (ms)"
-msgstr ""
+msgstr "Retard général PCM (ms)"
 
 #
 msgid "Genre"
-msgstr ""
+msgstr "Genre"
 
 #
 msgid "Genuine Dreambox"
-msgstr ""
+msgstr "Authenticité Dreambox"
 
 msgid "Genuine Dreambox validation failed!"
-msgstr ""
+msgstr "Echec validation authenticité Dreambox!"
 
 msgid "Genuine Dreambox verification"
-msgstr ""
+msgstr "Vérification authenticité Dreambox"
 
 #
 msgid "German"
 msgstr "Allemand"
 
 msgid "German storm information"
-msgstr ""
+msgstr "Information allemande orage"
 
 msgid "German traffic information"
-msgstr ""
+msgstr "Information allemande trafic"
 
 #
 msgid "Germany"
-msgstr ""
+msgstr "Allemagne"
 
 msgid "Get AudioCD info from CDDB and CD-Text"
-msgstr ""
+msgstr "Obtenir info AudioCD de CDDB et CD-Text"
 
 msgid "Get latest experimental image"
-msgstr ""
+msgstr "Obtenir dernière image expérimental"
 
 msgid "Get latest release image"
-msgstr ""
+msgstr "Obtenir dernière image publiée"
 
 #
 msgid "Getting plugin information. Please wait..."
@@ -3008,7 +3000,7 @@ msgstr "Récupération des informations du plugin. Patientez SVP..."
 
 #
 msgid "Global delay"
-msgstr ""
+msgstr "Retard global"
 
 #
 msgid "Goto 0"
@@ -3019,12 +3011,14 @@ msgid "Goto position"
 msgstr "Aller à la position"
 
 msgid "GraphMultiEPG shows a graphical timeline EPG"
-msgstr ""
+msgstr "GraphMultiEPG montre un EPG graphique ligne temps"
 
 msgid ""
 "GraphMultiEPG shows a graphical timeline EPG.\n"
 "Shows a nice overview of all running und upcoming tv shows."
 msgstr ""
+"GraphMultiEPG montre un EPG graphique ligne temps.\n"
+"Montre une jolie vue d'ensemble des émissions TV actuelles et à venir."
 
 #
 msgid "Graphical Multi EPG"
@@ -3032,7 +3026,7 @@ msgstr "Multi EPG graphique"
 
 #
 msgid "Great Britain"
-msgstr ""
+msgstr "Grande Bretagne"
 
 #
 msgid "Greek"
@@ -3040,13 +3034,17 @@ msgstr "Grèque"
 
 #
 msgid "Green boost"
-msgstr ""
+msgstr "Intensifier le vert"
 
 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 ""
+"Growlee permet à votre Dreambox d'envoyer des messages courts par le "
+"protocole growl\n"
+"comme des notifications d'enregistrements démarrés vers un PC avec un client "
+"growl"
 
 #
 msgid "Guard Interval"
@@ -3058,27 +3056,25 @@ msgstr "Mode intervalle garde"
 
 #
 msgid "Guess existing timer based on begin/end"
-msgstr ""
+msgstr "Suposer l'existance d'une programmation basée sur début/fin"
 
 #
 msgid "HD videos"
-msgstr ""
+msgstr "Vidéos HD"
 
 #
 msgid "HTTP Port"
-msgstr ""
+msgstr "Port HTTP"
 
 #
 msgid "HTTPS Port"
-msgstr ""
+msgstr "Port HTTPS"
 
-#
 msgid "Harddisk"
-msgstr "Disque dur..."
+msgstr "Disque dur"
 
-#
 msgid "Harddisk setup"
-msgstr "Paramètres disque dur..."
+msgstr "Paramètres disque dur"
 
 #
 msgid "Harddisk standby after"
@@ -3086,7 +3082,7 @@ msgstr "Disque dur en veille après"
 
 #
 msgid "Help"
-msgstr ""
+msgstr "Aide"
 
 #
 msgid "Hidden network SSID"
@@ -3094,7 +3090,7 @@ msgstr "SSID réseau caché"
 
 #
 msgid "Hidden networkname"
-msgstr ""
+msgstr "Nom réseau caché"
 
 #
 msgid "Hierarchy Information"
@@ -3106,49 +3102,46 @@ msgstr "Mode Hiérarchie"
 
 #
 msgid "High bitrate support"
-msgstr ""
+msgstr "Support \"Hight bitrate\""
 
-#
 msgid "History"
-msgstr ""
+msgstr "Historique"
 
 #
 msgid "Holland"
-msgstr ""
+msgstr "Hollande"
 
 #
 msgid "Hong Kong"
-msgstr ""
+msgstr "Hong Kong"
 
 #
 msgid "Horizontal"
-msgstr ""
+msgstr "Horizontal"
 
 msgid "Hotplugging for removeable devices"
-msgstr ""
+msgstr "Branchement à chaud pour périphériques retirables"
 
-#
 msgid "How many minutes do you want to record?"
-msgstr "Combien de minutes voulez-vous enregistrer ?"
+msgstr "Combien de minutes voulez-vous enregistrer?"
 
 #
 msgid "How to handle found crashlogs?"
-msgstr ""
+msgstr "Comment gérer les crashlogs trouvés?"
 
 #
 msgid "Howto & Style"
-msgstr ""
+msgstr "Savoir faire & Style"
 
 #
 msgid "Hue"
-msgstr ""
+msgstr "Couleur"
 
-#
 msgid "Hungarian"
-msgstr "hongrois"
+msgstr "Hongrois"
 
 msgid "IMAP4 e-mail viewer for the Dreambox"
-msgstr ""
+msgstr "visionneuse IMAP4e-mail pour la Dreambox"
 
 #
 msgid "IP Address"
@@ -3156,10 +3149,10 @@ msgstr "Adresse IP"
 
 #
 msgid "IP:"
-msgstr ""
+msgstr "IP:"
 
 msgid "IRC Client for Enigma2"
-msgstr ""
+msgstr "Client IRC pour Enigma2"
 
 #
 msgid "ISO file is too large for this filesystem!"
@@ -3179,6 +3172,8 @@ 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 ""
+"Si ceci est activé une programmation existante sera également considérée "
+"enregistrement d'une émission s'il enregistre au moins 80% de celle-ci."
 
 #
 msgid ""
@@ -3189,7 +3184,6 @@ msgstr ""
 "mal avec la péritel. Veuillez presser OK\n"
 "pour continuer."
 
-#
 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 "
@@ -3202,54 +3196,52 @@ msgid ""
 "If you are happy with the result, press OK."
 msgstr ""
 "Si votre TV a un perfectionnement de luminosité ou de contraste, neutralisez-"
-"le. S'il y a quelque chose appelée \"dynami\", positionnez le sur "
+"le. S'il y a quelque chose appelée \"dynamique\", positionnez le sur "
 "standard. Ajustez le niveau de contre-jour sur une valeur convenant à votre "
-"goût. Baissez le contraste sur votre TV autant que possible.\n"
-"Puis baissez les paramètres luminosité aussi bas que possible, mais assurez-"
-"vous que les deux nuances les plus plus basses de gris soient distinguable.\n"
-"Ne pas s'inquièter des nuances luminosité maintenant. Elles seront fixées "
-"dans la prochaine étape.\n"
-" si vous êtes satisfait du résultat, pressez OK."
+"goût. Baissez le contraste sur votre TV autant que possible.Puis baissez les "
+"paramètres luminosité aussi bas que possible, mais assurez-vous que les deux "
+"nuances les plus plus basses de gris soient distinguable.Ne pas s'inquiéter "
+"des nuances luminosité maintenant. Elles seront fixées dans la prochaine "
+"étape. si vous êtes satisfait du résultat, pressez OK."
 
 #
 msgid "Import AutoTimer"
-msgstr ""
+msgstr "Importer ProgAuto"
 
 #
 msgid "Import existing Timer"
-msgstr ""
+msgstr "Importer programmation existante"
 
 #
 msgid "Import from EPG"
-msgstr ""
+msgstr "Importer depuis EPG"
 
 #
 msgid "In Progress"
 msgstr "En progression"
 
-#
 msgid ""
 "In order to record a timer, the TV was switched to the recording service!\n"
 msgstr ""
 "Afin d'enregistrer une émission programmée, la TV zappera sur la chaîne "
-"enregistrée !\n"
+"enregistrée!\n"
 
 #
 msgid "Include"
-msgstr ""
+msgstr "Inclure"
 
 #
 msgid "Include your email and name (optional) in the mail?"
-msgstr ""
+msgstr "Inclure votre email et nom (optionnel) dans le mail?"
 
 #
 msgid "Increase delay"
-msgstr ""
+msgstr "Augmenter retard"
 
 #
 #, python-format
 msgid "Increase delay by %i ms (can be set)"
-msgstr ""
+msgstr "Augmenter le retard par %i ms (peut-être réglé)"
 
 #
 msgid "Increased voltage"
@@ -3261,19 +3253,18 @@ msgstr "Index"
 
 #
 msgid "India"
-msgstr ""
+msgstr "Inde"
 
 #
 msgid "Info"
-msgstr ""
+msgstr "Info"
 
 #
 msgid "InfoBar"
 msgstr "Barre d'infos"
 
-#
 msgid "Infobar timeout"
-msgstr "Délai barre d'infos"
+msgstr "Temps dépassé barre d'infos"
 
 #
 msgid "Information"
@@ -3285,11 +3276,11 @@ msgstr "Initialiser"
 
 #
 msgid "Initial location in new timers"
-msgstr ""
+msgstr "Emplacement initial pour nouveaux enregistrements"
 
 #
 msgid "Initialization"
-msgstr ""
+msgstr "Initialisation"
 
 #
 msgid "Initialize"
@@ -3304,42 +3295,42 @@ msgid "Input"
 msgstr "Entrée"
 
 msgid "Input device setup"
-msgstr ""
+msgstr "Paramètres périphérique entrée"
 
 msgid "Input devices"
-msgstr ""
+msgstr "Périphériques entrée"
 
 #
 msgid "Install"
-msgstr ""
+msgstr "Installer"
 
 #
 msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Installer une nouvelle image avec la clé USB"
 
 #
 msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Installer une nouvelle image avec navigateur web"
 
 #
 msgid "Install extensions."
-msgstr ""
+msgstr "Installer extensions."
 
 #
 msgid "Install local extension"
-msgstr ""
+msgstr "Installer extension locale"
 
 #
 msgid "Install or remove finished."
-msgstr ""
+msgstr "Installation/Retrait terminé."
 
 #
 msgid "Install settings, skins, software..."
-msgstr ""
+msgstr "Installation paramètres, thèmes, logiciel..."
 
 #
 msgid "Installation finished."
-msgstr ""
+msgstr "Installation terminée."
 
 #
 msgid "Installing"
@@ -3367,11 +3358,11 @@ msgstr "enregistrement immédiat..."
 
 #
 msgid "Instant record location"
-msgstr ""
+msgstr "Emplacement enregistrements immédiats"
 
 #
 msgid "Interface: "
-msgstr ""
+msgstr "Interface: "
 
 #
 msgid "Intermediate"
@@ -3382,10 +3373,10 @@ msgid "Internal Flash"
 msgstr "Flash interne"
 
 msgid "Internal LAN adapter."
-msgstr ""
+msgstr "Adaptateur interne LAN"
 
 msgid "Internal firmware updater"
-msgstr ""
+msgstr "Updater interne firmware"
 
 #
 msgid "Invalid Location"
@@ -3399,22 +3390,21 @@ msgstr "Répertoire sélectionné invalide: %s"
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 304
 msgid "Invalid response from Security service pls restart again"
-msgstr ""
+msgstr "Réponse invalide du service sécurité, SVP relancer encore"
 
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 132
 msgid "Invalid response from server."
-msgstr ""
+msgstr "Réponse invalide du serveur."
 
-#
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 177
 #, python-format
 msgid "Invalid response from server. Please report: %s"
-msgstr ""
+msgstr "Réponse invalide du serveur. Veuillez rapporter: %s"
 
 #
 msgid "Invalid selection"
-msgstr ""
+msgstr "sélection invalide"
 
 #
 msgid "Inversion"
@@ -3422,19 +3412,19 @@ msgstr "Inversion"
 
 #
 msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
 
 #
 msgid "Ireland"
-msgstr ""
+msgstr "Irlande"
 
 #
 msgid "Is this videomode ok?"
-msgstr ""
+msgstr "Est-ce que ce mode vidéo est OK?"
 
 #
 msgid "Israel"
-msgstr ""
+msgstr "Israël"
 
 #
 msgid ""
@@ -3444,24 +3434,30 @@ msgid ""
 "Service (inside a Bouquet).\n"
 "Press BLUE to add a new restriction and YELLOW to remove the selected one."
 msgstr ""
+"Il est possible de limiter une ProgAuto à certains services ou bouquets ou "
+"d'en refuser certains.\n"
+"Une émission correspondra seulement à cette ProgAuto si elle est sur un "
+"service spécifique et non interdit (à l'intérieur d'un bouquet).\n"
+"Presser BLEU pour ajouter une nouvelle restriction et JAUNE pour retirer le "
+"choix."
 
 #
 msgid "Italian"
 msgstr "Italien"
 
 msgid "Italian Weather forecast on Dreambox"
-msgstr ""
+msgstr "Prévisions météorologiques italiennes sur Dreambox"
 
 msgid "Italian Weather forecast on Dreambox from www.google.it."
-msgstr ""
+msgstr "Prévisions météorologiques italiennes sur Dreambox de www.google.it."
 
 #
 msgid "Italy"
-msgstr ""
+msgstr "Italie"
 
 #
 msgid "Japan"
-msgstr ""
+msgstr "Japon"
 
 #
 msgid "Job View"
@@ -3473,69 +3469,68 @@ msgid "Just Scale"
 msgstr "Juste mettre à l'échelle"
 
 msgid "Kerni's BrushedAlu-HD skin"
-msgstr ""
+msgstr "Thème Kerni BrushedAlu-HD"
 
 msgid "Kerni's DreamMM-HD skin"
-msgstr ""
+msgstr "Thème Kerni DreamMM-HD"
 
 msgid "Kerni's Elgato-HD skin"
-msgstr ""
+msgstr "Thème Kerni Elgato-HD"
 
 msgid "Kerni's SWAIN skin"
-msgstr ""
+msgstr "Thème Kerni SWAIN"
 
 msgid "Kerni's SWAIN-HD skin"
-msgstr ""
+msgstr "Thème Kerni SWAIN-HD"
 
 msgid "Kerni's UltraViolet skin"
-msgstr ""
+msgstr "Thème Kerni UltraViolet"
 
 msgid "Kerni's YADS-HD skin"
-msgstr ""
+msgstr "Thème Kerni YADS-HD"
 
 msgid "Kerni's dTV-HD skin"
-msgstr ""
+msgstr "Thème Kerni dTV-HD"
 
 msgid "Kerni's dTV-HD-Reloaded skin"
-msgstr ""
+msgstr "Thème Kerni dTV-HD-Reloaded"
 
 msgid "Kerni's dmm-HD skin"
-msgstr ""
+msgstr "Thème Kerni dmm-HD"
 
 msgid "Kerni's dreamTV-HD skin"
-msgstr ""
+msgstr "Thème Kerni dreamTV-HD"
 
 msgid "Kerni's simple skin"
-msgstr ""
+msgstr "Thème Kerni simple"
 
 msgid "Kerni-HD1 skin"
-msgstr ""
+msgstr "Thème Kerni-HD1"
 
 msgid "Kerni-HD1R2 skin"
-msgstr ""
+msgstr "Thème Kerni-HD1R2"
 
 msgid "Kernis HD1 skin"
-msgstr ""
+msgstr "Thème Kernis HD1"
 
 #
 #, python-format
 msgid "Key %(Key)s successfully set to %(delay)i ms"
-msgstr ""
+msgstr "Touche %(Touche)s réglés avec succès à %(délai)i ms"
 
 #
 #, python-format
 msgid "Key %(key)s (current value: %(value)i ms)"
-msgstr ""
+msgstr "Touche %(Touche)s (valeur courante: %(valeur)i ms)"
 
 #
 msgid "Keyboard"
-msgstr ""
+msgstr "Clavier"
 
 #
 msgid "Keyboard Map"
 msgstr "Agencement du clavier"
 
-#
 msgid "Keyboard Setup"
 msgstr "Paramétrage du clavier"
 
@@ -3544,30 +3539,30 @@ msgid "Keymap"
 msgstr "Agencement touches"
 
 msgid "KiddyTimer allows to control your kids's daily tv usage."
-msgstr ""
+msgstr "KiddyTimer permet de contrôler l'usage TV journalier de vos enfants"
 
 #
 msgid "LAN Adapter"
 msgstr "Adaptateur réseau local"
 
 msgid "LAN connection"
-msgstr ""
+msgstr "Connection LAN"
 
 #
 msgid "LNB"
-msgstr ""
+msgstr "LNB"
 
 #
 msgid "LOF"
-msgstr ""
+msgstr "LOF"
 
 #
 msgid "LOF/H"
-msgstr ""
+msgstr "LOF/H"
 
 #
 msgid "LOF/L"
-msgstr ""
+msgstr "LOF/L"
 
 #
 msgid "Language"
@@ -3579,9 +3574,8 @@ msgstr "Sélection de la langue"
 
 #
 msgid "Last config"
-msgstr ""
+msgstr "Dernière config"
 
-#
 msgid "Last speed"
 msgstr "Dernière vitesse"
 
@@ -3591,7 +3585,7 @@ msgstr "Latitude"
 
 #
 msgid "Latvian"
-msgstr ""
+msgstr "Letton"
 
 #
 msgid "Leave DVD Player?"
@@ -3604,7 +3598,7 @@ msgstr "Gauche"
 #
 #. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
 msgid "Letterbox"
-msgstr ""
+msgstr "Letterbox"
 
 #
 msgid "Limit east"
@@ -3616,7 +3610,7 @@ msgstr "Limite ouest"
 
 #
 msgid "Limited character set for recording filenames"
-msgstr ""
+msgstr "Jeu de caractères limité pour nom enregistrements"
 
 #
 msgid "Limits off"
@@ -3643,10 +3637,10 @@ msgid "List of Storage Devices"
 msgstr "Liste périphériques stockage"
 
 msgid "Listen and record internet radio"
-msgstr ""
+msgstr "Ecouter et enregistrer radio internet"
 
 msgid "Listen and record shoutcast internet radio on your Dreambox."
-msgstr ""
+msgstr "Ecouter et enregistrer radio shoutcast internet sur votre Dreambox."
 
 #
 msgid "Lithuanian"
@@ -3660,13 +3654,12 @@ msgstr "charger"
 msgid "Load Length of Movies in Movielist"
 msgstr "Charger longueur des films dans liste films"
 
-#
 msgid "Load feed on startup:"
-msgstr ""
+msgstr "Charger feed au démarrage:"
 
 #
 msgid "Load movie-length"
-msgstr ""
+msgstr "Charger longueur-film"
 
 #
 msgid "Local Network"
@@ -3674,7 +3667,7 @@ msgstr "Réseau local"
 
 #
 msgid "Local share name"
-msgstr ""
+msgstr "Nom partage local"
 
 #
 msgid "Location"
@@ -3682,7 +3675,7 @@ msgstr "Emplacement"
 
 #
 msgid "Location for instant recordings"
-msgstr ""
+msgstr "Emplacement pour enregistrements instantanés"
 
 #
 msgid "Lock:"
@@ -3690,14 +3683,14 @@ msgstr "Signal:"
 
 #
 msgid "Log results to harddisk"
-msgstr ""
+msgstr "Sauver log sur disque dur"
 
 #
 msgid "Long Keypress"
 msgstr "Appui long touche"
 
 msgid "Long filenames"
-msgstr ""
+msgstr "Nom fichiers longs"
 
 #
 msgid "Longitude"
@@ -3705,13 +3698,15 @@ msgstr "Longitude"
 
 #
 msgid "Lower bound of timespan."
-msgstr ""
+msgstr "Limite inférieure de période."
 
 #
 msgid ""
 "Lower bound of timespan. Nothing before this time will be matched. Offsets "
 "are not taken into account!"
 msgstr ""
+"Limite inférieure de période. Rien avant cette fois ne sera trié. Les "
+"décalages ne sont pas pris en considération!"
 
 #
 msgid "MMC Card"
@@ -3743,32 +3738,34 @@ msgstr "Faire de cette marque juste une marque"
 
 #
 msgid "Manage extensions"
-msgstr ""
+msgstr "Gestionnaire extensions"
 
 msgid "Manage local files"
-msgstr ""
+msgstr "Gestion fichiers locales"
 
 msgid "Manage logos to display at boot time or while in radio mode."
-msgstr ""
+msgstr "Gestion logos à afficher au démarrage ou pendant le mode radio."
 
 msgid "Manage logos to display at boottime"
-msgstr ""
+msgstr "Gestion logos à afficher pendant le boot"
 
 #
 msgid "Manage network shares"
-msgstr ""
+msgstr "Gestionnaire partages réseau"
 
 msgid ""
 "Manage your music files in a database, play it with Merlin Music Player."
 msgstr ""
+"Gérer vos fichiers musique dans la base de données, jouez les avec Music "
+"Player Merlin."
 
 #
 msgid "Manage your network shares..."
-msgstr ""
+msgstr "Gérer vos partages réseau..."
 
 #
 msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Gestion de votre logiciel récepteur"
 
 #
 msgid "Manual Scan"
@@ -3780,7 +3777,7 @@ msgstr "Transpondeur manuel"
 
 #
 msgid "Manufacturer"
-msgstr ""
+msgstr "Constructeur"
 
 #
 msgid "Margin after record"
@@ -3793,30 +3790,32 @@ msgstr "Marge avant l'enregistrement (minutes)"
 #
 #, python-format
 msgid "Match Timespan: %02d:%02d - %02d:%02d"
-msgstr ""
+msgstr "Période correspondante: %02d:%02d - %02d:%02d"
 
 #
 msgid "Match title"
-msgstr ""
+msgstr "Titre correspondant"
 
 #
 #, python-format
 msgid "Match title: %s"
-msgstr ""
+msgstr "Titre correspondant: %s"
 
 #
 msgid "Max. Bitrate: "
-msgstr ""
+msgstr "Bitrate Max.: "
 
 #
 msgid "Maximum duration (in m)"
-msgstr ""
+msgstr "Durée maximum (en m)"
 
 #
 msgid ""
 "Maximum event duration to match. If an event is longer than this ammount of "
 "time (without offset) it won't be matched."
 msgstr ""
+"Durée maximum émission pour correspondance. Si un événement est plus long "
+"que ce nombre d'heure (sans décalage) il ne sera pas équivalent."
 
 #
 msgid "Media player"
@@ -3830,12 +3829,18 @@ msgid ""
 "MediaScanner scans devices for playable media files and displays a menu with "
 "possible actions like viewing pictures or playing movies."
 msgstr ""
+"MediaScanner balaye les périphériques pour les fichiers médias jouables et "
+"montre un menu avec des actions possibles comme visionnement images ou "
+"lecture de films."
 
 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 ""
+"Mediaplayer écoute vos musiques et vidéos préférées.\n"
+"Jouez toute vos musiques préférées et fichiers vidéo, organisez les en "
+"playlists, Visionnez couverture et informations album."
 
 #
 msgid "Medium is not a writeable DVD!"
@@ -3850,7 +3855,7 @@ msgid "Menu"
 msgstr "Menu"
 
 msgid "Merlin Music Player and iDream"
-msgstr ""
+msgstr "Music Player Merlin et iDream"
 
 #
 msgid "Message"
@@ -3858,11 +3863,11 @@ msgstr "Message"
 
 #
 msgid "Message..."
-msgstr ""
+msgstr "Message..."
 
 #
 msgid "Mexico"
-msgstr ""
+msgstr "Mexique"
 
 #
 msgid "Mkfs failed"
@@ -3870,7 +3875,7 @@ msgstr "Echec Mkfs"
 
 #
 msgid "Mode"
-msgstr ""
+msgstr "Mode"
 
 #
 msgid "Model: "
@@ -3878,7 +3883,7 @@ msgstr "Modèle:"
 
 #
 msgid "Modify existing timers"
-msgstr ""
+msgstr "Modifier programmations existantes"
 
 #
 msgid "Modulation"
@@ -3902,39 +3907,39 @@ msgstr "Lundi"
 
 #
 msgid "Monthly"
-msgstr ""
+msgstr "Mensuellement"
 
 #
 msgid "More video entries."
-msgstr ""
+msgstr "Plus d'entrées vidéo."
 
 #
 msgid "Mosquito noise reduction"
-msgstr ""
+msgstr "Réduction bruit pixelisation"
 
 #
 msgid "Most discussed"
-msgstr ""
+msgstr "Plus discutés"
 
 #
 msgid "Most linked"
-msgstr ""
+msgstr "Plus visités"
 
 #
 msgid "Most popular"
-msgstr ""
+msgstr "Plus populaires"
 
 #
 msgid "Most recent"
-msgstr ""
+msgstr "Plus récents"
 
 #
 msgid "Most responded"
-msgstr ""
+msgstr "Plus répondus"
 
 #
 msgid "Most viewed"
-msgstr ""
+msgstr "Plus vus"
 
 #
 msgid "Mount failed"
@@ -3942,37 +3947,39 @@ msgstr "Echec montage"
 
 #
 msgid "Mount informations"
-msgstr ""
+msgstr "Informations montage"
 
 #
 msgid "Mount options"
-msgstr ""
+msgstr "Options montage"
 
 #
 msgid "Mount type"
-msgstr ""
+msgstr "Type montage"
 
 #
 msgid "MountManager"
-msgstr ""
+msgstr "Gestionnaire montage"
 
 #
 msgid ""
 "Mounted/\n"
 "Unmounted"
 msgstr ""
+"Monté/\n"
+"Démonté"
 
 #
 msgid "Mountpoints management"
-msgstr ""
+msgstr "Gestionnaire points montage"
 
 #
 msgid "Mounts editor"
-msgstr ""
+msgstr "Editeur montages"
 
 #
 msgid "Mounts management"
-msgstr ""
+msgstr "Gestionnaire montages"
 
 #
 msgid "Move Picture in Picture"
@@ -3984,74 +3991,78 @@ msgstr "Déplacer vers l'est"
 
 #
 msgid "Move plugin screen"
-msgstr ""
+msgstr "Déplacer écran plugin"
 
 #
 msgid "Move screen down"
-msgstr ""
+msgstr "Déplacer écran vers le bas"
 
 #
 msgid "Move screen to the center of your TV"
-msgstr ""
+msgstr "Déplacer écran vers le centre de votre TV"
 
 #
 msgid "Move screen to the left"
-msgstr ""
+msgstr "Déplacer écran vers la gauche"
 
 #
 msgid "Move screen to the lower left corner"
-msgstr ""
+msgstr "Déplacer écran vers le coin bas gauche"
 
 #
 msgid "Move screen to the lower right corner"
-msgstr ""
+msgstr "Déplacer écran vers le coin bas droit"
 
 #
 msgid "Move screen to the middle of the left border"
-msgstr ""
+msgstr "Déplacer écran vers le milieu bord gauche"
 
 #
 msgid "Move screen to the middle of the right border"
-msgstr ""
+msgstr "Déplacer écran vers le milieu bord droit"
 
 #
 msgid "Move screen to the right"
-msgstr ""
+msgstr "Déplacer écran vers la droite"
 
 #
 msgid "Move screen to the upper left corner"
-msgstr ""
+msgstr "Déplacer écran vers le coin haut gauche"
 
 #
 msgid "Move screen to the upper right corner"
-msgstr ""
+msgstr "Déplacer écran vers le coin haut droit"
 
 #
 msgid "Move screen up"
-msgstr ""
+msgstr "Déplacer écran vers le haut"
 
 #
 msgid "Move west"
 msgstr "Déplacer vers l'ouest"
 
 msgid "Movie information from the Online Film Datenbank (German)."
-msgstr ""
+msgstr "Information film depuis la Film Datenbank en ligne (Allemagne)."
 
 msgid "Movie informations from the Online Film Datenbank"
-msgstr ""
+msgstr "Informations film depuis la Film Datenbank en ligne"
 
 #
 msgid "Movie location"
-msgstr ""
+msgstr "Emplcement film"
 
 msgid ""
 "MovieTagger adds tags to recorded movies to sort a large list of movies."
 msgstr ""
+"MovieTagger ajoute des pointeurs aux films enregistrés pour trier une grande "
+"liste de films."
 
 msgid ""
 "Movielist Preview creates screenshots of recordings and shows them inside "
 "the movielist."
 msgstr ""
+"Movielist Preview créé des captures d'écran des enregistrements et le montre "
+"dans la liste des films."
 
 #
 msgid "Movielist menu"
@@ -4063,7 +4074,7 @@ msgstr "Multi EPG"
 
 #
 msgid "Multimedia"
-msgstr ""
+msgstr "Multimédia"
 
 #
 msgid "Multiple service support"
@@ -4075,52 +4086,48 @@ msgstr "Multisat"
 
 #
 msgid "Music"
-msgstr ""
+msgstr "Musique"
 
 #
 msgid "Mute"
 msgstr "Sourdine"
 
-#
 msgid "My TubePlayer"
-msgstr ""
+msgstr "Lecteur MyTube"
 
 #
 msgid "MyTube Settings"
-msgstr ""
+msgstr "Paramètres MyTube"
 
-#
 msgid "MyTubePlayer"
-msgstr ""
+msgstr "Lecteur MyTube"
 
-#
 msgid "MyTubePlayer Help"
-msgstr ""
+msgstr "Aide Lecteur MyTube"
 
-#
 msgid "MyTubePlayer active video downloads"
-msgstr ""
+msgstr "Lecteur MyTube téléchargement vidéo actif"
 
-#
 msgid "MyTubePlayer settings"
-msgstr ""
+msgstr "Paramètres Lecteur MyTube"
 
-#
 msgid "MyTubeVideoInfoScreen"
-msgstr ""
+msgstr "Ecran infos vidéo MyTube"
 
 #
 msgid "MyTubeVideohelpScreen"
-msgstr ""
+msgstr "EcranAideMyTubeVideo"
 
 #
 msgid "N/A"
-msgstr ""
+msgstr "N/A"
 
 msgid ""
 "NCID Client shows incoming voice calls promoted by any NCID server (e.g. "
 "Vodafone Easybox) on your Dreambox."
 msgstr ""
+"Le client de NCID montre des appels vocaux entrants favorisés par n'importe "
+"quel serveur de NCID (par exemple Vodafone Easybox) sur votre Dreambox."
 
 #
 msgid "NEXT"
@@ -4128,7 +4135,7 @@ msgstr "SUIVANT"
 
 #
 msgid "NFI Image Flashing"
-msgstr ""
+msgstr "Flash de l'image NFI"
 
 #
 msgid "NFI image flashing completed. Press Yellow to Reboot!"
@@ -4136,7 +4143,7 @@ msgstr "Flash de l'image NFI terminé. Presser Jaune pour redémarrer!"
 
 #
 msgid "NFS share"
-msgstr ""
+msgstr "Partage NFS"
 
 #
 msgid "NOW"
@@ -4168,100 +4175,100 @@ msgid "Nameserver settings"
 msgstr "Paramètres nom serveur"
 
 msgid "Nemesis BlackBox Skin"
-msgstr ""
+msgstr "Thème Nemesis BlackBox"
 
 msgid "Nemesis BlackBox Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis BlackBox pour la Dreambox"
 
 msgid "Nemesis Blueline Single Skin"
-msgstr ""
+msgstr "Thème Nemesis Blueline Single"
 
 msgid "Nemesis Blueline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Blueline Single pour la Dreambox"
 
 msgid "Nemesis Blueline Skin"
-msgstr ""
+msgstr "Thème Nemesis Blueline"
 
 msgid "Nemesis Blueline Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Blueline pour la Dreambox"
 
 msgid "Nemesis Blueline.Extended Skin"
-msgstr ""
+msgstr "Thème Nemesis Blueline.Extended"
 
 msgid "Nemesis Blueline.Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Blueline.Extended pour la Dreambox"
 
 msgid "Nemesis ChromeLine Cobolt Skin"
-msgstr ""
+msgstr "Thème Nemesis ChromeLine Cobolt"
 
 msgid "Nemesis ChromeLine Cobolt Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis ChromeLine Cobolt pour la Dreambox"
 
 msgid "Nemesis ChromeLine Skin"
-msgstr ""
+msgstr "Thème Nemesis ChromeLine"
 
 msgid "Nemesis ChromeLine Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis ChromeLine pour la Dreambox"
 
 msgid "Nemesis Flatline Blue Skin"
-msgstr ""
+msgstr "Thème Nemesis Flatline Blue"
 
 msgid "Nemesis Flatline Blue Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Flatline Blue pur la Dreambox"
 
 msgid "Nemesis Flatline Skin"
-msgstr ""
+msgstr "Thème Nemesis Flatline"
 
 msgid "Nemesis Flatline Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Flatline pour la Dreambox"
 
 msgid "Nemesis GlassLine Skin"
-msgstr ""
+msgstr "Thème Nemesis GlassLine"
 
 msgid "Nemesis GlassLine Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis GlassLine pour la Dreambox"
 
 msgid "Nemesis Greenline Extended Skin"
-msgstr ""
+msgstr "Thème Nemesis Greenline Extended"
 
 msgid "Nemesis Greenline Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greenline Extended pour la Dreambox"
 
 msgid "Nemesis Greenline Single Skin"
-msgstr ""
+msgstr "Thème Nemesis Greenline Single"
 
 msgid "Nemesis Greenline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greenline Single pour la Dreambox"
 
 msgid "Nemesis Greenline Skin"
-msgstr ""
+msgstr "Thème Nemesis Greenline"
 
 msgid "Nemesis Greenline Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greenline pour la Dreambox"
 
 msgid "Nemesis Greyline Extended Skin"
-msgstr ""
+msgstr "Thème Nemesis Greyline Extended"
 
 msgid "Nemesis Greyline Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greyline Extended pour la Dreambox"
 
 msgid "Nemesis Greyline Single Skin"
-msgstr ""
+msgstr "Thème Nemesis Greyline Single"
 
 msgid "Nemesis Greyline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greyline Single pour la Dreambox"
 
 msgid "Nemesis Greyline Skin"
-msgstr ""
+msgstr "Thème Nemesis Greyline"
 
 msgid "Nemesis Greyline Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis Greyline pour la Dreambox"
 
 msgid "Nemesis ShadowLine Skin"
-msgstr ""
+msgstr "Thème Nemesis ShadowLine"
 
 msgid "Nemesis ShadowLine Skin for the Dreambox"
-msgstr ""
+msgstr "Thème Nemesis ShadowLine pour la Dreambox"
 
 #
 msgid "Netmask"
@@ -4269,7 +4276,7 @@ msgstr "Masque sous réseau"
 
 #
 msgid "Network"
-msgstr ""
+msgstr "Réseau"
 
 #
 msgid "Network Configuration..."
@@ -4308,7 +4315,7 @@ msgid "Network test..."
 msgstr "Test réseau..."
 
 msgid "Network test: "
-msgstr ""
+msgstr "Test réseau: "
 
 #
 msgid "Network:"
@@ -4316,7 +4323,7 @@ msgstr "Réseau:"
 
 #
 msgid "NetworkBrowser"
-msgstr ""
+msgstr "Parcours réseau"
 
 #
 msgid "NetworkWizard"
@@ -4324,18 +4331,18 @@ msgstr "Assistant réseau"
 
 #
 msgid "Never"
-msgstr ""
+msgstr "Jamais"
 
 #
 msgid "New"
 msgstr "Nouvelle"
 
 msgid "New PIN"
-msgstr ""
+msgstr "Nouveau PIN"
 
 #
 msgid "New Zealand"
-msgstr ""
+msgstr "Nouvelle Zélande"
 
 #
 msgid "New version:"
@@ -4343,7 +4350,7 @@ msgstr "Nouvelle version : "
 
 #
 msgid "News & Politics"
-msgstr ""
+msgstr "Nouvelles et Politiques"
 
 #
 msgid "Next"
@@ -4359,13 +4366,10 @@ msgstr "Aucun lecteur DVD (supporté) trouvé!"
 
 #
 msgid "No Connection"
-msgstr ""
+msgstr "Pas de connection"
 
-#
 msgid "No HDD found or HDD not initialized!"
-msgstr ""
-"Aucun disque dur trouvé ou\n"
-"disque dur non initialisé !"
+msgstr "Aucun disque dur trouvé oudisque dur non initialisé!"
 
 #
 msgid "No Networks found"
@@ -4385,7 +4389,7 @@ msgstr ""
 
 #
 msgid "No description available."
-msgstr ""
+msgstr "Description non disponible."
 
 #
 msgid "No details for this image file"
@@ -4393,7 +4397,7 @@ msgstr "Aucun détails pour ce fichier image"
 
 #
 msgid "No displayable files on this medium found!"
-msgstr ""
+msgstr "Aucun fichiers affichables trouvés sur ce support!"
 
 #
 msgid "No event info found, recording indefinitely."
@@ -4404,6 +4408,8 @@ msgid ""
 "No fast winding possible yet.. but you can use the number buttons to skip "
 "forward/backward!"
 msgstr ""
+"Aucun passage rapide possible encore. Cependant, vous pouvez sauter avec les "
+"boutons numériques avant/arrière!"
 
 #
 msgid "No free tuner!"
@@ -4411,30 +4417,28 @@ msgstr "Pas de tuner libre"
 
 #
 msgid "No network connection available."
-msgstr ""
+msgstr "Aucune connection réseau disponible."
 
 #
 msgid "No network devices found!"
-msgstr ""
+msgstr "Pas de périphériques réseau trouvé!"
 
 #
 msgid "No networks found"
 msgstr "Aucun réseaux trouvés"
 
-#
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
-"Aucun paquet n'a été encore upgradé. Veuillez vérifier le réseau et essayer "
-"encore."
+"Aucun paquet n'a été encore upgradé. Veuillez vérifier le réseau et "
+"réessayer."
 
-#
 msgid "No picture on TV? Press EXIT and retry."
-msgstr "Pas d'image sur la TV? Presser EXIT and réessayer."
+msgstr "Pas d'image sur la TV? Presser EXIT et réessayer."
 
 #
 msgid "No playable video found! Stop playing this movie?"
-msgstr ""
+msgstr "Pas de vidéo lisible trouvée! Stopper lecture du film?"
 
 #
 msgid "No positioner capable frontend found."
@@ -4444,25 +4448,22 @@ msgstr "Aucun positionneur tuner détecté."
 msgid "No satellite frontend found!!"
 msgstr "Aucun tuner satellite trouvé!!"
 
-#
 msgid "No tags are set on these movies."
-msgstr "Aucune étiquette réglée sur ces films."
+msgstr "Aucun pointeur réglé sur ces films."
 
 #
 msgid "No to all"
-msgstr ""
+msgstr "Non à tout"
 
-#
 msgid "No tuner is configured for use with a diseqc positioner!"
-msgstr "Aucun tuner n'est configuré pour utiliser un positionneur DiSEqC !"
+msgstr "Aucun tuner n'est configuré pour utiliser un positionneur DiSEqC!"
 
-#
 msgid ""
 "No tuner is enabled!\n"
 "Please setup your tuner settings before you start a service scan."
 msgstr ""
 "Aucun tuner est activé!\n"
-"Veuillez paramètrer vos tuner avant de lancer l'analyse des services."
+"Veuillez paramétrer vos tuner avant de lancer l'analyse des services."
 
 #
 msgid ""
@@ -4486,18 +4487,19 @@ msgstr ""
 
 #
 msgid "No videos to display"
-msgstr ""
+msgstr "Pas de vidéos à afficher"
 
 #
 msgid "No wireless networks found! Please refresh."
-msgstr ""
+msgstr "Aucun réseau sans fil trouvé! veuillez rafraichir."
 
-#
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
 "configured correctly."
 msgstr ""
+"Aucun adaptateur réseau fonctionnel trouvé.Veuillez vérifier que vous avez "
+"connecté un câble réseau et que le réseau est configuré correctement."
 
 #
 msgid ""
@@ -4521,7 +4523,7 @@ msgstr ""
 
 #
 msgid "No, but play video again"
-msgstr ""
+msgstr "Non, mais jouer encore vidéo."
 
 #
 msgid "No, but restart from begin"
@@ -4529,11 +4531,11 @@ msgstr "Non, mais relancer depuis le début"
 
 #
 msgid "No, but switch to video entries."
-msgstr ""
+msgstr "Non, mais commuter vers entrées vidéo."
 
 #
 msgid "No, but switch to video search."
-msgstr ""
+msgstr "Non, mais commuter vers recherche vidéo."
 
 #
 msgid "No, do nothing."
@@ -4544,15 +4546,15 @@ msgid "No, just start my dreambox"
 msgstr "Non, juste démarrer ma Dreambox"
 
 msgid "No, never"
-msgstr ""
+msgstr "Non, jamais"
 
 #
 msgid "No, not now"
-msgstr ""
+msgstr "Non, pas maintenant"
 
 #
 msgid "No, remove them."
-msgstr ""
+msgstr "Non, les retirer."
 
 #
 msgid "No, scan later manually"
@@ -4560,7 +4562,7 @@ msgstr "Non, analyser manuellement plus tard"
 
 #
 msgid "No, send them never"
-msgstr ""
+msgstr "Non, ne jamais envoyer"
 
 #
 msgid "None"
@@ -4573,7 +4575,7 @@ msgstr "Non Linéaire"
 
 #
 msgid "Nonprofits & Activism"
-msgstr ""
+msgstr "Nonprofits & Activisme"
 
 #
 msgid "North"
@@ -4594,15 +4596,14 @@ msgstr ""
 
 #
 msgid "Not fetching feed entries"
-msgstr ""
+msgstr "Pas chercher entrées feed"
 
-#
 msgid ""
 "Nothing to scan!\n"
 "Please setup your tuner settings before you start a service scan."
 msgstr ""
-"Rien à analyser !\n"
-"Veuillez paramètrer votre tuner avant de démarrer une analyse de chaînes."
+"Rien à analyser!Veuillez paramétrer votre tuner avant de démarrer une "
+"analyse de chaînes."
 
 #
 msgid "Now Playing"
@@ -4621,7 +4622,7 @@ msgstr ""
 
 #
 msgid "Number of scheduled recordings left."
-msgstr ""
+msgstr "nombre d'enregistrements programmés restants."
 
 #
 msgid "OK"
@@ -4633,11 +4634,11 @@ msgstr "D'accord, guidez moi à travers la procédure de mise à jour"
 
 #
 msgid "OK, remove another extensions"
-msgstr ""
+msgstr "OK, retirer autre extensions"
 
 #
 msgid "OK, remove some extensions"
-msgstr ""
+msgstr "OK, retirer quelques extensions"
 
 #
 msgid "OSD Settings"
@@ -4653,11 +4654,11 @@ msgstr "Arrêt"
 
 #
 msgid "Offset after recording (in m)"
-msgstr ""
+msgstr "Décalage après enregistrement (en m)"
 
 #
 msgid "Offset before recording (in m)"
-msgstr ""
+msgstr "Décalage avant enregistrement (en m)"
 
 #
 msgid "On"
@@ -4665,11 +4666,11 @@ msgstr "Marche"
 
 #
 msgid "On any service"
-msgstr ""
+msgstr "Sur tout service"
 
 #
 msgid "On same service"
-msgstr ""
+msgstr "Sur même service"
 
 #
 msgid "One"
@@ -4677,7 +4678,7 @@ msgstr "Un"
 
 #
 msgid "Only AutoTimers created during this session"
-msgstr ""
+msgstr "Seulement ProgAutos créées durant cette session"
 
 #
 msgid "Only Free scan"
@@ -4685,28 +4686,28 @@ msgstr "Scanner seulement libre"
 
 #
 msgid "Only extensions."
-msgstr ""
+msgstr "Extensions seules"
 
 #
 msgid "Only match during timespan"
-msgstr ""
+msgstr "Seulement correspondant pendant la période"
 
 #
 #, python-format
 msgid "Only on Service: %s"
-msgstr ""
+msgstr "Seulement sur service: %s"
 
 #
 msgid "Open Context Menu"
-msgstr ""
+msgstr "Ouvrir menu contextuel"
 
 #
 msgid "Open plugin menu"
-msgstr ""
+msgstr "Ouvrir menu plugin"
 
 #
 msgid "Optionally enter your name if you want to."
-msgstr ""
+msgstr "Optionnel, saisir votre nom si vous le souhaitez."
 
 #
 msgid "Orbital Position"
@@ -4714,20 +4715,20 @@ msgstr "Position orbitale"
 
 #
 msgid "Outer Bound (+/-)"
-msgstr ""
+msgstr "Limite externe (+/-)"
 
 msgid "Overlay for scrolling bars"
-msgstr ""
+msgstr "Recouvrement barres défilement"
 
 #
 msgid "Override found with alternative service"
-msgstr ""
+msgstr "Dépassement trouvé avec le service alternatif"
 
 msgid "Overwrite configuration files ?"
-msgstr ""
+msgstr "Ecraser fichiers configuration?"
 
 msgid "Overwrite configuration files during software upgrade?"
-msgstr ""
+msgstr "Ecraser fichiers configuration pendant mise à jour logicielle?"
 
 #
 msgid "PAL"
@@ -4743,11 +4744,11 @@ msgstr "Mise à jour liste paquets"
 
 #
 msgid "Package removal failed.\n"
-msgstr ""
+msgstr "Echec retrait du paquet!\n"
 
 #
 msgid "Package removed successfully.\n"
-msgstr ""
+msgstr "Paquet retiré avec succès.\n"
 
 #
 msgid "Packet management"
@@ -4760,7 +4761,7 @@ msgstr "Gestionnaire paquet"
 #
 #. TRANSLATORS: (aspect ratio policy: cropped content on left/right) in doubt, keep english term
 msgid "Pan&Scan"
-msgstr ""
+msgstr "Pan&Scan"
 
 #
 msgid "Parent Directory"
@@ -4786,10 +4787,12 @@ msgid ""
 "Partnerbox allows editing a remote Dreambox's record timers and stream its "
 "TV  program."
 msgstr ""
+"Partnerbox permet d'éditer à distance les programmations enregistrements et "
+"flux vidéo programme TV."
 
 #
 msgid "Password"
-msgstr ""
+msgstr "Mot de passe"
 
 #
 msgid "Pause movie at end"
@@ -4797,18 +4800,21 @@ msgstr "Pause film à la fin"
 
 #
 msgid "People & Blogs"
-msgstr ""
+msgstr "Peuple & Blogs"
 
 msgid "PermanentClock shows the clock permanently on the screen."
-msgstr ""
+msgstr "PermanentClock affiche l'horloge permanente sur l'écran."
+
+msgid "Persian"
+msgstr "Iranien"
 
 #
 msgid "Pets & Animals"
-msgstr ""
+msgstr "Animaux & Sauvages"
 
 #
 msgid "Phone number"
-msgstr ""
+msgstr "Numéro téléphone"
 
 #
 msgid "PiPSetup"
@@ -4841,25 +4847,25 @@ msgstr "Jouer CD-Audio..."
 
 #
 msgid "Play DVD"
-msgstr ""
+msgstr "Jouer DVD..."
 
 #
 msgid "Play Music..."
-msgstr ""
+msgstr "Jouer Musique..."
 
 #
 msgid "Play YouTube movies"
-msgstr ""
+msgstr "Jouer films YouTube"
 
 msgid "Play music from Last.fm"
-msgstr ""
+msgstr "Jouer musique depuis Last.fm"
 
 msgid "Play music from Last.fm."
-msgstr ""
+msgstr "Jouer musique depuis Last.fm."
 
 #
 msgid "Play next video"
-msgstr ""
+msgstr "Jouer vidéo suivante"
 
 #
 msgid "Play recorded movies..."
@@ -4867,22 +4873,22 @@ msgstr "lire les films enregistrés..."
 
 #
 msgid "Play video again"
-msgstr ""
+msgstr "Jouer vidéo encore"
 
 msgid "Play videos from PC on your Dreambox"
-msgstr ""
+msgstr "Jouer vidéo du PC sur votre Dreambox"
 
 msgid "Playback of Youtube through a PC"
-msgstr ""
+msgstr "Playback de Youtube à travers un PC"
 
 msgid "Player for Network and Internet Streams"
-msgstr ""
+msgstr "Lecteur pour flux réseau et internet"
 
 msgid "Player for Network and Internet Streams."
-msgstr ""
+msgstr "Lecteur pour flux réseau et internet."
 
 msgid "Plays your favorite music and videos"
-msgstr ""
+msgstr "Jouer vos musiques et vidéos favorites"
 
 #
 msgid "Please Reboot"
@@ -4894,12 +4900,14 @@ msgstr "Veuillez choisir média à scanner"
 
 #
 msgid "Please add titles to the compilation."
-msgstr ""
+msgstr "Veuillez ajouter titres à la compilation."
 
 msgid ""
 "Please be aware, that anyone can disable the parental control, if you have "
 "not set a PIN."
 msgstr ""
+"Soyez conscient que n'importe qui peut désactiver le contrôle parental, si "
+"vous n'avez pas mis un PIN."
 
 #
 msgid "Please change recording endtime"
@@ -4970,19 +4978,19 @@ msgid "Please enter the correct pin code"
 msgstr "Veuillez saisir le code pin correcte"
 
 msgid "Please enter the old PIN code"
-msgstr ""
+msgstr "Veuillez saisir l'ancien code pin"
 
 #
 msgid "Please enter your email address here:"
-msgstr ""
+msgstr "Veuillez saisir votre adresse email ici:"
 
 #
 msgid "Please enter your name here (optional):"
-msgstr ""
+msgstr "Veuillez saisir votre nom ici (optionnel):"
 
 #
 msgid "Please enter your search term."
-msgstr ""
+msgstr "Veuillez saisir votre terme de recherche."
 
 #
 msgid "Please follow the instructions on the TV"
@@ -5006,7 +5014,7 @@ msgstr "Veuille presser OK!"
 
 #
 msgid "Please provide a Text to match"
-msgstr ""
+msgstr "Veuillez fournir un texte pour correspondance"
 
 #
 msgid "Please select a playlist to delete..."
@@ -5019,6 +5027,7 @@ msgstr "Veuillez choisir une liste lecture..."
 #
 msgid "Please select a standard feed or try searching for videos."
 msgstr ""
+"Veuillez sélectionner une feed standard ou essyer de chercher des vidéos."
 
 #
 msgid "Please select a subservice to record..."
@@ -5029,23 +5038,23 @@ msgid "Please select a subservice..."
 msgstr "Veuillez choisir un sous-service..."
 
 msgid "Please select an NFI file and press green key to flash!"
-msgstr ""
+msgstr "Veuillez choisir un fichier NFI et presser vert pour flasher!"
 
 #
 msgid "Please select an extension to remove."
-msgstr ""
+msgstr "Veuillez choisir une extension à retirer."
 
 #
 msgid "Please select an option below."
-msgstr ""
+msgstr "Veuillez choisir une option ci-dessous."
 
 #
 msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Veuillez choisir le support pour la sauvegarde"
 
 #
 msgid "Please select tag to filter..."
-msgstr ""
+msgstr "Veuillez choisir pointeur pour filtrer..."
 
 #
 msgid "Please select the movie path..."
@@ -5103,10 +5112,8 @@ msgstr ""
 "Veuillez utiliser les touches HAUT et BAS pour choisir votre langage. "
 "Ensuite presser le bouton OK."
 
-#
-#, fuzzy
 msgid "Please wait (Step 2)"
-msgstr "Veuillez attendre..."
+msgstr "Veuillez patienter (étape 2)"
 
 #
 msgid "Please wait for activation of your network configuration..."
@@ -5114,27 +5121,27 @@ msgstr "Veuillez attendre l'activation de votre configuration réseau..."
 
 #
 msgid "Please wait for activation of your network mount..."
-msgstr ""
+msgstr "Veuillez patienter, activation du montage de votre réseau..."
 
 #
 msgid "Please wait while removing selected package..."
-msgstr ""
+msgstr "Veuillez attendre pendant le retrait du paquet sélctionné..."
 
 #
 msgid "Please wait while removing your network mount..."
-msgstr ""
+msgstr "Veuillez patienter, retrait du montage de votre réseau..."
 
 #
 msgid "Please wait while scanning is in progress..."
-msgstr ""
+msgstr "Veuillez attendre pendant l'analyse en cours..."
 
 #
 msgid "Please wait while searching for removable packages..."
-msgstr ""
+msgstr "Veuillez attendre pendant la recherche des paquets retirables..."
 
 #
 msgid "Please wait while updating your network mount..."
-msgstr ""
+msgstr "Veuillez patienter, mise à jour du montage de votre réseau..."
 
 #
 msgid "Please wait while we configure your network..."
@@ -5166,47 +5173,44 @@ msgstr "Navigateur d'extensions"
 
 #
 msgid "Plugin manager activity information"
-msgstr ""
+msgstr "Information d'activité gestionnaire plugin"
 
 #
 msgid "Plugin manager help"
-msgstr ""
+msgstr "Aide gestionnaire plugin"
 
 #
 #, python-format
 msgid "Plugin: %(plugin)s , Version: %(version)s"
-msgstr ""
+msgstr "Plugin: %(plugin)s , Version: %(version)s"
 
-#
 msgid "Plugins"
-msgstr "Extensions"
+msgstr "Plugins"
 
 msgid "PodCast streams podcasts to your Dreambox."
-msgstr ""
+msgstr "Podcast envoie flux Podcast vers votre Dreambox."
 
 #
 msgid "Poland"
-msgstr ""
+msgstr "Pologne"
 
 #
 msgid "Polarity"
 msgstr "Polarité"
 
-#
 msgid "Polarization"
-msgstr "polarisation"
+msgstr "Polarisation"
 
 #
 msgid "Polish"
 msgstr "Polonais"
 
-#
 msgid "Poll Interval (in h)"
-msgstr ""
+msgstr "Intervalle entre scrutation (en h)"
 
 #
 msgid "Poll automatically"
-msgstr ""
+msgstr "Scruter automatiquement"
 
 #
 msgid "Port A"
@@ -5249,13 +5253,16 @@ msgid "Positioner storage"
 msgstr "Stockage du positionneur"
 
 msgid "PositionerSetup helps you installing a motorized dish"
-msgstr ""
+msgstr "PositionerSetup vous aide à installer une parabole motorisée"
 
 #
 msgid ""
 "Power state to change to after recordings. Select \"standard\" to not change "
 "the default behavior of enigma2 or values changed by yourself."
 msgstr ""
+"changement état de puissance après des enregistrements. Choisir \"standard\" "
+"pour ne pas changer le comportement par défaut d'enigma2 ou valeurs changées "
+"par vous-même."
 
 #
 msgid "Power threshold in mA"
@@ -5266,17 +5273,17 @@ msgid "Predefined transponder"
 msgstr "transpondeur prédéfini"
 
 msgid "Prepare another USB stick for image flashing"
-msgstr ""
+msgstr "Préparer une nouvelle clé USB pour flasher l'image"
 
 #
 msgid "Preparing... Please wait"
 msgstr "Préparation... Veuillez patienter"
 
 msgid "Press INFO on your remote control for additional information."
-msgstr ""
+msgstr "Presser INFO sur votre télécommande pour information additionnelle."
 
 msgid "Press MENU on your remote control for additional options."
-msgstr ""
+msgstr "Presser MENU sur votre télécommande pour options additionnelles."
 
 #
 msgid "Press OK on your remote control to continue."
@@ -5284,7 +5291,7 @@ msgstr "Presser OK sur la télécommande pour continuer."
 
 #
 msgid "Press OK to activate the selected skin."
-msgstr ""
+msgstr "Presser OK pour activer le thème sélectionné"
 
 #
 msgid "Press OK to activate the settings."
@@ -5292,11 +5299,11 @@ msgstr "Pressez OK pour activer les paramètres."
 
 #
 msgid "Press OK to collapse this host"
-msgstr ""
+msgstr "Pressez OK pour effondrer cet hôte"
 
 #
 msgid "Press OK to edit selected settings."
-msgstr ""
+msgstr "Presser OK pour éditer paramètres sélectionnés"
 
 #
 msgid "Press OK to edit the settings."
@@ -5304,40 +5311,39 @@ msgstr "Pressez OK pour éditer les paramètres."
 
 #
 msgid "Press OK to expand this host"
-msgstr ""
+msgstr "Pressez OK pour étendre cet hôte"
 
 #
 #, python-format
 msgid "Press OK to get further details for %s"
-msgstr ""
+msgstr "Pressez OK pour avoir des détails sur %s"
 
 #
 msgid "Press OK to mount this share!"
-msgstr ""
+msgstr "Pressez OK pour monter ce partage!"
 
 #
 msgid "Press OK to mount!"
-msgstr ""
+msgstr "Pressez OK pour monter!"
 
 #
 msgid "Press OK to save settings."
-msgstr ""
+msgstr "Pressez OK pour sauver les paramètres"
 
 #
 msgid "Press OK to scan"
 msgstr "Pressez OK pour analyser"
 
-#
 msgid "Press OK to select a Provider."
-msgstr ""
+msgstr "Presser OK pour sélectionner un opérateur."
 
 #
 msgid "Press OK to select."
-msgstr ""
+msgstr "Presser OK  pour sélectionner"
 
 #
 msgid "Press OK to select/deselect a CAId."
-msgstr ""
+msgstr "Presser OK pour sélectionner/désélectionner un CAId."
 
 #
 msgid "Press OK to start the scan"
@@ -5345,11 +5351,11 @@ msgstr "Pressez OK pour commencer l'analyse"
 
 #
 msgid "Press OK to toggle the selection."
-msgstr ""
+msgstr "Presser OK pour basculer le choix"
 
 #
 msgid "Press yellow to set this interface as default interface."
-msgstr ""
+msgstr "Presser JAUNE pour choisir l'interface comme interface standard."
 
 #
 msgid "Prev"
@@ -5357,21 +5363,21 @@ msgstr "Précédent"
 
 #
 msgid "Preview"
-msgstr ""
+msgstr "Prévue"
 
 #
 msgid "Preview AutoTimer"
-msgstr ""
+msgstr "Prévue ProgAuto"
 
 #
 msgid "Preview menu"
 msgstr "Menu prévue"
 
 msgid "Preview screenshots of running tv shows"
-msgstr ""
+msgstr "Prévue captures écrans d'émissions TV en cours"
 
 msgid "Preview screenshots of running tv shows."
-msgstr ""
+msgstr "Prévue captures écrans d'émissions TV en cours."
 
 #
 msgid "Primary DNS"
@@ -5379,11 +5385,11 @@ msgstr "DNS primaire"
 
 #
 msgid "Priority"
-msgstr ""
+msgstr "Priorité"
 
 #
 msgid "Process"
-msgstr ""
+msgstr "Processes"
 
 #
 msgid "Properties of current title"
@@ -5397,32 +5403,29 @@ msgstr "Services protégés"
 msgid "Protect setup"
 msgstr "Paramètres protection"
 
-#
 msgid "Provider"
-msgstr "Fournisseur"
+msgstr "Opérateur"
 
-#
 msgid "Provider to scan"
-msgstr "Fournisseur à analyser"
+msgstr "Opérateur à analyser"
 
-#
 msgid "Providers"
-msgstr "Fournisseurs"
+msgstr "Opérateurs"
 
 #
 msgid "Published"
-msgstr ""
+msgstr "Edité"
 
 #
 msgid "Python frontend for /tmp/mmi.socket"
-msgstr ""
+msgstr "\"Frontend\" Python pour /tmp/mmi.socket"
 
 msgid "Python frontend for /tmp/mmi.socket."
-msgstr ""
+msgstr "\"Frontend\" Python pour /tmp/mmi.socket."
 
 #
 msgid "Quick"
-msgstr ""
+msgstr "Rapide"
 
 #
 msgid "Quickzap"
@@ -5441,14 +5444,14 @@ msgid "RGB"
 msgstr "RGB"
 
 msgid "RSS viewer"
-msgstr ""
+msgstr "Visualisateur RSS"
 
 #
 msgid "Radio"
-msgstr ""
+msgstr "Radio"
 
 msgid "Ralink"
-msgstr ""
+msgstr "Ralink"
 
 #
 msgid "Ram Disk"
@@ -5456,23 +5459,22 @@ msgstr "Disque RAM"
 
 #
 msgid "Random"
-msgstr ""
+msgstr "Aléatoire"
 
 #
 msgid "Rating"
-msgstr ""
+msgstr "Classement"
 
 #
 msgid "Ratings: "
-msgstr ""
+msgstr "Classements: "
 
 #
 msgid "Really close without saving settings?"
 msgstr "Vraiment fermer sans sauver les paramètres?"
 
-#
 msgid "Really delete done timers?"
-msgstr "Enlever les programmations effectués ?"
+msgstr "Enlever les programmations effectués?"
 
 #
 msgid "Really exit the subservices quickzap?"
@@ -5480,7 +5482,7 @@ msgstr "Vraiment quitter sous services zaprapide?"
 
 #
 msgid "Really quit MyTube Player?"
-msgstr ""
+msgstr "Vraiment quitter lecteur Mytube?"
 
 #
 msgid "Really reboot now?"
@@ -5500,17 +5502,19 @@ msgstr "Reboot"
 
 #
 msgid "Recently featured"
-msgstr ""
+msgstr "Récemment montré"
 
 #
 msgid "Reception Settings"
 msgstr "Paramètres réception"
 
 msgid "Reconstruct .ap and .sc files"
-msgstr ""
+msgstr "Reconstruction fichiers .ap and .sc"
 
 msgid "Reconstruct missing or corrupt .ap and .sc files of recorded movies."
 msgstr ""
+"Reconstruction fichiers .ap et .sc manquants ou corrompus de films "
+"enregistrés."
 
 #
 msgid "Record"
@@ -5518,16 +5522,16 @@ msgstr "Enregistrer"
 
 #
 msgid "Record a maximum of x times"
-msgstr ""
+msgstr "Enregistrer un maximum de x fois"
 
 #
 msgid "Record on"
-msgstr ""
+msgstr "Enregistrer sur"
 
 #
 #, python-format
 msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Temps enregistrement limité par conflit de programmations %s"
 
 #
 msgid "Recorded files..."
@@ -5539,7 +5543,7 @@ msgstr "Enregistrement"
 
 #
 msgid "Recording paths"
-msgstr ""
+msgstr "Chemins pour enregistrer"
 
 #
 msgid "Recording(s) are in progress or coming up in few seconds!"
@@ -5548,14 +5552,14 @@ msgstr ""
 
 #
 msgid "Recordings"
-msgstr ""
+msgstr "Enregistrements"
 
 #
 msgid "Recordings always have priority"
 msgstr "Enregistrements toujours prioritaires"
 
 msgid "Reenter new PIN"
-msgstr ""
+msgstr "Re-saisir nouveau PIN"
 
 #
 msgid "Refresh Rate"
@@ -5567,11 +5571,11 @@ msgstr "Sélection vitesse rafraîchissement "
 
 #
 msgid "Related video entries."
-msgstr ""
+msgstr "Entrées visuelles relatives."
 
 #
 msgid "Relevance"
-msgstr ""
+msgstr "Pertinence"
 
 #
 msgid "Reload"
@@ -5579,28 +5583,27 @@ msgstr "Recharger"
 
 #
 msgid "Reload Black-/Whitelists"
-msgstr ""
+msgstr "Recharger Black-/Whitelists"
 
 msgid "Remember service PIN"
-msgstr ""
+msgstr "Enregistrer PIN service"
 
 msgid "Remember service PIN cancel"
-msgstr ""
+msgstr "Désenregistrer PIN service"
 
 msgid "Remote timer and remote TV player"
-msgstr ""
+msgstr "Programmation distante et lecteur TV distant"
 
 #
 msgid "Remove"
-msgstr ""
+msgstr "Retirer"
 
 #
 msgid "Remove Bookmark"
 msgstr "Retirer marque"
 
-#
 msgid "Remove Plugins"
-msgstr "Enlever extensions"
+msgstr "Enlever Plugins"
 
 #
 msgid "Remove a mark"
@@ -5612,11 +5615,11 @@ msgstr "Retirer le titre actuellement sélectionné"
 
 #
 msgid "Remove failed."
-msgstr ""
+msgstr "Retrait échoué!"
 
 #
 msgid "Remove finished."
-msgstr ""
+msgstr "Retrait terminé!"
 
 #
 msgid "Remove plugins"
@@ -5624,11 +5627,11 @@ msgstr "Enlever extensions"
 
 #
 msgid "Remove selected AutoTimer"
-msgstr ""
+msgstr "enlever ProgAuto sélectionnée"
 
 #
 msgid "Remove timer"
-msgstr ""
+msgstr "Retirer programmation"
 
 #
 msgid "Remove title"
@@ -5636,11 +5639,11 @@ msgstr "Retirer titre"
 
 #
 msgid "Removed successfully."
-msgstr ""
+msgstr "Retiré avec succès."
 
 #
 msgid "Removing"
-msgstr ""
+msgstr "Retrait en cours..."
 
 #
 #, python-format
@@ -5653,10 +5656,10 @@ msgstr "Renommer"
 
 #
 msgid "Rename crashlogs"
-msgstr ""
+msgstr "Renommer le crashlog"
 
 msgid "Rename your movies"
-msgstr ""
+msgstr "Renomer vos films"
 
 #
 msgid "Repeat"
@@ -5677,22 +5680,22 @@ msgid "Repeats"
 msgstr "Répétitions"
 
 msgid "Replace the minute input for the seek functions with a seekbar."
-msgstr ""
+msgstr "Remplacer l'entrée minute pour les fonctions seek par un seekbar"
 
 msgid "Replace the rewind  input with a seekbar"
-msgstr ""
+msgstr "Remplacer l'entrée retour par un seekbar"
 
 #
 msgid "Require description to be unique"
-msgstr ""
+msgstr "Exiger de la description d'être unique"
 
 #
 msgid "Required medium type:"
-msgstr ""
+msgstr "Type medium requis:"
 
 #
 msgid "Rescan"
-msgstr ""
+msgstr "Rescanner"
 
 #
 msgid "Reset"
@@ -5704,19 +5707,21 @@ msgstr "Réinitialiser et renuméroter les titres"
 
 #
 msgid "Reset count"
-msgstr ""
+msgstr "Réinitialiser compte"
 
 #
 msgid "Reset saved position"
-msgstr ""
+msgstr "Réinitialiser position sauvée"
 
 #
 msgid "Reset video enhancement settings to system defaults?"
-msgstr ""
+msgstr "Réinitialiser la configuration vidéo améliorée au système standards?"
 
 #
 msgid "Reset video enhancement settings to your last configuration?"
 msgstr ""
+"Réinitialiser la configuration vidéo améliorée à votre dernière "
+"configuration?"
 
 #
 msgid "Resolution"
@@ -5724,7 +5729,7 @@ msgstr "Résolution"
 
 #
 msgid "Response video entries."
-msgstr ""
+msgstr "Réponse entrées vidéo."
 
 #
 msgid "Restart"
@@ -5756,26 +5761,26 @@ msgstr "Restaurer"
 
 #
 msgid "Restore backups"
-msgstr ""
+msgstr "Restaurer sauvegardes"
 
 #
 msgid "Restore is running..."
-msgstr ""
+msgstr "Restauration en cours..."
 
 #
 msgid "Restore running"
-msgstr ""
+msgstr "Restauration en cours"
 
 #
 msgid "Restore system settings"
 msgstr "Restaurer paramètres système"
 
 msgid "Restore your Dreambox with a USB stick"
-msgstr ""
+msgstr "Restaurer votre Drembox avec clé USB"
 
 #
 msgid "Restrict \"after event\" to a certain timespan?"
-msgstr ""
+msgstr "Restreindre \"après émission\" à une certaine période?"
 
 #
 msgid "Resume from last position"
@@ -5784,7 +5789,7 @@ msgstr "Reprendre depuis la dernière position"
 #
 #, python-format
 msgid "Resume position at %s"
-msgstr ""
+msgstr "Reprendre position à %s"
 
 #
 #. TRANSLATORS: The string "Resuming playback" flashes for a moment
@@ -5831,7 +5836,7 @@ msgstr "tourne"
 
 #
 msgid "Russia"
-msgstr ""
+msgstr "Russie"
 
 #
 msgid "Russian"
@@ -5843,19 +5848,19 @@ msgstr "S-Vidéo"
 
 #
 msgid "SINGLE LAYER DVD"
-msgstr ""
+msgstr "SIMPLE COUCHE DVD"
 
 #
 msgid "SNR"
-msgstr ""
+msgstr "SNR"
 
 #
 msgid "SNR:"
-msgstr ""
+msgstr "SNR:"
 
 #
 msgid "SSID:"
-msgstr ""
+msgstr "SSID:"
 
 #
 msgid "Sat"
@@ -5875,10 +5880,11 @@ msgstr "Paramètres équipement satellite"
 
 #
 msgid "Satellite equipment"
-msgstr ""
+msgstr "Equipement satellite"
 
 msgid "SatelliteEquipmentControl allows you to fine-tune DiSEqC-settings"
 msgstr ""
+"SatelliteEquipmentControl permet de régler finement les paramètres DiSEqC"
 
 #
 msgid "Satellites"
@@ -5889,15 +5895,15 @@ msgid "Satfinder"
 msgstr "Pointeur satellites"
 
 msgid "Satfinder helps you to align your dish"
-msgstr ""
+msgstr "Satfinder vous aide à aligner votre parabole"
 
 #
 msgid "Sats"
-msgstr ""
+msgstr "Sats"
 
 #
 msgid "Saturation"
-msgstr ""
+msgstr "Saturation"
 
 #
 msgid "Saturday"
@@ -5913,23 +5919,23 @@ msgstr "Sauver liste lecture"
 
 #
 msgid "Save current delay to key"
-msgstr ""
+msgstr "Sauver retard actuel vers clé"
 
 #
 msgid "Save to key"
-msgstr ""
+msgstr "Sauver vers clé"
 
 #
 msgid "Save values and close plugin"
-msgstr ""
+msgstr "Sauver valeurs et fermer plugin"
 
 #
 msgid "Save values and close screen"
-msgstr ""
+msgstr "Sauver valeurs et fermer écran"
 
 #
 msgid "Scaler sharpness"
-msgstr ""
+msgstr "Niveau netteté"
 
 #
 msgid "Scaling Mode"
@@ -5937,7 +5943,7 @@ msgstr "Mode mise à l'échelle"
 
 #
 msgid "Scan "
-msgstr "Analyser"
+msgstr "Analyser "
 
 #
 msgid "Scan Files..."
@@ -5945,7 +5951,7 @@ msgstr "Parcourir fichiers..."
 
 #
 msgid "Scan NFS share"
-msgstr ""
+msgstr "Parcourir partage NFS"
 
 #
 msgid "Scan QAM128"
@@ -6032,19 +6038,21 @@ msgid "Scan band US SUPER"
 msgstr "Analyser band US SUPER"
 
 msgid "Scan devices for playable media files"
-msgstr ""
+msgstr "Analyser périphériques pour fichiers média jouables"
 
 #
 msgid "Scan range"
-msgstr ""
+msgstr "Scanner chaîne"
 
 msgid ""
 "Scan your network for wireless access points and connect to them using your "
 "selected wireless device.\n"
 msgstr ""
+"Analyser votre réseau pour points d'accès sans fil et se connecter en "
+"utilisant le périphérique sélectionné.\n"
 
 msgid "Scans default lamedbs sorted by satellite"
-msgstr ""
+msgstr "Analyser lamedbs standards triés par satellite"
 
 #
 msgid ""
@@ -6055,15 +6063,14 @@ msgstr ""
 
 #
 msgid "Science & Technology"
-msgstr ""
+msgstr "Science & Technologie"
 
-#
 msgid "Search Term(s)"
-msgstr ""
+msgstr "Terme(s) recherche"
 
 #
 msgid "Search category:"
-msgstr ""
+msgstr "Catégorie recherche:"
 
 #
 msgid "Search east"
@@ -6071,30 +6078,30 @@ msgstr "Rechercher à l'est"
 
 #
 msgid "Search for network shares"
-msgstr ""
+msgstr "Recherche des partages réseau"
 
 #
 msgid "Search for network shares..."
-msgstr ""
+msgstr "Recherche des partages réseau..."
 
 #
 msgid "Search region:"
-msgstr ""
+msgstr "Recherche région:"
 
 #
 msgid "Search restricted content:"
-msgstr ""
+msgstr "Recherche contenu restreinte:"
 
 #
 msgid "Search strictness"
-msgstr ""
+msgstr "Sévérité recherche"
 
 msgid "Search through the EPG"
-msgstr ""
+msgstr "Recherche dans EPG"
 
 #
 msgid "Search type"
-msgstr ""
+msgstr "Recherche type"
 
 #
 msgid "Search west"
@@ -6102,15 +6109,15 @@ msgstr "Rechercher à l'ouest"
 
 #
 msgid "Searching for available updates. Please wait..."
-msgstr ""
+msgstr "Recherche des mises à jour disponibles. Patienter..."
 
 #
 msgid "Searching for new installed or removed packages. Please wait..."
-msgstr ""
+msgstr "Recherche des nouveaux paquets installés ou retirés. Patienter..."
 
 #
 msgid "Searching your network. Please wait..."
-msgstr ""
+msgstr "Recherche sur votre réseau. Veuillez patienter..."
 
 #
 msgid "Secondary DNS"
@@ -6119,10 +6126,10 @@ msgstr "DNS secondaire"
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 160
 msgid "Security service not running."
-msgstr ""
+msgstr "Service sécurité ne tourne pas."
 
 msgid "See service-epg (and PiP) from other channels in an infobar."
-msgstr ""
+msgstr "Voir service-epg (et PiP) depuis d'autres chaînes dans l'infobar."
 
 #
 msgid "Seek"
@@ -6130,13 +6137,16 @@ msgstr "Sauter"
 
 #
 msgid "Select"
-msgstr ""
+msgstr "Sélectionner"
 
 #
 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 ""
+"Sélectionner \"correspondance exacte\" pour imposer \"Titre correspndant\" "
+"pour correspondre axactement ou \"Correspondance partielle\" si vous voulez "
+"seulement rechercher une partie du titre d'émission."
 
 #
 msgid "Select HDD"
@@ -6156,7 +6166,7 @@ msgstr "Choisir un film"
 
 #
 msgid "Select a timer to import"
-msgstr ""
+msgstr "Sélectionner une programmation à importer"
 
 #
 msgid "Select audio track"
@@ -6164,7 +6174,7 @@ msgstr "Choisir la piste audio"
 
 #
 msgid "Select bouquet to record on"
-msgstr ""
+msgstr "Choisir un bouquet pour l'enregistrement"
 
 #
 msgid "Select channel to record from"
@@ -6172,39 +6182,37 @@ msgstr "Choisir la chaîne à enregistrer"
 
 #
 msgid "Select channel to record on"
-msgstr ""
+msgstr "choisir une chaîne pour l'enregistrement"
 
 msgid "Select desired image from feed list"
-msgstr ""
+msgstr "Choisir l'image désirée depuis liste feed"
 
 msgid "Select files for backup."
-msgstr ""
+msgstr "Choisir fichiers pour la sauvegarde."
 
 #
 msgid "Select files/folders to backup"
-msgstr ""
+msgstr "Choisir fichiers/dossiers pour sauvegarde"
 
 msgid "Select input device"
-msgstr ""
+msgstr "Choisir périphérique entrée"
 
 msgid "Select input device."
-msgstr ""
+msgstr "Choisir périphérique entrée."
 
 #
 msgid "Select interface"
 msgstr "Sélectionner l'interface"
 
-#
 msgid "Select new feed to view."
-msgstr ""
+msgstr "Choisir nouvelle feed à visualiser."
 
 #
 msgid "Select package"
-msgstr ""
+msgstr "Choisir un paquet"
 
-#
 msgid "Select provider to add..."
-msgstr ""
+msgstr "Choisir opérateur à ajouter..."
 
 #
 msgid "Select refresh rate"
@@ -6212,28 +6220,28 @@ msgstr "Choisir vitesse rafraîchissement"
 
 #
 msgid "Select service to add..."
-msgstr ""
+msgstr "Choisir service à ajouter..."
 
 #
 #, python-format
 msgid "Select the key you want to set to %i ms"
-msgstr ""
+msgstr "Choisir touche à régler à %i ms"
 
 #
 msgid "Select the location to save the recording to."
-msgstr ""
+msgstr "Sélectionner l'endroit ou sauver l'enregistrement."
 
 #
 msgid "Select type of Filter"
-msgstr ""
+msgstr "Choisir le type de filtre"
 
 #
 msgid "Select upgrade source to edit."
-msgstr ""
+msgstr "Choisissez la source de mise à niveau pour éditer."
 
 #
 msgid "Select video input with up/down buttons"
-msgstr ""
+msgstr "Choisir l'entrée vidéo avec touches haut/bas"
 
 #
 msgid "Select video mode"
@@ -6241,7 +6249,7 @@ msgstr "Choisir le mode vidéo"
 
 #
 msgid "Select whether or not you want to enforce case correctness."
-msgstr ""
+msgstr "Choisir si vous voulez imposer l'exactitude de cas."
 
 #
 msgid "Select wireless network"
@@ -6249,7 +6257,7 @@ msgstr "séectionner l'interface sans fil"
 
 #
 msgid "Select your choice."
-msgstr ""
+msgstr "Sélectionner votre choix"
 
 #
 msgid "Send DiSEqC"
@@ -6269,15 +6277,15 @@ msgstr "Répéter la séquence"
 
 #
 msgid "Serbian"
-msgstr ""
+msgstr "Serbe"
 
 #
 msgid "Server IP"
-msgstr ""
+msgstr "IP Serveur"
 
 #
 msgid "Server share"
-msgstr ""
+msgstr "Serveur partage"
 
 #
 msgid "Service"
@@ -6293,7 +6301,7 @@ msgstr "Recherche des services"
 
 #
 msgid "Service delay"
-msgstr ""
+msgstr "Délai service"
 
 #
 msgid "Service has been added to the favourites."
@@ -6340,24 +6348,22 @@ msgid "Services"
 msgstr "Services"
 
 msgid "Set Bitstream/PCM audio delays"
-msgstr ""
+msgstr "Régler retards audio Bitstream/PCM"
 
 #
 msgid "Set End Time"
-msgstr ""
+msgstr "Régler heure de fin"
 
 #
 msgid "Set Voltage and 22KHz"
 msgstr "Utiliser Voltage et 22KHz"
 
-#
 msgid "Set available internal memory threshold for the warning."
-msgstr ""
+msgstr "Paramétrer seuil mémoire disponible avant l'avertissement"
 
-#
 #, python-format
 msgid "Set delay to %i ms (can be set)"
-msgstr ""
+msgstr "Paramétrer retard à %i ms (peut-être réglé)"
 
 #
 msgid "Set interface as default Interface"
@@ -6369,26 +6375,25 @@ msgstr "Fixer les limites"
 
 #
 msgid "Set maximum duration"
-msgstr ""
+msgstr "Régler durée maximum"
 
 #
 msgid "Set this NO to disable this AutoTimer."
-msgstr ""
+msgstr "Régler ceci à non pour désactiver ProgAuto"
 
 msgid "Sets your Dreambox into Deep-Standby"
-msgstr ""
+msgstr "Passer votre Dreambox en mode veille profonde"
 
 #
 msgid "Setting key canceled"
-msgstr ""
+msgstr "Paramètre touche abandonné"
 
 #
 msgid "Settings"
 msgstr "Paramètres"
 
-#
 msgid "Setup"
-msgstr "Paramètrer"
+msgstr "Paramétrer"
 
 #
 msgid "Setup Mode"
@@ -6396,7 +6401,7 @@ msgstr "Mode configuration"
 
 #
 msgid "Setup for the Audio Sync Plugin"
-msgstr ""
+msgstr "Paramètres pour le Plugin Audio Sync"
 
 #
 #, python-format
@@ -6404,30 +6409,34 @@ msgid ""
 "Shall the USB stick wizard proceed and program the image file %s into flash "
 "memory?"
 msgstr ""
+"L'assistant clé USB doit-il procéder et programmer le dossier d'image %s "
+"dans la mémoire Flash?"
 
 #
 msgid "Sharpness"
-msgstr ""
+msgstr "Netteté"
 
 #
 msgid "Short Movies"
-msgstr ""
+msgstr "Courts métrages"
 
 msgid "Short filenames"
-msgstr ""
+msgstr "Nom fichiers courts"
 
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
-msgstr ""
+msgstr "La ProgAuto doit-elle est restreinte à une période?"
 
 #
 msgid "Should this AutoTimer only match up to a certain event duration?"
-msgstr ""
+msgstr "La ProgAuto doit-elle correspondre à une certaine durée d'émission?"
 
 #
 msgid ""
 "Should timers created by this AutoTimer be recorded to a custom location?"
 msgstr ""
+"Les programmations créées par cette ProgAuto doivent-elles être enregistrées "
+"dans un emplacement personnel?"
 
 #
 msgid "Show Info"
@@ -6435,7 +6444,7 @@ msgstr "Montrer infos"
 
 #
 msgid "Show Message when Recording starts"
-msgstr ""
+msgstr "Montrer message en démarrant l'enregistrement"
 
 #
 msgid "Show WLAN Status"
@@ -6447,19 +6456,18 @@ msgstr "Montrer clignotement horloge en enregistrement"
 
 #
 msgid "Show event-progress in channel selection"
-msgstr ""
+msgstr "Montrer progression-événement dans sélecteur chaînes"
 
 #
 msgid "Show in extension menu"
-msgstr ""
+msgstr "Montrer dans le menu extension"
 
 #
 msgid "Show infobar on channel change"
 msgstr "Montrer infobar en changeant de chaîne"
 
-#
 msgid "Show infobar on event change"
-msgstr "Montrer infobar en changeant d'événement"
+msgstr "Montrer infobar en changeant d'émission"
 
 #
 msgid "Show infobar on skip forward/backward"
@@ -6469,7 +6477,6 @@ msgstr "Montrer infobar sur saut avant/arrière"
 msgid "Show positioner movement"
 msgstr "Montrer mouvements positionneur"
 
-#
 msgid "Show services beginning with"
 msgstr "Montrer services commençant par"
 
@@ -6482,24 +6489,26 @@ msgid "Show the tv player..."
 msgstr "afficher l'image TV..."
 
 msgid "Show webcam pictures on your TV Screen"
-msgstr ""
+msgstr "Montrer images webcam sur votre écran TV"
 
 msgid ""
 "Shows a list containing the zapping-history and allows user to zap to the "
 "entries or to modify them."
 msgstr ""
+"Montrer une liste contenant l'historique zapping et permettre à "
+"l'utilisateur de zapper vers les entrées ou les modifier."
 
 msgid "Shows a list of recent zap entries"
-msgstr ""
+msgstr "Afficher une liste des entrées zap récente"
 
 msgid "Shows average bitrate of video and audio"
-msgstr ""
+msgstr "Montrer débit binaire moyen vidéo et audio"
 
 msgid "Shows statistics of watched services"
-msgstr ""
+msgstr "Afficher les statistiques des services regardés"
 
 msgid "Shows the clock permanently on the screen"
-msgstr ""
+msgstr "Afficher l'horloge permanente sur l'écran"
 
 #
 msgid "Shows the state of your wireless LAN connection.\n"
@@ -6507,7 +6516,7 @@ msgstr "Montrer l'état de votre connection LAN sans fil.\n"
 
 #
 msgid "Shutdown"
-msgstr ""
+msgstr "Eteindre"
 
 #
 msgid "Shutdown Dreambox after"
@@ -6519,29 +6528,28 @@ msgstr "Force signal:"
 
 #
 msgid "Signal: "
-msgstr ""
+msgstr "Signal: "
 
 #
 msgid "Similar"
 msgstr "Similaire"
 
-#
 msgid "Similar broadcasts:"
-msgstr "Émissions semblables:"
+msgstr "Emissions semblables:"
 
 #
 msgid "Simple"
-msgstr ""
+msgstr "Simple"
 
 msgid "Simple IRC GroupChat client for e2 #dm8000-vip channel"
-msgstr ""
+msgstr "Simple IRC GroupChat client pour la chaine e2 #dm8000-vip"
 
 #
 msgid "Simple titleset (compatibility for legacy players)"
 msgstr "Jeu titre simple (compatibilité descendante lecteurs)"
 
 msgid "SimpleRSS allows reading RSS newsfeeds on your Dreambox."
-msgstr ""
+msgstr "SimpleRSS permet de lire nouvelles feeds RSS sur votre Dreambox"
 
 #
 msgid "Single"
@@ -6565,14 +6573,14 @@ msgstr "Pas unique (GOP)"
 
 #
 msgid "Skin"
-msgstr ""
+msgstr "Thème"
 
 msgid "SkinSelector shows a menu with selectable skins"
-msgstr ""
+msgstr "SkinSelctor montre un menu avec des thèmes disponibles"
 
 #
 msgid "Skins"
-msgstr ""
+msgstr "Thèmes"
 
 #
 msgid "Sleep Timer"
@@ -6589,15 +6597,15 @@ msgstr "Intervalle diaporama (sec.)"
 #
 #, python-format
 msgid "Slot %d"
-msgstr ""
+msgstr "Slot %d"
 
 #
 msgid "Slovakian"
-msgstr ""
+msgstr "Slovaque"
 
 #
 msgid "Slovenian"
-msgstr ""
+msgstr "Slovène"
 
 #
 msgid "Slow"
@@ -6609,14 +6617,14 @@ msgstr "Vitesses du ralenti"
 
 #
 msgid "Software"
-msgstr ""
+msgstr "Logiciel"
 
 #
 msgid "Software management"
-msgstr ""
+msgstr "Gestionnaire logiciel"
 
 msgid "Software manager setup"
-msgstr ""
+msgstr "Paramètres gestionnaire logiciel"
 
 #
 msgid "Software restore"
@@ -6627,36 +6635,37 @@ msgid "Software update"
 msgstr "Mise à jour logiciel"
 
 msgid "SoftwareManager manages your Dreambox software"
-msgstr ""
+msgstr "Le gestionnaire logiciel gère votre logiciel Dreambox"
 
 msgid "Softwaremanager information"
-msgstr ""
+msgstr "Informations gestionnaire logiciel"
 
-#
 msgid "Some plugins are not available:\n"
-msgstr "Des extensions ne sont pas disponible:\n"
+msgstr "Des plugins ne sont pas disponible:\n"
 
 #
 msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Désolé, MédiaScanner non installé!"
 
 #
 msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Désolé pas de sauvegardes trouvées!"
 
 #
 msgid ""
 "Sorry your backup destination is not writeable.\n"
 "Please choose an other one."
 msgstr ""
+"Désolé, emplacement de sauvegarde non inscriptible!\n"
+"Veuillez en choisir un autre."
 
 #
 msgid "Sorry, no Details available!"
-msgstr ""
+msgstr "Désolé, aucun détail disponible!"
 
 #
 msgid "Sorry, video is not available!"
-msgstr ""
+msgstr "Désolé, la vidéo n'est pas disponible!"
 
 #
 msgid ""
@@ -6664,6 +6673,9 @@ msgid ""
 "\n"
 "Please choose another one."
 msgstr ""
+"Désolé, l'emplacement de sauvegarde n'existe pas\n"
+"\n"
+"Veuillez en choisir un autre."
 
 #
 #. TRANSLATORS: This must fit into the header button in the EPG-List
@@ -6672,7 +6684,7 @@ msgstr "Tri A-Z"
 
 #
 msgid "Sort AutoTimer"
-msgstr ""
+msgstr "Trier ProgAuto"
 
 #
 #. TRANSLATORS: This must fit into the header button in the EPG-List
@@ -6693,11 +6705,11 @@ msgstr "Sud"
 
 #
 msgid "South Korea"
-msgstr ""
+msgstr "Corée du Sud"
 
 #
 msgid "Spain"
-msgstr ""
+msgstr "Espagne"
 
 #
 msgid "Spanish"
@@ -6705,11 +6717,11 @@ msgstr "Espagnol"
 
 #
 msgid "Split preview mode"
-msgstr ""
+msgstr "Mode prévue séparée"
 
 #
 msgid "Sports"
-msgstr ""
+msgstr "Sports"
 
 #
 msgid "Standby"
@@ -6722,16 +6734,16 @@ msgstr "Veille / Redémarrage"
 #
 #, python-format
 msgid "Standby Fan %d PWM"
-msgstr ""
+msgstr "PWM Fan en veille %d"
 
 #
 #, python-format
 msgid "Standby Fan %d Voltage"
-msgstr ""
+msgstr "Voltage Fan en veille %d"
 
 #
 msgid "Start Webinterface"
-msgstr ""
+msgstr "Démarrer interface Web"
 
 #
 msgid "Start from the beginning"
@@ -6747,7 +6759,7 @@ msgstr "Lancer le test"
 
 #
 msgid "Start with following feed:"
-msgstr ""
+msgstr "Démarrer avec feed suivante:"
 
 #
 msgid "StartTime"
@@ -6757,12 +6769,11 @@ msgstr "Départ"
 msgid "Starting on"
 msgstr "Démarre sur"
 
-#
 msgid "Std. Feeds"
-msgstr ""
+msgstr "Feeds Std."
 
 msgid "Step by step network configuration"
-msgstr ""
+msgstr "Configuration pas à pas du réseau"
 
 #
 msgid "Step east"
@@ -6770,17 +6781,17 @@ msgstr "Un pas vers l'Est"
 
 #
 msgid "Step in ms for arrow keys"
-msgstr ""
+msgstr "Pas en ms pour touches flèche"
 
 #
 #, python-format
 msgid "Step in ms for key %i"
-msgstr ""
+msgstr "Pas en ms pour touches %i"
 
 #
 #, python-format
 msgid "Step in ms for keys '%s'"
-msgstr ""
+msgstr "Pas en ms pour touches '%s'"
 
 #
 msgid "Step west"
@@ -6812,11 +6823,11 @@ msgstr "Stopper le test"
 
 #
 msgid "Stop testing plane after # failed transponders"
-msgstr ""
+msgstr "Stopper le test à partir # échec transpondeurs"
 
 #
 msgid "Stop testing plane after # successful transponders"
-msgstr ""
+msgstr "Stopper le test à partir # succès transpondeurs"
 
 #
 msgid "Store position"
@@ -6827,10 +6838,10 @@ msgid "Stored position"
 msgstr "Position enregistrée"
 
 msgid "Stream podcasts"
-msgstr ""
+msgstr "Flux podcasts"
 
 msgid "Streaming modules for the orf.at iptv web page."
-msgstr ""
+msgstr "Modules flux pour la page web orf.at iptv."
 
 #
 msgid "Subservice list..."
@@ -6862,7 +6873,7 @@ msgstr "Inverser fenêtres services"
 
 #
 msgid "Sweden"
-msgstr ""
+msgstr "Suède"
 
 #
 msgid "Swedish"
@@ -6878,29 +6889,24 @@ msgstr "basculer vers sous-service précédent"
 
 #
 msgid "Switchable tuner types:"
-msgstr ""
+msgstr "Types de tuner permutables:"
 
 #
 msgid "Symbol Rate"
 msgstr "Fréquence symbole"
 
-#
 msgid "Symbolrate"
-msgstr "FréquenceSymbole"
+msgstr "Fréquence Symbole"
 
 #
 msgid "System"
 msgstr "Système"
 
-#
 #. TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
 msgid "TRANSLATOR_INFO"
 msgstr ""
-"Traduction française\n"
-"Dreambox - Enigma2 image\n"
-"mimi74\n"
-"Support: jrs.concept@orange.fr.\n"
-"- 25 novembre 2008 -"
+"Traduction françaiseDreambox - Enigma2 imagemimi74Support: jrs."
+"concept@orange.fr.- 14 décembre 2010 -"
 
 #
 msgid "TS file is too large for ISO9660 level 1!"
@@ -6928,19 +6934,19 @@ msgstr "Etich."
 
 #
 msgid "Tags the Timer/Recording will have."
-msgstr ""
+msgstr "Pointeur la Programmation/Enregistrement aura."
 
 #
 msgid "Tags: "
-msgstr ""
+msgstr "Pointeurs: "
 
 #
 msgid "Taiwan"
-msgstr ""
+msgstr "Taiwan"
 
 #
 msgid "Temperature and Fan control"
-msgstr ""
+msgstr "Contrôle Fan et Température"
 
 #
 msgid "Terrestrial"
@@ -6952,16 +6958,15 @@ msgstr "Opérateur terrestre"
 
 #
 msgid "Test DiSEqC settings"
-msgstr ""
+msgstr "Test configuration DiSEqC"
 
 #
 msgid "Test Type"
-msgstr ""
+msgstr "Type test"
 
-#
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 80
 msgid "Test again"
-msgstr ""
+msgstr "Tester encore"
 
 #
 msgid "Test mode"
@@ -6972,11 +6977,11 @@ msgid "Test the network configuration of your Dreambox.\n"
 msgstr "Tester la configuration réseau de votre Dreambox\n"
 
 msgid "Test your DiSEqC equipment"
-msgstr ""
+msgstr "Tester votre équipement DiSEqC"
 
 #
 msgid "Test-Messagebox?"
-msgstr ""
+msgstr "Test-Messagebox?"
 
 #
 msgid ""
@@ -7001,12 +7006,18 @@ msgid ""
 "List.\n"
 "Please press OK to continue."
 msgstr ""
+"Merci d'utiliser l'assistant. Votre nouveau ProgAuto a été ajouté à la "
+"liste.\n"
+"Veuillez presser OK pour continuer."
 
 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 ""
+"L'assistant nettoyage vous informe quand la mémoire libre interne de votre "
+"dreambox chute au-dessous d'un seuil défini. Vous pouvez employer cet "
+"assistant pour enlever quelques plugins."
 
 #
 msgid ""
@@ -7026,55 +7037,79 @@ msgid ""
 "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 ""
+"Le plugin économiseur d'énergie Elektro met la boîte de veille au mode "
+"veille profonde à certains moments.\n"
+"Ceci se produit seulement si la boîte est en veille et aucun enregistrement "
+"n'est lancé ou prévu dans les 20 minutes suivantes.\n"
+"La boîte se réveille automatiquement pour des enregistrements ou à la fin du "
+"temps de veille. Vous n'aurez pas à attendre jusqu'à ce qu'elle soit "
+"rallumée."
 
 msgid ""
 "The Hotplug plugin notifies your system of newly added or removed devices."
 msgstr ""
+"Le plugin Hotplug notifie votre système des périphériques ajoutés ou retirés "
+"dernièrement."
 
 #
 msgid ""
 "The NetworkWizard extension is not installed!\n"
 "Please install it."
 msgstr ""
+"L'extension Assistant Réseau n'est pas installée!\n"
+"Veuillez l'installer."
 
 msgid "The PIN code has been changed successfully."
-msgstr ""
+msgstr "Le code PIN a été changé avec succès."
 
 msgid "The PIN codes you entered are different."
-msgstr ""
+msgstr "Les codes PIN saisis sont différents."
 
 msgid ""
 "The PicturePlayer displays your photos on the TV.\n"
 "You can view them as thumbnails or slideshow."
 msgstr ""
+"Le PicturePlayer affiche vos photos à la TV.\n"
+"Vous pouvez les regarder comme vignettes ou présentation."
 
 msgid ""
 "The Satfinder plugin helps you to align your dish.\n"
 "It shows you informations about signal rate and errors."
 msgstr ""
+"Le plugin Satfinder vous aide à aligner votre parapole.\n"
+"Il vous montre des informations sur le taux et les erreurs de signal."
 
 msgid ""
 "The SkinSelector shows a menu with selectable skins.\n"
 "It's now easy to change the look and feel of your Dreambox."
 msgstr ""
+"Le SkinSelector montre un menu avec les thèmes disponibles.\n"
+"Il est maintenant facile de changer l'apparence de votre Dreambox."
 
 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 ""
+"Le SoftwareManager gère votre logiciel Dreambox.\n"
+"Il est facile de mettre à jour le logiciel de votre récepteur ou retirer des "
+"plugins, ou même sauvegarder ou restaurer vos paramètres système."
 
 #
 msgid ""
 "The Softwaremanagement extension is not installed!\n"
 "Please install it."
 msgstr ""
+"L'extension Gestionnaire Logiciel n'est pas installée!\n"
+"Veuillez l'installer."
 
 #
 msgid ""
 "The Timer will not be added to the List.\n"
 "Please press OK to close this Wizard."
 msgstr ""
+"La programmation ne sera pas ajoutée à la liste.\n"
+"Veuillez presser OK pour fermer cet assistant."
 
 #
 msgid ""
@@ -7082,27 +7117,35 @@ msgid ""
 "timespan is specified an event will only match this AutoTimer if it lies "
 "inside of this timespan."
 msgstr ""
+"La période d'une ProgAuto est le premier attribut 'advancé'. si une période "
+"est spécifiée, un événement correspondra seulement à la ProgAuto si il se "
+"trouve dans cette période."
 
 msgid ""
 "The USB stick was prepared to be bootable.\n"
 "Now you can download an NFI image file!"
 msgstr ""
+"La clé USB à été préparé pour être bootable.\n"
+"Maintenant vous pouvez télécharger un fichier image NFI!"
 
 msgid ""
 "The VideoEnhancement plugin provides advanced video enhancement settings."
-msgstr ""
+msgstr "Le plugin VideoEnhancement plugin fourni des paramètres avancés vidéo."
 
 msgid ""
 "The VideoTune helps fine-tuning your tv display.\n"
 "You can control brightness and contrast of your tv."
 msgstr ""
+"Le VideoTune aide au réglage fin l'affichage TV.\n"
+"Vous pouvez contrôler la luminosité et le contraste de votre TV."
 
 msgid "The Videomode plugin provides advanced video mode settings."
-msgstr ""
+msgstr "Le plugin Videomode fourni un mode avancé des paramètres vidéo."
 
 msgid ""
 "The WirelessLan plugin helps you configuring your WLAN network interface."
 msgstr ""
+"Le plugin WirelessLan vous aide à configurer votre interface réseau sans fil."
 
 #
 msgid "The backup failed. Please choose a different backup location."
@@ -7112,6 +7155,8 @@ msgstr "La sauvegarde a échoué. Veuillez choisir un autre emplacement."
 msgid ""
 "The counter can automatically be reset to the limit at certain intervals."
 msgstr ""
+"Le compteur peut automatiquement être remis à zéro à la limite de certains "
+"intervalles."
 
 #
 #, python-format
@@ -7119,12 +7164,16 @@ msgid ""
 "The directory %s is not writable.\n"
 "Make sure you select a writable directory instead."
 msgstr ""
+"Le répertoire %s n'est pas inscriptible.\n"
+"Vérifier d'avoir choisi un répertoire inscriptible à la place."
 
 #
 msgid ""
 "The editor to be used for new AutoTimers. This can either be the Wizard or "
 "the classic editor."
 msgstr ""
+"L'éditeur peut-être utilisé pour des nouveau ProgAutos. Ceci peut être "
+"l'assistant  ou l'éditeur classique."
 
 #
 #, python-format
@@ -7143,7 +7192,7 @@ msgstr ""
 
 #
 msgid "The following files were found..."
-msgstr ""
+msgstr "Les fichiers suivant ont été trouvés..."
 
 #
 msgid ""
@@ -7170,10 +7219,10 @@ msgstr ""
 
 #
 msgid "The match attribute is mandatory."
-msgstr ""
+msgstr "L'attribut correspondant est obligatoire."
 
 msgid "The md5sum validation failed, the file may be corrupted!"
-msgstr ""
+msgstr "La validation md5sum a échouée, the file doit-être corrompu!"
 
 #
 msgid "The package doesn't contain anything."
@@ -7181,7 +7230,7 @@ msgstr "Le paquet ne contient rien."
 
 #
 msgid "The package:"
-msgstr ""
+msgstr "Le paquet:"
 
 #
 #, python-format
@@ -7195,10 +7244,10 @@ msgstr "Le code pin saisi est mauvais"
 #
 #, python-format
 msgid "The results have been written to %s."
-msgstr ""
+msgstr "Les résultats ont été écrit sur %s."
 
 msgid "The skin is in KingSize-definition 1024x576"
-msgstr ""
+msgstr "Le thème est en grande définition 1024x576"
 
 #
 msgid "The sleep timer has been activated."
@@ -7229,18 +7278,19 @@ msgstr ""
 "L'extension LAN sans fil n'est pas installée!\n"
 "Veuillez l'installer."
 
-#
 msgid ""
 "The wizard can backup your current settings. Do you want to do a backup now?"
 msgstr ""
 "L'assistant peut sauvegarder vos paramètres actuels. Voulez-vous sauvegarder "
-"maintenant ?"
+"maintenant?"
 
 #, python-format
 msgid ""
 "The wizard found a configuration backup. Do you want to restore your old "
 "settings from %s?"
 msgstr ""
+"L'assistant à trouvé une configuration sauvegarde. Voulez-vous restaurer "
+"vosanciens paramètres depuis %s?"
 
 #
 msgid "The wizard is finished now."
@@ -7248,11 +7298,11 @@ msgstr "L'assistant est terminé."
 
 #
 msgid "There are at least "
-msgstr ""
+msgstr "Il y a au moins "
 
 #
 msgid "There are currently no outstanding actions."
-msgstr ""
+msgstr "Il n'y a actuellement aucune action marquante."
 
 #
 msgid "There are no default services lists in your image."
@@ -7264,11 +7314,11 @@ msgstr "Il n'y a pas de paramètres standards dans votre Image."
 
 #
 msgid "There are no updates available."
-msgstr ""
+msgstr "Il n'y a pas de mise à jour disponible"
 
 #
 msgid "There are now "
-msgstr ""
+msgstr "Il y a maintenant "
 
 #
 msgid ""
@@ -7280,15 +7330,15 @@ msgstr ""
 
 #
 msgid "There was an error downloading the packetlist. Please try again."
-msgstr ""
+msgstr "Erreur de téléchargement de la liste paquet! Veuillez réessayer."
 
 #
 msgid "There was an error getting the feed entries. Please try again."
-msgstr ""
+msgstr "Erreur d'obtention des entrées des feed. Veuillez réessayer."
 
 #
 msgid "There was an error. The package:"
-msgstr ""
+msgstr "Il y a eu une erreur! Le paquet:"
 
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 130
@@ -7296,6 +7346,8 @@ msgid ""
 "There's a certificate update available for your dreambox. Would you like to "
 "apply this update now?"
 msgstr ""
+"Il y a une mise à jour de certificat de disponible pour votre dreambox. "
+"Souhaitez vous appliquer cette mise à jour maintenant?"
 
 #
 msgid ""
@@ -7308,21 +7360,23 @@ msgstr ""
 #
 #, python-format
 msgid "This Dreambox can't decode %s streams!"
-msgstr ""
+msgstr "Cette Dreambox ne peut décoder les flux %s!"
 
 #
 msgid "This Month"
-msgstr ""
+msgstr "Ce mois"
 
 #
 msgid "This Week"
-msgstr ""
+msgstr "Cette semaine"
 
 #
 msgid ""
 "This is a name you can give the AutoTimer. It will be shown in the Overview "
 "and the Preview."
 msgstr ""
+"C'est un nom que vous pouvez donner à la ProgAuto. Il sera affiché dans la "
+"vue d'ensemble et la prévue."
 
 #
 msgid "This is step number 2."
@@ -7333,10 +7387,12 @@ msgid ""
 "This is the delay in hours that the AutoTimer will wait after a search to "
 "search the EPG again."
 msgstr ""
+"C'est le délai en heures que la ProgAuto attendra après une recherche pour "
+"chercher de nouveau l'EPG."
 
 #
 msgid "This is the help screen. Feed me with something to display."
-msgstr ""
+msgstr "Ceci est menu d'aide. Alimentez-moi avec quelque chose montrer."
 
 #
 msgid ""
@@ -7344,6 +7400,9 @@ msgid ""
 "german umlauts can be tricky as you have to know the encoding the channel "
 "uses."
 msgstr ""
+"C'est ce qui sera cherché dans les titres d'émission. Notez que la recherche "
+"par exemple des trémas allemands peut-être rusé comme vous devez savoir la "
+"chaîne d'encodage utilisée."
 
 msgid ""
 "This plugin creates a USB stick which can be used to update the firmware of "
@@ -7354,33 +7413,43 @@ msgid ""
 "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 ""
+"Ce plugin créé une clé USB qui peut-être utilisé pour mettre à jour le "
+"logiciel de votre Dreambox sans l'aide d'une connection réseau ou sans fil.\n"
+"Premièrementt, une clé USB doit être préparée pour devenir bootable.\n"
+"Dans le pas suivant, un fichier image NFI peut-être téléchargé depuis le "
+"serveur MAJ et sauvé sur la clé USB.\n"
+"si vous avez déjà préparé une clé USB bootable, veuillez l'insérer "
+"maintenant. Autrement insérez une clé USB avec une taille mini de 64 MB!"
 
 #
 msgid "This plugin is installed."
-msgstr ""
+msgstr "Ce plugin est installée."
 
 #
 msgid "This plugin is not installed."
-msgstr ""
+msgstr "Ce plugin n'est pas installée."
 
 #
 msgid "This plugin will be installed."
-msgstr ""
+msgstr "Ce plugin sera installée."
 
 #
 msgid "This plugin will be removed."
-msgstr ""
+msgstr "Ce plugin sera retirée."
 
 #
 msgid "This setting controls the behavior when a timer matches a found event."
 msgstr ""
+"Ces paramètres contrôle le comportement quand une programmation correspond à "
+"une émission."
 
 msgid ""
 "This system tool is internally used to program the hardware with firmware "
 "updates."
 msgstr ""
+"Cet outil système est utilisé en interne pour programmer le Hardware avec la "
+"MAJ logiciel."
 
-#
 msgid ""
 "This test checks for configured Nameservers.\n"
 "If you get a \"unconfirmed\" message:\n"
@@ -7394,7 +7463,6 @@ msgstr ""
 "- Si vous avez configuré manuellement les noms serveurs, veuillez vérifier "
 "la configuration des \"DNS\" "
 
-#
 msgid ""
 "This test checks whether a network cable is connected to your LAN-Adapter.\n"
 "If you get a \"disconnected\" message:\n"
@@ -7407,7 +7475,6 @@ msgstr ""
 "- Vérifiez qu'un câble est bien connecté\n"
 "- Vérifiez que le câble n'est pas détérioré"
 
-#
 msgid ""
 "This test checks whether a valid IP Address is found for your LAN Adapter.\n"
 "If you get a \"unconfirmed\" message:\n"
@@ -7450,6 +7517,9 @@ msgid ""
 "event that conflicts with an existing timer it will not ignore this event "
 "but add it disabled."
 msgstr ""
+"Ceci bascule le comportement conflits programmations. Si une ProgAuto "
+"correspondante avec une émission en conflit avec une programmation "
+"existante, l'émission ne sera pas ignorée mais ajoutée comme désactivée."
 
 #
 msgid "Three"
@@ -7477,11 +7547,11 @@ msgstr "Heure"
 
 #
 msgid "Time in minutes to append to recording."
-msgstr ""
+msgstr "Temps en minutes à apposer à l'enregistrement."
 
 #
 msgid "Time in minutes to prepend to recording."
-msgstr ""
+msgstr "Temps en minutes à ajouter au début de l'enregistrement."
 
 #
 msgid "Time/Date Input"
@@ -7491,9 +7561,8 @@ msgstr "Entrée Date/Heure"
 msgid "Timer"
 msgstr "Programmation"
 
-#
 msgid "Timer Edit"
-msgstr "Édition des programmations"
+msgstr "Edition des programmations"
 
 #
 msgid "Timer Editor"
@@ -7503,9 +7572,8 @@ msgstr "Editeur programmations"
 msgid "Timer Type"
 msgstr "Type programmation"
 
-#
 msgid "Timer entry"
-msgstr "Programmation d'un enregistrement"
+msgstr "Saisir programmation"
 
 #
 msgid "Timer log"
@@ -7521,7 +7589,7 @@ msgstr ""
 
 #
 msgid "Timer record location"
-msgstr ""
+msgstr "Emplacement enregistrements programmés"
 
 #
 msgid "Timer sanity error"
@@ -7537,7 +7605,7 @@ msgstr "Status programmation:"
 
 #
 msgid "Timer type"
-msgstr ""
+msgstr "Type programmation"
 
 #
 msgid "Timeshift"
@@ -7545,7 +7613,7 @@ msgstr "PauseDirect"
 
 #
 msgid "Timeshift location"
-msgstr ""
+msgstr "Emplacement PauseDirect"
 
 #
 msgid "Timeshift not possible!"
@@ -7569,6 +7637,8 @@ msgstr "Mode jeu titre"
 
 msgid "To be used as simple downloading application by other Plugins."
 msgstr ""
+"Pour être employé comme application simple de téléchargement par d'autres "
+"Plugins"
 
 msgid ""
 "To update your Dreambox firmware, please follow these steps:\n"
@@ -7578,6 +7648,12 @@ msgid ""
 "for 10 seconds.\n"
 "3) Wait for bootup and follow instructions of the wizard."
 msgstr ""
+"Pour mettre à jour le firmware Dreambox, veuillez suivre ces indications:\n"
+"1) Couper votre récepteur avec le bouton d'alimentation arrière et insérer "
+"la clef USB bootable.\n"
+"2) Ré-enclencher l'alimentation en maintenant appuyé le bouton bas du "
+"panneau avant pendant 10 secondes.\n"
+"3) Attendre que ça boot et suivre les instructions de l'assistant."
 
 #
 msgid "Today"
@@ -7585,7 +7661,7 @@ msgstr "Aujourd'hui"
 
 #
 msgid "Tone Amplitude"
-msgstr ""
+msgstr "Amplitude tonalité"
 
 #
 msgid "Tone mode"
@@ -7601,18 +7677,18 @@ msgstr "Toneburst A/B"
 
 #
 msgid "Top favorites"
-msgstr ""
+msgstr "Top favoris"
 
 #
 msgid "Top rated"
-msgstr ""
+msgstr "Top classement"
 
 #
 msgid "Track"
 msgstr "Piste"
 
 msgid "TrafficInfo shows german traffic information."
-msgstr ""
+msgstr "TrafficInfo montre les informations trafic allemand"
 
 #
 msgid "Translation"
@@ -7634,25 +7710,22 @@ msgstr "Mode de transmission"
 msgid "Transponder"
 msgstr "Transpondeur"
 
-#
 msgid "Transponder Type"
-msgstr "Type transponder"
+msgstr "Type transpondeur"
 
 #
 msgid "Travel & Events"
-msgstr ""
+msgstr "Voyages & Evénements"
 
 #
 msgid "Tries left:"
 msgstr "Essais annulés:"
 
-#
 msgid "Try to find used Transponders in cable network.. please wait..."
 msgstr ""
 "Essai de trouver transpondeurs utilisés sur réseau câble... Veuillez "
 "patienter..."
 
-#
 msgid "Try to find used transponders in cable network.. please wait..."
 msgstr ""
 "Essai de trouver transpondeurs utilisés sur réseau câble... Veuillez "
@@ -7660,15 +7733,16 @@ msgstr ""
 
 #
 msgid "Trying to download a new packetlist. Please wait..."
-msgstr ""
+msgstr "Essai téléchargement nouvelle liste paquet. Veuillez patienter..."
 
 #
 msgid "Trying to download the Youtube feed entries. Please wait..."
-msgstr ""
+msgstr "Essai de télécharger les entrées feed Youtube. Veuillez patienter..."
 
 #
 msgid "Trying to download the Youtube search results. Please wait..."
 msgstr ""
+"Essai de télécharger les résultats recherche Youtube. Veuillez patienter..."
 
 #
 msgid "Tue"
@@ -7688,11 +7762,11 @@ msgstr "Echec accord"
 
 #
 msgid "Tuner"
-msgstr ""
+msgstr "Tuner"
 
 #
 msgid "Tuner "
-msgstr ""
+msgstr "Tuner "
 
 #
 msgid "Tuner Slot"
@@ -7708,7 +7782,7 @@ msgstr "Status tuner"
 
 #
 msgid "Tuner type"
-msgstr ""
+msgstr "Type Tuner"
 
 #
 msgid "Turkish"
@@ -7720,7 +7794,7 @@ msgstr "Deux"
 
 #
 msgid "Type"
-msgstr ""
+msgstr "Type"
 
 #
 msgid "Type of scan"
@@ -7764,42 +7838,42 @@ msgstr "Commande DiSEqC non validée"
 
 #
 msgid "Undo install"
-msgstr ""
+msgstr "Défaire installation"
 
 #
 msgid "Undo uninstall"
-msgstr ""
+msgstr "Défaire désinstallation"
 
 #
 msgid "UnhandledKey"
-msgstr ""
+msgstr "UnhandledKey"
 
 #
 msgid "Unicable"
-msgstr ""
+msgstr "Unicable"
 
 #
 msgid "Unicable LNB"
-msgstr ""
+msgstr "Unicable LNB"
 
 #
 msgid "Unicable Martix"
-msgstr ""
+msgstr "Unicable Martix"
 
 #
 msgid "Uninstall"
-msgstr ""
+msgstr "Désinstaller"
 
 #
 msgid "United States"
-msgstr ""
+msgstr "Etats Unis"
 
 #
 msgid "Universal LNB"
 msgstr "LNB universel"
 
 msgid "Unknown network adapter."
-msgstr ""
+msgstr "Adaptateur réseau inconnu"
 
 #
 msgid ""
@@ -7807,6 +7881,9 @@ msgid ""
 "matching your AutoTimers but only when you leave the GUI with the green "
 "button."
 msgstr ""
+"À moins que ceci soit permis ProgAuto ne cherchera pas automatiquement des "
+"émissions correspondantes à vos programmations mais seulement quand vous "
+"laissez l'IGU avec le bouton vert."
 
 #
 msgid "Unmount failed"
@@ -7814,18 +7891,17 @@ msgstr "Echec démontage"
 
 #
 msgid "Unsupported"
-msgstr ""
+msgstr "Non supporté"
 
 msgid "UnwetterInfo shows german storm information."
-msgstr ""
+msgstr "UnwetterInfo montre les informations allemande d'orage"
 
 #
 msgid "Update"
 msgstr "Mise à jour"
 
-#, fuzzy
 msgid "Update done..."
-msgstr "Mise à jour"
+msgstr "Mise à jour effectuée..."
 
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 170
@@ -7833,16 +7909,19 @@ msgid ""
 "Update done... The genuine dreambox test will now be rerun and should not "
 "ask you to update again."
 msgstr ""
+"MAJ effectuée... Le test d'authenticité Dreambox sera maintenant relancé et "
+"ne devrai pas vous demander de remettre à jour."
 
 #
 msgid "Updatefeed not available."
-msgstr ""
+msgstr "MAJ feed non disponible."
 
 #
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 150
 msgid ""
 "Updating failed. Nothing is broken, just the update couldn't be applied."
 msgstr ""
+"Echec mise à jour. Rien n'est cassé, juste que la MAJ n'a pas pu s'effectuer."
 
 #
 msgid "Updating finished. Here is the result:"
@@ -7850,12 +7929,10 @@ msgstr "Mise à jour terminée. Voici le résultat :"
 
 #
 msgid "Updating software catalog"
-msgstr ""
+msgstr "Mise à jour catalogue logiciel"
 
-#
-#, fuzzy
 msgid "Updating, please wait..."
-msgstr "Veuillez attendre..."
+msgstr "Mise à jour, veuillez patienter..."
 
 #
 msgid "Updating... Please wait... This can take some minutes..."
@@ -7864,7 +7941,7 @@ msgstr ""
 
 #
 msgid "Upgrade finished."
-msgstr ""
+msgstr "Mise à jour terminée"
 
 #
 msgid "Upgrading"
@@ -7876,17 +7953,19 @@ msgstr "Mise à jour Dreambox... Veuillez patienter"
 
 #
 msgid "Upper bound of timespan."
-msgstr ""
+msgstr "Limite supérieure de période"
 
 #
 msgid ""
 "Upper bound of timespan. Nothing after this time will be matched. Offsets "
 "are not taken into account!"
 msgstr ""
+"Limite supérieure de période. Rien après cette fois ne sera comparé. Les "
+"décalages ne sont pas pris en compte!"
 
 #
 msgid "Use"
-msgstr ""
+msgstr "Utiliser"
 
 #
 msgid "Use DHCP"
@@ -7902,14 +7981,14 @@ msgstr "Utiliser mesure puissance"
 
 #
 msgid "Use a custom location"
-msgstr ""
+msgstr "Utiliser un emplacement personnel"
 
 #
 msgid "Use a gateway"
 msgstr "Utiliser passerelle"
 
 msgid "Use and control multiple Dreamboxes with different RCs."
-msgstr ""
+msgstr "Utiliser et contrôler multiples Dreamboxes avec différentes RCs."
 
 #
 msgid "Use non-smooth winding at speeds above"
@@ -7921,7 +8000,7 @@ msgstr "Utiliser mesure puissance"
 
 #
 msgid "Use the Networkwizard to configure selected network adapter"
-msgstr ""
+msgstr "Utiliser l'asistant réseau pour configurer l'adaptateur réseau"
 
 #
 msgid "Use the Networkwizard to configure your Network\n"
@@ -7946,18 +8025,18 @@ msgstr ""
 "option. Après cela, appuyez sur OK."
 
 msgid "Use this input device settings?"
-msgstr ""
+msgstr "Utiliser ces paramètres périphérique entrée?"
 
 msgid "Use this settings?"
-msgstr ""
+msgstr "Utiliser ces paramètres"
 
 #
 msgid "Use this video enhancement settings?"
-msgstr ""
+msgstr "Utiliser ces paramètres vidéo améliorés?"
 
 #
 msgid "Use time of currently running service"
-msgstr ""
+msgstr "Utiliser le temps du service tournant actuellement"
 
 #
 msgid "Use usals for this sat"
@@ -7977,15 +8056,15 @@ msgstr "Défini par l'utilisateur"
 
 #
 msgid "User management"
-msgstr ""
+msgstr "Gestion utilisateur"
 
 #
 msgid "Usermanager"
-msgstr ""
+msgstr "Gestion utilisateur"
 
 #
 msgid "Username"
-msgstr ""
+msgstr "Nom utilisateur"
 
 #
 msgid "VCR scart"
@@ -7996,22 +8075,23 @@ msgid "VMGM (intro trailer)"
 msgstr "VMGM (intro bande-annonce)"
 
 msgid "Vali-XD skin"
-msgstr ""
+msgstr "Thème Vali-XD"
 
 msgid "Vali.HD.nano skin"
-msgstr ""
+msgstr "Thème Vali.HD.nano"
 
 msgid ""
 "Verify your Dreambox authenticity by running the genuine dreambox plugin!"
 msgstr ""
+"Vérifie l'authenticité de votre Dreambox en lançant le plugin authenticité "
+"dreambox!"
 
 #
 msgid "Vertical"
-msgstr ""
+msgstr "Vertical"
 
-#
 msgid "Video Fine-Tuning"
-msgstr "Accord-fin vidéo..."
+msgstr "Accord-fin vidéo"
 
 #
 msgid "Video Fine-Tuning Wizard"
@@ -8031,15 +8111,15 @@ msgstr "Assistant vidéo"
 
 #
 msgid "Video enhancement preview"
-msgstr ""
+msgstr "Prévue vidéo améliorée"
 
 #
 msgid "Video enhancement settings"
-msgstr ""
+msgstr "Paramètres vidéo améliorés"
 
 #
 msgid "Video enhancement setup"
-msgstr ""
+msgstr "Configuration vidéo améliorée"
 
 #
 msgid ""
@@ -8062,46 +8142,46 @@ msgid "Video mode selection."
 msgstr "Sélection mode vidéo."
 
 msgid "Video streaming from the orf.at web page"
-msgstr ""
+msgstr "Flux vidéo depuis la page web orf.at"
 
 msgid "VideoEnhancement provides advanced video enhancement settings"
-msgstr ""
+msgstr "VideoEnhancement fourni des paramètres vidéo améliorés avancés"
 
 msgid "VideoTune helps fine-tuning your tv display"
-msgstr ""
+msgstr "VideoTune aide aux réglages de l'affichage de votre TV"
 
 #
 msgid "Videobrowser exit behavior:"
-msgstr ""
+msgstr "Comportement sortie explorateur vidéo"
 
 #
 msgid "Videoenhancement Setup"
-msgstr ""
+msgstr "Amélioration image vidéo"
 
 msgid "Videomode provides advanced video mode settings"
-msgstr ""
+msgstr "Videomode fourni des paramètres avancés mode vidéo"
 
 #
 msgid "Videoplayer stop/exit behavior:"
-msgstr ""
+msgstr "Comportement stop/sortie lecteur vidéo"
 
 #
 msgid "View Count"
-msgstr ""
+msgstr "Voir compteur"
 
 msgid "View Google maps"
-msgstr ""
+msgstr "Voir Google maps"
 
 msgid "View Google maps with your Dreambox."
-msgstr ""
+msgstr "Voir Google maps avec votre Dreambox"
 
 #
 msgid "View Movies..."
-msgstr ""
+msgstr "Voir films..."
 
 #
 msgid "View Photos..."
-msgstr ""
+msgstr "Voir photos..."
 
 #
 msgid "View Rass interactive..."
@@ -8109,75 +8189,75 @@ msgstr "Afficher Rass interactif..."
 
 #
 msgid "View Video CD..."
-msgstr ""
+msgstr "Voir viudéo CD..."
 
 #
 msgid "View active downloads"
-msgstr ""
+msgstr "Voir téléchargement actif"
 
 #
 msgid "View details"
-msgstr ""
+msgstr "Voir détails"
 
 #
 msgid "View list of available "
-msgstr ""
+msgstr "Voir liste disponibles des "
 
 #
 msgid "View list of available CommonInterface extensions"
-msgstr ""
+msgstr "Voir liste des Common Interface disponibles."
 
 #
 msgid "View list of available Display and Userinterface extensions."
-msgstr ""
+msgstr "Voir liste extensions affichages/interface utilisateur disponibles."
 
 #
 msgid "View list of available EPG extensions."
-msgstr ""
+msgstr "Voir liste extensions EPG disponibles."
 
 #
 msgid "View list of available Satellite equipment extensions."
-msgstr ""
+msgstr "Voir liste extensions dispositif satellitaire disponibles."
 
 #
 msgid "View list of available communication extensions."
-msgstr ""
+msgstr "Voir liste extensions communication disponibles."
 
 #
 msgid "View list of available default settings"
-msgstr ""
+msgstr "Voir liste configurations prédéfinies disponibles."
 
 #
 msgid "View list of available multimedia extensions."
-msgstr ""
+msgstr "Voir liste extensions multimédias disponibles."
 
 #
 msgid "View list of available networking extensions"
-msgstr ""
+msgstr "Voir liste extensions du réseau disponibles."
 
 #
 msgid "View list of available recording extensions"
-msgstr ""
+msgstr "Voir liste extensions d'enregistrements disponibles."
 
 #
 msgid "View list of available skins"
-msgstr ""
+msgstr "Voir liste thèmes disponibles."
 
 #
 msgid "View list of available software extensions"
-msgstr ""
+msgstr "Voir liste extensions logiciels disponibles."
 
 #
 msgid "View list of available system extensions"
-msgstr ""
+msgstr "Voir liste extensions des systèmes disponibles."
 
 #
 msgid "View related videos"
-msgstr ""
+msgstr "Voir vidéos relatées"
 
 #
 msgid "View response videos"
-msgstr ""
+msgstr "Voir vidéos répondues"
 
 #
 msgid "View teletext..."
@@ -8185,27 +8265,30 @@ msgstr "Afficher télétexte..."
 
 #
 msgid "View, edit or delete mountpoints on your Dreambox."
-msgstr ""
+msgstr "Voir, éditer ou effacer points montage sur votre Dreambox."
 
 #
 msgid "View, edit or delete usernames and passwords for your network."
 msgstr ""
+"Voir, éditer ou effacer nom utilsateur et mots de passe pour votre réseau."
 
 #
 msgid "Views: "
-msgstr ""
+msgstr "Vues: "
 
 #
 msgid "Virtual KeyBoard"
 msgstr "Clavier virtuel"
 
 msgid "Visualization for the European Installation Bus"
-msgstr ""
+msgstr "Visualisation pour l'intallation Bus Européenne"
 
 msgid ""
 "Visualize and control your lights, dimmers, blinds, thermostats etc. through "
 "EIB/KNX. (linknx server required)"
 msgstr ""
+"Visualiser et contrôler vos lumières, variateurs, volets, thermostats etc. à "
+"travers EIB/KNX. (nécessite serveur linknx)"
 
 #
 msgid "Voltage mode"
@@ -8221,17 +8304,17 @@ msgstr "O"
 
 #
 msgid "WEP"
-msgstr ""
+msgstr "WEP"
 
 msgid "WLAN adapter."
-msgstr ""
+msgstr "Adaptateur WLAN"
 
 msgid "WLAN connection"
-msgstr ""
+msgstr "Connection WLAN"
 
 #
 msgid "WPA"
-msgstr ""
+msgstr "WPA"
 
 #
 msgid "WPA or WPA2"
@@ -8239,7 +8322,7 @@ msgstr "WPA ou WPA2"
 
 #
 msgid "WPA2"
-msgstr ""
+msgstr "WPA2"
 
 #
 msgid "WSS on 4:3"
@@ -8247,7 +8330,7 @@ msgstr "WSS sur 4:3"
 
 #
 msgid "Wait time in ms before activation:"
-msgstr ""
+msgstr "Temps attente en ms avant activation:"
 
 #
 msgid "Waiting"
@@ -8255,24 +8338,25 @@ msgstr "Attendez"
 
 #
 msgid "Warn if free space drops below (kB):"
-msgstr ""
+msgstr "Avertissement si l'espace libre chute sous (kB):"
 
 msgid "Watch streams from ZDF Mediathek"
-msgstr ""
+msgstr "Regarder flux depuis médiatèque ZDF"
 
 msgid "WeatherPlugin shows weatherforecasts on your Dreambox."
 msgstr ""
+"WeatherPlugin montre les prévisions météorologiques sur votre Dreambox."
 
 msgid "Weatherforecast on your Dreambox"
-msgstr ""
+msgstr "Prévisions météorologiques sur votre Dreambox"
 
 #
 msgid "Webinterface"
-msgstr ""
+msgstr "Webinterface"
 
 #
 msgid "Webinterface: Main Setup"
-msgstr ""
+msgstr "Webinterface: paramètres principaux"
 
 #
 msgid "Wed"
@@ -8288,15 +8372,15 @@ msgstr "Jours ouvrables"
 
 #
 msgid "Weekend"
-msgstr ""
+msgstr "Weekend"
 
 #
 msgid "Weekly (Monday)"
-msgstr ""
+msgstr "Hebdomadaire (Lundi)"
 
 #
 msgid "Weekly (Sunday)"
-msgstr ""
+msgstr "Hebdomadaire (Dimanche)"
 
 #
 msgid ""
@@ -8325,7 +8409,6 @@ msgstr ""
 "sauvegarder vos paramètres actuels et une explication sur comment mettre à "
 "jour votre firmware."
 
-#
 msgid ""
 "Welcome to the MyTube Youtube Player.\n"
 "\n"
@@ -8340,6 +8423,12 @@ msgid ""
 "\n"
 "The Help button shows this help again."
 msgstr ""
+"Bienvenue dans le lecteur MyTube Youtube.Utiliser les boutons bouquet+ pour "
+"naviguer dans le champ de recherche et le bouquet- pour naviguer dans les "
+"entrées vidéo.Pour lire un film, presser simplement OK sur la télécommmande."
+"Presser sur info pour voir les descriptions de film.Presser le bouton Menu "
+"pour voir les options suplémentaires.Le bouton Help montre à nouveau ce "
+"message."
 
 #
 msgid ""
@@ -8353,6 +8442,16 @@ msgid ""
 "\n"
 "Press exit to get back to the input field."
 msgstr ""
+"Bienvenue dans le lecteur MyTube Youtube.\n"
+"\n"
+"En saisissant vos limites de recherche vous obtiendrez des suggestions "
+"montrées correspondant à votre limite de recherche.\n"
+"\n"
+"Pour sélectionner une suggestion presser DOWN sur la télécommande, "
+"sélectionner le résultat désiré et presser OK sur votre télécommande pour "
+"lancer la recherche.\n"
+"\n"
+"Presser presser sortir pour revenir au champ de saisie."
 
 #
 msgid ""
@@ -8363,8 +8462,13 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
+"Bienvenue dans l'asistant nettoyage.\n"
+"\n"
+"La mémoire interne disponible est inférieure à 2 MB.\n"
+"Pour assurer la stabilité de votre Dreambox, il est nécessaire de libérer la "
+"mémoire interne.\n"
+"Vous pouvez utiliser cet assistant pour retirer des extensions.\n"
 
-#
 msgid ""
 "Welcome.\n"
 "\n"
@@ -8373,12 +8477,9 @@ msgid ""
 "\n"
 "Press OK to start configuring your network"
 msgstr ""
-"Bienvenue.\n"
-"\n"
-"Si vous voulez connecter votre Dreambox à internet, cette assistant vous "
-"guidera à paramètrer les réglages basiques du réseau de votre Dreambox.\n"
-"\n"
-"Presser OK pour démarrer la configuration du réseau"
+"Bienvenue.Si vous voulez connecter votre Dreambox à internet, cette "
+"assistant vous guidera à Paramétrer les réglages basiques du réseau de votre "
+"Dreambox.Presser OK pour démarrer la configuration du réseau"
 
 #
 msgid ""
@@ -8387,6 +8488,10 @@ msgid ""
 "This Wizard will help you to create a new AutoTimer by providing "
 "descriptions for common settings."
 msgstr ""
+"Bienvenue.\n"
+"\n"
+"Cet assistant vous aidera à créer une nouvelle ProgAuto en fournissant des "
+"descriptions pour des paramètres communs."
 
 #
 msgid ""
@@ -8410,19 +8515,21 @@ msgstr "Bienvenue..."
 msgid "West"
 msgstr "Ouest"
 
-#
 msgid "What do you want to scan?"
-msgstr "Que voulez-vous analyser ?"
+msgstr "Que voulez-vous analyser?"
 
 #
 msgid "What to do with submitted crashlogs?"
-msgstr ""
+msgstr "Que faire des crashlogs soumis?"
 
 #
 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 ""
+"Quand cette option est activée la ProAuto ne mariera pas les émissions ou "
+"une autre programmation avec la même description existant déjà dans la liste "
+"de programmation."
 
 #
 msgid ""
@@ -8441,13 +8548,11 @@ msgstr ""
 "\n"
 "Vraiment faire une réinitialisation usine?"
 
-#
 msgid "Where do you want to backup your settings?"
-msgstr "Où voulez-vous sauver vos paramètres ?"
+msgstr "Où voulez-vous sauver vos paramètres?"
 
-#
 msgid "Where to save temporary timeshift recordings?"
-msgstr "Ou sauver les enregistrements temporaires PauseDirect?"
+msgstr "Où sauver les enregistrements temporaires PauseDirect?"
 
 #
 msgid "Wireless LAN"
@@ -8465,6 +8570,8 @@ msgid ""
 "With AntiScrollbar you can cover up annoying ticker lines (e.g. in news "
 "channels)."
 msgstr ""
+"Avec les AntiScrollbar vous pouvez dissimuler les lignes ennuyantes (par "
+"exemple les chaînes d'informations)."
 
 msgid ""
 "With DVDBurn you can make compilations of records from your Dreambox hard "
@@ -8473,38 +8580,56 @@ msgid ""
 "a standard-compliant DVD that can be played on conventinal DVD players.\n"
 "HDTV recordings can only be burned in proprietary dreambox format."
 msgstr ""
+"Avec DVDBurn vous pouvez faire des compilations d'enrigistrement de sur "
+"votre disque dur Dreambox.\n"
+"optionnellement vous pouvez ajouter des menus personnelle. Vous pouvez "
+"enregistrer la compilation en mode compatible-standard DVD pouvant-être lu "
+"sur un lecteur DVD.\n"
+"Les enregistrements HDTV peuvent seulement être gravés en format "
+"propriétaires dreambox."
 
 msgid "With EPGSearch you can search through the EPG and create timers."
 msgstr ""
+"Avec EPGsearch vous pouvez rechercher dans l'EPG et créer des programmations."
 
 msgid "With Genuine Dreambox you can verify the authenticity of your Dreambox."
 msgstr ""
+"Avec Genuine Dreambox vous pouvez vérifer l'authenticité de votre Dreambox."
 
 msgid ""
 "With IMDb you can download and displays movie information (rating, poster, "
 "cast, synopsis etc.) about the selected event."
 msgstr ""
+"Avec IMDb vous pouvez télécharger et montrez des informations de film "
+"(estimation, affiche, fonte, synthèse etc.) sur l'émission choisie. "
 
 msgid "With MovieRetitle you can rename your movies."
-msgstr ""
+msgstr "Avec MovieRetitle vous pouvez renommmer vos films."
 
 msgid ""
 "With MyTube you can play YouTube videos directly on your TV without a PC."
 msgstr ""
+"Avec MyTube vous pouvez lire des vidéos YouTube directement sur votre TV "
+"sans PC."
 
 msgid "With WebcamViewer you can watch webcams on your TV Screen."
-msgstr ""
+msgstr "Avec WebcamViewer vous pouvez observer des webcams sur votre écran TV."
 
 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 ""
+"Avec Werbezapper vous pouvez faire un pont sur les publicités en créant\n"
+"des programmations courtes (entre 1 et 9 minutes) qui zap automatiquement de "
+"nouveau sur le canal original après exécution."
 
 msgid ""
 "With YouTubePlayer you can watch YouTube-Videos on the Dreambox.\n"
 "This plugin requires a PC with the VLC program running."
 msgstr ""
+"Avec YouTubePlayer vous pouvez regarder des YouTube-Vidéos sur la Dreambox.\n"
+"Ce plugin exige un PC avec le programme VLC tournant."
 
 msgid ""
 "With the CommonInterfaceAssignment plugin it is possible to use differentCI "
@@ -8512,57 +8637,82 @@ msgid ""
 "each of them.\n"
 "This allows watching a scrambled service while recording another one."
 msgstr ""
+"Avec le plugin CommonInterfaceAssignment il est possible d'utiliser "
+"différent modules CI dans votre Dreambox et assigner dédier foournisseurs/"
+"services ou caids à chacun d'entre eux.\n"
+"Ceci permet de regarder un service crypté pendant l'enregistrement d'un "
+"autre."
 
 msgid ""
 "With the CrashlogAutoSubmit plugin it is possible to automaticallymail "
 "crashlogs found on your hard drive to Dream Multimedia."
 msgstr ""
+"Avec le plugin CrashlogAutoSubmit il est possible d'envoyer automatiquement "
+"par email les crashlogs trouvés sur le HDD à Dream Multimedia."
 
 msgid ""
 "With the DefaultServicesScanner plugin you can scan default lamedbs sorted "
 "by satellite with a connected dish positioner."
 msgstr ""
+"Avec le plugin DefaultServicesScanner vous pouvez scanner les lamedbs "
+"standards triés par le satellite avec un positionneur parabole."
 
 msgid ""
 "With the DiseqcTester plugin you can test your satellite equipment for "
 "DiSEqC compatibility and errors."
 msgstr ""
+"Avec le plugin DiseqcTester vous pouvez tester vous pouvez tester votre "
+"équipement sat pour compatibilité DiSEqC et erreursr."
 
 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 ""
+"Avec le plugin NFIFlash il est possible de préparer une clé USB avec une "
+"image Dreambox.\n"
+"Il est ensuite possible de flasher votre Dreambox avec l'image sur la clé."
 
 msgid ""
 "With the NetworkWizard you can easily configure your network step by step."
 msgstr ""
+"Avec le NetworkWizard vous pouvez facilement configuer votre réseau pas à "
+"pas."
 
 msgid ""
 "With the PositionerSetup plugin it is easy to install and configure a "
 "motorized dish."
 msgstr ""
+"Avec le plugin PositionerSetup il est facile d'installer et configurer une "
+"parabole motorisée."
 
 msgid ""
 "With the SatelliteEquipmentControl plugin it is possible to fine-tune DiSEqC-"
 "settings."
 msgstr ""
+"Avec le plugin SatelliteEquipmentControl il est possible paramétrer le "
+"DiSEqC en réglages fins."
 
 #
 msgid ""
 "With this option enabled the channel to record on can be changed to a "
 "alternative service it is restricted to."
 msgstr ""
+"Avec cette option activée, la chaîne à enregistrer peut-être changée vers un "
+"service alternatif limité à celui-ci."
 
 #
 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 ""
+"Avec cette option, vous pouvez restreindre la ProgAuto à un certain nombre "
+"d'enregistrements programmés. Mettre à 0 pour désactiver cette "
+"fonctionnalité."
 
 #
 msgid "Wizard"
-msgstr ""
+msgstr "Assistant"
 
 #
 msgid "Write error while recording. Disk full?\n"
@@ -8578,7 +8728,7 @@ msgstr "YPbPr"
 
 #
 msgid "Year"
-msgstr ""
+msgstr "Année"
 
 #
 msgid "Yes"
@@ -8586,10 +8736,10 @@ msgstr "Oui"
 
 #
 msgid "Yes to all"
-msgstr ""
+msgstr "Oui à tout"
 
 msgid "Yes, always"
-msgstr ""
+msgstr "Oui, toujours"
 
 #
 msgid "Yes, and delete this movie"
@@ -8597,19 +8747,18 @@ msgstr "Oui, et effacer ce film"
 
 #
 msgid "Yes, and don't ask again"
-msgstr ""
+msgstr "Oui et ne pas redemander"
 
-#
 msgid "Yes, backup my settings!"
-msgstr "Oui, sauvegarder mes paramètres !"
+msgstr "Oui, sauvegarder mes paramètres!"
 
 #
 msgid "Yes, but play next video"
-msgstr ""
+msgstr "Oui, mais lire vidéo suivante."
 
 #
 msgid "Yes, but play previous video"
-msgstr ""
+msgstr "Oui, mais lire vidéo précédente."
 
 #
 msgid "Yes, do a manual scan now"
@@ -8625,7 +8774,7 @@ msgstr "Oui, faire une autre analyse manuelle maintenant"
 
 #
 msgid "Yes, keep them."
-msgstr ""
+msgstr "Oui, les garder."
 
 #
 msgid "Yes, perform a shutdown now."
@@ -8645,11 +8794,11 @@ msgstr "Oui, voir le tutoriel"
 
 #
 msgid "You can cancel the installation."
-msgstr ""
+msgstr "Vous pouvez annuler l'installation."
 
 #
 msgid "You can cancel the removal."
-msgstr ""
+msgstr "Vous pouvez annuler le retrait"
 
 #
 msgid ""
@@ -8665,22 +8814,24 @@ msgstr "Vous pouvez choisir ce que vous voulez installer..."
 
 #
 msgid "You can install this plugin."
-msgstr ""
+msgstr "Vous pouvez installer le plugin."
 
 #
 msgid "You can only burn Dreambox recordings!"
-msgstr ""
+msgstr "Vous pouvez seulement grâver des enregistrements Dreambox!"
 
 #
 msgid "You can remove this plugin."
-msgstr ""
+msgstr "Vous pouvez retirer ce plugin."
 
-#
 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 ""
+"Vous pouvez régler les propriétés de base d'une ProgAuto ici.Tandis que "
+"'Nom' est juste un nom lisible par l'homme affiché dans la vue d'ensemble, "
+"'correspondance dans le titre' est ce qui est recherché dans l'EPG."
 
 #
 msgid "You cannot delete this!"
@@ -8705,15 +8856,18 @@ msgstr ""
 "Vous avez choisi de ne rien installer. Veuillez presser OK pour terminer "
 "l'assistant d'installation."
 
-#
 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 ""
+"Vous n'avez pas fourni un attribut 'Correspondance dans le titre' valide "
+"pour votre nouvelle ProgAuto.\n"
+"Ceci est un attribut obligatoire vous ne pouvez pas continuer sans le faire "
+"ainsi."
 
 msgid "You didn't select a channel to record from."
-msgstr ""
+msgstr "Vous n'avez pas sélectionné une chaîne à enregistrer."
 
 #
 #, python-format
@@ -8721,12 +8875,16 @@ msgid ""
 "You entered \"%s\" as Text to match.\n"
 "Do you want to remove trailing whitespaces?"
 msgstr ""
+"Vous avec saisi \"%s\" comme texte correspondant.\n"
+"Voulez-vous retirer les espace blanc superflux?"
 
 #
 msgid ""
 "You have chosen to backup your settings. Please press OK to start the backup "
 "now."
 msgstr ""
+"Vous avez choisi de sauvegarder vos paramètres. Veuillez appuyer sur OK pour "
+"commencer la sauvegarde."
 
 #
 msgid ""
@@ -8741,6 +8899,8 @@ msgid ""
 "You have chosen to restore your settings. Enigma2 will restart after "
 "restore. Please press OK to start the restore now."
 msgstr ""
+"Vious avez choisi de restaurer vos paramètres. Enigma2 redémarrera après la "
+"la restauration. Veuillez appuyer sur OK pour démarrer la restauration."
 
 #
 #, python-format
@@ -8766,6 +8926,9 @@ msgid ""
 "\n"
 "Do you want to set the pin now?"
 msgstr ""
+"vous devez saisir un code pin et le cacher de vos enfants.\n"
+"\n"
+"Voulez-vous paramétrer ce pin maintenant?"
 
 #
 msgid ""
@@ -8774,12 +8937,18 @@ msgid ""
 "\n"
 "You can go back a step by pressing EXIT on your remote."
 msgstr ""
+"Vous avez configuré avec succès une nouvelle ProgAuto. voulez-vous l'ajouter "
+"à la liste?\n"
+"\n"
+"Vous pouvez revenir d'un pas en pressant EXIT sur la télécommande."
 
 #
 msgid ""
 "Your 'Match in title' Attribute ends with a Whitespace.\n"
 "Please confirm if this was intentional, if not they will be removed."
 msgstr ""
+"Votre 'Correspondance dans le titre' à mis un espace à la fin.\n"
+"Veuollez confirmer si c'était intentionnel, sinon il sera retiré."
 
 #
 msgid ""
@@ -8788,6 +8957,10 @@ msgid ""
 "Your internet connection is working now.\n"
 "\n"
 msgstr ""
+"Votre Dreambox est maintenant prète à l'utilisation.\n"
+"\n"
+"Votre connection internet fonctionne maintenant.\n"
+"\n"
 
 #
 msgid ""
@@ -8822,6 +8995,8 @@ msgid ""
 "Your collection exceeds the size of a single layer medium, you will need a "
 "blank dual layer DVD!"
 msgstr ""
+"Votre collection dépasse la taille d'un support simple couche, vous aurez "
+"besoin d'un DVD double couche vierge!"
 
 #
 #, python-format
@@ -8829,10 +9004,12 @@ msgid ""
 "Your config file is not well-formed:\n"
 "%s"
 msgstr ""
+"Votre fichier config n'est pas bien-formé:\n"
+"%s"
 
 #
 msgid "Your current collection will get lost!"
-msgstr ""
+msgstr "Votre collection actuelle sera perdue!"
 
 #
 msgid "Your dreambox is shutting down. Please stand by..."
@@ -8848,7 +9025,7 @@ msgstr ""
 
 #
 msgid "Your email address:"
-msgstr ""
+msgstr "Votre adresse email:"
 
 #
 msgid ""
@@ -8868,7 +9045,7 @@ msgstr ""
 
 #
 msgid "Your name (optional):"
-msgstr ""
+msgstr "Votre nom (optionnel):"
 
 #
 msgid "Your network configuration has been activated."
@@ -8876,15 +9053,15 @@ msgstr "Votre configuration réseau a été activée."
 
 #
 msgid "Your network mount has been activated."
-msgstr ""
+msgstr "Votre montage réseau a été activé."
 
 #
 msgid "Your network mount has been removed."
-msgstr ""
+msgstr "Votre montage réseau a été retiré."
 
 #
 msgid "Your network mount has been updated."
-msgstr ""
+msgstr "Votre montage réseau a été actualisé."
 
 #
 msgid ""
@@ -8899,11 +9076,11 @@ msgstr ""
 "Veuillez choisir ce que vous voulez faire ensuite."
 
 msgid "ZDFMediathek allows you to watch streams from ZDF Mediathek."
-msgstr ""
+msgstr "ZDFMediathek vous permet de regarder des flux depuis ZDF Mediathek."
 
 #
 msgid "Zap back to previously tuned service?"
-msgstr ""
+msgstr "Revenir sur le service précédemment réglé?"
 
 #
 msgid "Zap back to service before positioner setup?"
@@ -8915,22 +9092,22 @@ msgstr "Revenir sur le serveur avant le viseur"
 
 #
 msgid "Zap back to service before tuner setup?"
-msgstr ""
+msgstr "Revenir sur le service avant réglage tuner?"
 
 msgid "Zap between commercials"
-msgstr ""
+msgstr "Zap entre commerciales"
 
 msgid "ZapStatistic shows the watched services with some statistics."
-msgstr ""
+msgstr "ZapStatistic montre les services regardés avec des statistiques"
 
 msgid "Zoom into letterboxed/anamorph movies"
-msgstr ""
+msgstr "Zoom dans films letterboxed/anamorphic"
 
 msgid "Zoom into letterboxed/anamorph movies."
-msgstr ""
+msgstr "Zoom dans films letterboxed/anamorphic."
 
 msgid "Zydas"
-msgstr ""
+msgstr "Zydas"
 
 #
 msgid "[alternative edit]"
@@ -8949,15 +9126,14 @@ msgid "[move mode]"
 msgstr "[mode déplacement]"
 
 msgid "a HD skin from Kerni"
-msgstr ""
+msgstr "un thème HD de Kerni"
 
-#
 msgid "a gui to assign services/providers to common interface modules"
-msgstr ""
+msgstr "un IGU pour assigner Services/Opérateurs aux modules Interface Commune"
 
-#
 msgid "a gui to assign services/providers/caids to common interface modules"
 msgstr ""
+"un IGU pour assigner Services/Opérateurs/CAIDs aux modules Interface Commune"
 
 #
 msgid "abort alternatives edit"
@@ -8981,19 +9157,17 @@ msgstr "activer configuration courante"
 
 #
 msgid "activate network adapter configuration"
-msgstr ""
+msgstr "Activer la configuration de l'adaptateur réseau"
 
 #
 msgid "add AutoTimer..."
-msgstr ""
+msgstr "ajouter ProgAuto..."
 
-#
 msgid "add Provider"
-msgstr ""
+msgstr "Ajout opérateur"
 
-#
 msgid "add Service"
-msgstr ""
+msgstr "Ajout service"
 
 #
 msgid "add a nameserver entry"
@@ -9025,7 +9199,7 @@ msgstr "ajouter fichiers à la liste lecture"
 
 #
 msgid "add filters"
-msgstr ""
+msgstr "ajouter filtres"
 
 #
 msgid "add marker"
@@ -9057,10 +9231,10 @@ msgstr "ajouter ce service aux favoris"
 
 #
 msgid "add services"
-msgstr ""
+msgstr "ajouter services"
 
 msgid "add tags to recorded movies"
-msgstr ""
+msgstr "ajouter pointeur au films enregistrés"
 
 #
 msgid "add to parental protection"
@@ -9076,23 +9250,26 @@ msgstr "tri alphabetique"
 
 msgid "assign color buttons (red/green/yellow/blue) to plugins from MOVIELIST."
 msgstr ""
+"assigner boutons couleur (rouge/vert/jaune/bleu) aux plugins depuis "
+"MOVIELIST."
 
 msgid "assign color buttons to plugins from MOVIELIST"
-msgstr ""
+msgstr "assigner boutons couleur aux plugins depuis MOVIELIST"
 
 msgid ""
 "assign long key-press (red/green/yellow/blue) to plugins or E2 functions."
 msgstr ""
+"assigner appui-touche long (rouge/vert/jaune/bleu) aux plugins ou fonctions "
+"E2."
 
 msgid "assign long key-press on color buttons to plugins or E2 functions"
-msgstr ""
+msgstr "assigner appui-touche long aux plugins ou fonctions E2."
 
 msgid "assigned CAIds:"
-msgstr ""
+msgstr "CAIds assignés:"
 
-#
 msgid "assigned Services/Provider:"
-msgstr ""
+msgstr "Services/Opérateurs assignés:"
 
 #
 #, python-format
@@ -9110,11 +9287,11 @@ msgstr "pistes audio"
 
 #
 msgid "auto"
-msgstr ""
+msgstr "auto"
 
 #
 msgid "available"
-msgstr ""
+msgstr "disponible"
 
 #
 msgid "back"
@@ -9151,11 +9328,11 @@ msgstr "graver piste audio (%s)"
 
 #
 msgid "case-insensitive search"
-msgstr ""
+msgstr "recherche distinguant pas majuscules et minuscules"
 
 #
 msgid "case-sensitive search"
-msgstr ""
+msgstr "recherche distinguant majuscules et minuscules"
 
 #
 msgid "change recording (duration)"
@@ -9202,7 +9379,7 @@ msgid "continue"
 msgstr "continuer"
 
 msgid "control multiple Dreamboxes with different RCs"
-msgstr ""
+msgstr "contrôler Dreambox multiples avec différentes RCs"
 
 #
 msgid "copy to bouquets"
@@ -9210,7 +9387,7 @@ msgstr "copier vers bouquets"
 
 #
 msgid "could not be removed"
-msgstr ""
+msgstr "Ne peut-être retiré"
 
 #
 msgid "create directory"
@@ -9218,7 +9395,7 @@ msgstr "création répertoire"
 
 #, python-format
 msgid "currently installed image: %s"
-msgstr ""
+msgstr "image installée actuellement: %s"
 
 #
 msgid "daily"
@@ -9253,7 +9430,7 @@ msgid "delete..."
 msgstr "effacer..."
 
 msgid "description"
-msgstr ""
+msgstr "description"
 
 #
 msgid "disable"
@@ -9293,11 +9470,11 @@ msgstr "éditer les alternatifs"
 
 #
 msgid "edit filters"
-msgstr ""
+msgstr "éditer filtres"
 
 #
 msgid "edit services"
-msgstr ""
+msgstr "éditer services"
 
 #
 msgid "empty"
@@ -9349,7 +9526,7 @@ msgstr "égale au"
 
 #
 msgid "exact match"
-msgstr ""
+msgstr "concordance exacte"
 
 #
 msgid "exit DVD player or return to file browser"
@@ -9379,9 +9556,8 @@ msgstr "quitter liste interface réseau"
 msgid "exit networkadapter setup menu"
 msgstr "quitter menu réglages adaptateur réseau"
 
-#
 msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr "formats fichiers (BMP, PNG, JPG, GIF)"
+msgstr "Formats fichiers (BMP, PNG, JPG, GIF)"
 
 #
 msgid "filename"
@@ -9413,7 +9589,7 @@ msgstr "mettre en veille"
 
 #
 msgid "grab this frame as bitmap"
-msgstr ""
+msgstr "Saisir cette frame commme bitmap"
 
 #
 msgid "green"
@@ -9453,15 +9629,15 @@ msgstr "extinction immédiate"
 
 #
 msgid "in Description"
-msgstr ""
+msgstr "dans description"
 
 #
 msgid "in Shortdescription"
-msgstr ""
+msgstr "dans courte description"
 
 #
 msgid "in Title"
-msgstr ""
+msgstr "dans titre"
 
 #
 msgid "init module"
@@ -9469,7 +9645,7 @@ msgstr "initialiser le module"
 
 #
 msgid "init modules"
-msgstr ""
+msgstr "initialiser modules"
 
 #
 msgid "insert mark here"
@@ -9513,7 +9689,7 @@ msgstr "Longueur"
 
 #
 msgid "list of EPG views..."
-msgstr ""
+msgstr "liste de vues EPG..."
 
 #
 msgid "list style compact"
@@ -9617,11 +9793,11 @@ msgstr "non"
 
 #
 msgid "no CAId selected"
-msgstr ""
+msgstr "Aucun CAId sélectionné!"
 
 #
 msgid "no CI slots found"
-msgstr ""
+msgstr "Aucun slots CI trouvés"
 
 #
 msgid "no HDD found"
@@ -9629,7 +9805,7 @@ msgstr "aucun DD trouvé"
 
 #
 msgid "no Services/Providers selected"
-msgstr ""
+msgstr "Aucun Services/Fourniseurs sélectionnés"
 
 #
 msgid "no module found"
@@ -9639,9 +9815,8 @@ msgstr "Aucun module trouvé"
 msgid "no standby"
 msgstr "pas de veille"
 
-#
 msgid "no timeout"
-msgstr "pas d'arrêt"
+msgstr "pas de temps dépassé"
 
 #
 msgid "none"
@@ -9649,22 +9824,21 @@ msgstr "aucun"
 
 #
 msgid "not configured"
-msgstr ""
+msgstr "pas configuré"
 
 #
 msgid "not locked"
 msgstr "pas verrouillé"
 
 msgid "not supported"
-msgstr ""
+msgstr "pas supporté"
 
 #
 msgid "not used"
-msgstr ""
+msgstr "pas utilisé"
 
-#
 msgid "nothing connected"
-msgstr "rien de connecté"
+msgstr "Rien n'a été trouvé"
 
 #
 msgid "of a DUAL layer medium used."
@@ -9688,7 +9862,7 @@ msgstr "sur support en LECTURE SEULE"
 
 #
 msgid "on Weekday"
-msgstr ""
+msgstr "sur jour semaine"
 
 #
 msgid "once"
@@ -9712,7 +9886,7 @@ msgstr "ouvrir liste service (haut)"
 
 #
 msgid "partial match"
-msgstr ""
+msgstr "concordance partielle"
 
 #
 msgid "pass"
@@ -9763,10 +9937,10 @@ msgid "red"
 msgstr "rouge"
 
 msgid "redesigned Kerni-HD1 skin"
-msgstr ""
+msgstr "thème kerni-HD1 redessiné"
 
 msgid "redirect notifications to Growl"
-msgstr ""
+msgstr "rediriger notification vers Growl"
 
 #
 msgid "remove a nameserver entry"
@@ -9861,7 +10035,6 @@ msgstr "état de l'analyse"
 msgid "second"
 msgstr "seconde"
 
-#
 msgid "second cable of motorized LNB"
 msgstr "deuxième câble du LNB alimenté"
 
@@ -9870,19 +10043,17 @@ msgid "seconds"
 msgstr "secondes"
 
 msgid "see service-epg (and PiP) from channels in an infobar"
-msgstr ""
+msgstr "voir servie-epg (et PiP9 depuis chaînes dans l'infobar"
 
 #
 msgid "select"
 msgstr "sélectionner"
 
-#
 msgid "select CAId"
-msgstr ""
+msgstr "Sélection CAId"
 
-#
 msgid "select CAId's"
-msgstr ""
+msgstr "Sélectionner CAId's"
 
 #
 msgid "select interface"
@@ -9901,17 +10072,17 @@ msgid "select the movie path"
 msgstr "choisir le chemin film"
 
 msgid "service PIN"
-msgstr ""
+msgstr "Pin service"
 
 msgid "set enigma2 to standby-mode after startup"
-msgstr ""
+msgstr "mettre enigma2 en mode veille après démarrage"
 
 #
 msgid "sets the Audio Delay (LipSync)"
-msgstr ""
+msgstr "régler retard lecture audio (LipSync)"
 
 msgid "setup PIN"
-msgstr ""
+msgstr "PIN paramètres"
 
 #
 msgid "show DVD main menu"
@@ -9943,11 +10114,11 @@ msgstr "montrer description étendue"
 
 #
 msgid "show first selected tag"
-msgstr ""
+msgstr "montrer premier pointeur sélectionné"
 
 #
 msgid "show second selected tag"
-msgstr ""
+msgstr "montrer second pointeur sélectionné"
 
 #
 msgid "show shutdown menu"
@@ -9971,7 +10142,7 @@ msgstr "mélanger liste lecture"
 
 #
 msgid "shut down"
-msgstr ""
+msgstr "éteindre"
 
 #
 msgid "shutdown"
@@ -10007,7 +10178,7 @@ msgstr "tri par date"
 
 #
 msgid "special characters"
-msgstr ""
+msgstr "caractères spéciaux"
 
 #
 msgid "standard"
@@ -10067,7 +10238,7 @@ msgstr "basculer vers la liste de lecture"
 
 #
 msgid "switch to the next angle"
-msgstr ""
+msgstr "basculer vers l'angle suivant"
 
 #
 msgid "switch to the next audio track"
@@ -10079,7 +10250,7 @@ msgstr "basculer vers le langage sous-titre suivant"
 
 #
 msgid "template file"
-msgstr ""
+msgstr "fichier modèle"
 
 #
 msgid "textcolor"
@@ -10102,7 +10273,7 @@ msgid "toggle time, chapter, audio, subtitle info"
 msgstr "commuter temps, chapitre, audio, info sous-titres"
 
 msgid "tuner is not supported"
-msgstr ""
+msgstr "le tuner n'est pas supporté"
 
 #
 msgid "unavailable"
@@ -10114,7 +10285,7 @@ msgstr "non confirmé"
 
 #
 msgid "unknown"
-msgstr ""
+msgstr "inconnu"
 
 #
 msgid "unknown service"
@@ -10122,17 +10293,17 @@ msgstr "service inconnue"
 
 #
 msgid "until standby/restart"
-msgstr ""
+msgstr "jusqu'à veille/redémarrage"
 
 #
 msgid "use as HDD replacement"
-msgstr ""
+msgstr "utiliser un HDD en remplacement"
 
 msgid "use your Dreambox as Web proxy"
-msgstr ""
+msgstr "utilser votre Dreambox comme Web proxy"
 
 msgid "use your Dreambox as Web proxy."
-msgstr ""
+msgstr "utilser votre Dreambox comme Web proxy."
 
 #
 msgid "user defined"
@@ -10164,7 +10335,7 @@ msgstr "en attente"
 
 #
 msgid "was removed successfully"
-msgstr ""
+msgstr "à été retiré avec succès"
 
 #
 msgid "weekly"
@@ -10176,7 +10347,7 @@ msgstr "liste blanche"
 
 #
 msgid "working"
-msgstr ""
+msgstr "travail en cours..."
 
 #
 msgid "yellow"
index a5c1a6c0704a8eede756d7ed0c9769616aa15bf6..5ed3e0e1e1269020917b95907e931f06016ffc99 100755 (executable)
--- a/po/fy.po
+++ b/po/fy.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fy\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-12-29 16:22+0100\n"
 "Last-Translator: gerrit <gerrit@nedlinux.nl>\n"
 "Language-Team: gerrit <fy@li.org>\n"
@@ -4777,6 +4777,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 90700eaae4f3f6fef589b3ba6d978e538144a059..0d0187c29e57b731cc175e4bea68e29a032856dd 100755 (executable)
--- a/po/hr.po
+++ b/po/hr.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-01-27 23:38+0100\n"
 "Last-Translator: Jurica <jurica@clarkdigital.com>\n"
 "Language-Team:  <jurica@dream-multimedia.eu>\n"
@@ -4728,6 +4728,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 07ba6f7c959c6150a862573222b241f2334e2f22..a1971caab8c9b3a89be6c078163c8870bc21b087 100755 (executable)
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-11-26 15:36+0100\n"
 "Last-Translator: MediaVox-Extrasat <info@mediavox.hu>\n"
 "Language-Team: none\n"
@@ -4766,6 +4766,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 05e191e51d6abeb5d65c4f6307462efd401b70ae..4dbdde3e863d5c6a0d721430d3e4f8ea0145d987 100755 (executable)
--- a/po/is.po
+++ b/po/is.po
@@ -5,14 +5,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Icelandic translation v.1.44\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-11-18 19:57+0200\n"
 "Last-Translator: Baldur <bsveinsson@gmail.com>\n"
 "Language-Team: Polar Team/LT Team <baddi@oreind.is>\n"
-"Language: is\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: is\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Icelandic\n"
@@ -4355,6 +4355,9 @@ msgstr "Fólk & blogg"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 msgid "Pets & Animals"
 msgstr "Dýralíf"
 
index d8e288194061accd3c990f6824d5e5b87ef98cbf..ea377f10c1d172a08bebf2093bd8fc814dc7017c 100755 (executable)
--- a/po/it.po
+++ b/po/it.po
@@ -4,14 +4,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2 v2.6 Italian Locale\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-10-30 14:41+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2011-02-06 00:32+0200\n"
 "Last-Translator: spaeleus <spaeleus@croci.org>\n"
 "Language-Team: WWW.LINSAT.NET <spaeleus@croci.org>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Italian\n"
@@ -1547,7 +1547,7 @@ msgid "Configure nameservers"
 msgstr "Configurare i nameserver"
 
 msgid "Configure your WLAN network interface"
-msgstr "Plugin per la configurazione di una rete locale wireless"
+msgstr "Plugin per la configurazione di una interfaccia di rete WLAN"
 
 #
 msgid "Configure your internal LAN"
@@ -4843,6 +4843,9 @@ msgstr "Gente & Blog"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "Plugin per visualizzare un orologio in modo permanente sullo schermo."
 
+msgid "Persian"
+msgstr "Persiano"
+
 msgid "Pets & Animals"
 msgstr "Cuccioli & Animali"
 
index e723632cd8ddc908bf823a40b4c05dfb5644389e..fe69c5c3a607a65bc93689ec8eef60152c4e7e6b 100755 (executable)
--- a/po/lt.po
+++ b/po/lt.po
@@ -3,8 +3,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-11-07 22:38+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2011-01-28 21:11+0200\n"
 "Last-Translator: Audronis <audrgrin@takas.lt>\n"
 "Language-Team: Adga / enigma2 (c) <audrgrin@takas.lt>\n"
 "Language: lt\n"
@@ -18,13 +18,12 @@ msgstr ""
 "X-Poedit-SourceCharset: utf-8\n"
 "X-Poedit-Country: LITHUANIA\n"
 
-#
 msgid ""
 "\n"
 "Advanced options and settings."
 msgstr ""
 "\n"
-"Išplėstiniai pasirinkimai ir nustatymai."
+"Išplėstinės funkcijos ir nustatymai."
 
 #
 msgid ""
@@ -187,10 +186,9 @@ msgstr "#ffffffff"
 msgid "%H:%M"
 msgstr "%H:%M"
 
-#
 #, python-format
 msgid "%d jobs are running in the background!"
-msgstr "%d darbas yra veikiantis fone!"
+msgstr "%d darbai, veikiantys fone!"
 
 #, python-format
 msgid "%d min"
@@ -275,7 +273,7 @@ msgid "16:10 Letterbox"
 msgstr "16:10 Letterbox"
 
 msgid "16:10 PanScan"
-msgstr "16:10 PanScan"
+msgstr "16:10 Panoraminis Skanavimas"
 
 #
 msgid "16:9"
@@ -316,7 +314,7 @@ msgid "4:3 Letterbox"
 msgstr "4:3 Letterbox"
 
 msgid "4:3 PanScan"
-msgstr "4:3 PanScan"
+msgstr "4:3 Panoraminis skanavimas"
 
 #
 msgid "5"
@@ -401,7 +399,6 @@ msgstr ""
 "Baigtas įrašymas pagal laikmatį nori nustatyti Jūsų\n"
 "imtuvą išjungimui. Padaryti tai dabar?"
 
-#
 msgid ""
 "A finished record timer wants to shut down\n"
 "your Dreambox. Shutdown now?"
@@ -619,23 +616,18 @@ msgstr "Pridėti žymeklį"
 msgid "Add a new NFS or CIFS mount point to your Dreambox."
 msgstr "Pridėti naują NFS arba CIFS pajungimo tašką jūsų Dreambox'ui."
 
-#
 msgid "Add a new title"
-msgstr "Pridėkite naują pavadinimą"
+msgstr "Pridėti naują pavadinimą"
 
-#
 msgid "Add network configuration?"
 msgstr "Pridėti tinklo konfigūraciją?"
 
-#
 msgid "Add new AutoTimer"
 msgstr "Pridėti naują Auto Laikmatį"
 
-#
 msgid "Add new network mount point"
 msgstr "Pridėti naują tinklo pajungimo tašką"
 
-#
 msgid "Add timer"
 msgstr "Laikmatis"
 
@@ -692,32 +684,26 @@ msgstr ""
 "bandomuosius ekranus."
 
 msgid "Adult streaming plugin"
-msgstr "Suaugusiųjų transliacijos priedas"
+msgstr "Transliacijos tik suaugusiems priedas"
 
 msgid "Adult streaming plugin."
-msgstr "Suaugusiųjų transliacijos priedas."
+msgstr "Transliacijos tik suaugusiems priedas."
 
-#
 msgid "Advanced Options"
-msgstr "Išplėstiniai nustatymai"
+msgstr "Išplėstinės funkcijos"
 
-#
 msgid "Advanced Software"
 msgstr "Išplėstinė programinė įranga"
 
-#
 msgid "Advanced Software Plugin"
 msgstr "Išplėstinė programinės įrangos papildoma programa"
 
-#
 msgid "Advanced Video Enhancement Setup"
-msgstr "Išplėstas vaizdo stiprinimo valdymas"
+msgstr "Išplėstinis vaizdo gerinimo valdymas"
 
-#
 msgid "Advanced Video Setup"
 msgstr "Išplėstiniai vaizdo nustatymai"
 
-#
 msgid "Advanced restore"
 msgstr "Išplėstinis atkūrimas"
 
@@ -725,12 +711,11 @@ msgid ""
 "After a reboot or power outage, StartupToStandby will bring your Dreambox to "
 "standby-mode."
 msgstr ""
-"Po perkrovimo ar elektros energijos nutraukimo, StartupToStandby nukels jūsų "
-"Dreambox į budėjimo režimą."
+"Po perkrovimo ar elektros energijos nutraukimo, StartupToStandby perkels "
+"jūsų Dreambox į budėjimo režimą."
 
-#
 msgid "After event"
-msgstr "Po įvykio"
+msgstr "Po užduoties"
 
 #
 msgid ""
@@ -1002,23 +987,18 @@ msgstr "Automatiškai atnaujinti EPG"
 msgid "Automatically send crashlogs to Dream Multimedia"
 msgstr "Automatiškai siųsti crashlogs į Dream Multimediją"
 
-#
 msgid "Autos & Vehicles"
-msgstr "Automobiliai ir Transporto priemonės"
+msgstr "Automobiliai ir transporto priemonės"
 
-#
 msgid "Autowrite timer"
 msgstr "Automatinis laikamačio perrašymas"
 
-#
 msgid "Available format variables"
-msgstr "Galimi formatai"
+msgstr "Galimi kintami formatai"
 
-#
 msgid "B"
 msgstr "B"
 
-#
 msgid "BA"
 msgstr "BA"
 
@@ -1028,11 +1008,9 @@ msgstr "BASIC-HD Tema nuo Ismail Demir"
 msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
 msgstr "BASIC-HD tema dėl Dreambox atvaizdų sukurta Ismail Demir"
 
-#
 msgid "BB"
 msgstr "BB"
 
-#
 msgid "BER"
 msgstr "BER"
 
@@ -4335,6 +4313,9 @@ msgstr "Liaudis ir Blogai"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock rodo laikrodį ilgam ant ekrano."
 
+msgid "Persian"
+msgstr "Persų"
+
 msgid "Pets & Animals"
 msgstr "Numylėtiniai ir Gyvūnai"
 
index 00c7da297e429a1511113af3dcd16156ecce236b..b733ef15a792ff997faf7999bd44ecee196221e4 100755 (executable)
--- a/po/lv.po
+++ b/po/lv.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2009-02-25 20:35+0200\n"
 "Last-Translator: Ivo Grinbergs <ivog@apollo.lv>\n"
 "Language-Team: Ivo / enigma2 (c) <ivog@apolllo.lv>\n"
@@ -4816,6 +4816,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index aacb390e430e5011fb3d1beae9929bf1b7033177..91f983aa6eb940a622d007bf47a80f2a588519d5 100755 (executable)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,14 +6,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-08-10 14:18+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2011-01-28 09:34+0200\n"
 "Last-Translator: Benny <Benny.DeTandt@gmail.com>\n"
 "Language-Team: <Benny.DeTandt@gmail.com>\n"
+"Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: nl\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Nederlands\n"
@@ -409,7 +409,7 @@ msgid "A BackToTheRoots-Skin ... or good old times."
 msgstr ""
 
 msgid "A basic ftp client"
-msgstr ""
+msgstr "Een basis ftp-client"
 
 msgid "A client for www.dyndns.org"
 msgstr "Een client voor www.dyndns.org"
@@ -447,10 +447,10 @@ msgid "A graphical EPG for all services of an specific bouquet"
 msgstr "Grafische EPG voor alle zenders uit een specifiek boeket"
 
 msgid "A graphical EPG interface"
-msgstr ""
+msgstr "Een grafische EPG interface"
 
 msgid "A graphical EPG interface."
-msgstr ""
+msgstr "Een grafische EPG interface."
 
 #
 msgid ""
@@ -461,13 +461,13 @@ msgstr ""
 "Bestaande item overschrijven en verder gaan?\n"
 
 msgid "A nice looking HD skin from Kerni"
-msgstr ""
+msgstr "Een leuk uitziende HD skin van Kerni"
 
 msgid "A nice looking HD skin in Brushed Alu Design from Kerni."
-msgstr ""
+msgstr "Een leuk uitziende HD skin in geborsteld aluminium van Kerni."
 
 msgid "A nice looking skin from Kerni"
-msgstr ""
+msgstr "Een leuk uitziende skin van Kerni"
 
 #
 #, python-format
@@ -522,7 +522,7 @@ msgstr ""
 "Wilt u de tweede netwerk interface uitschakelen?"
 
 msgid "A simple downloading application for other plugins"
-msgstr ""
+msgstr "Een eenvoudige downloadapplicatie voor andere plugins"
 
 #
 msgid ""
@@ -587,10 +587,10 @@ msgid "About..."
 msgstr "Uw Dreambox"
 
 msgid "Access to the ARD-Mediathek"
-msgstr ""
+msgstr "Toegang tot de ARD-Mediatheek"
 
 msgid "Access to the ARD-Mediathek online video database."
-msgstr ""
+msgstr "Toegang tot de ARD-Mediatheek online video database."
 
 #
 msgid "Accesspoint:"
@@ -722,22 +722,20 @@ msgstr ""
 "te sluiten of gebruik de nummertoetsen om een ander testscherm te selecteren."
 
 msgid "Adult streaming plugin"
-msgstr ""
+msgstr "Volwassen streaming plugin"
 
 msgid "Adult streaming plugin."
-msgstr ""
+msgstr "Volwassen streaming plugin."
 
 #
 msgid "Advanced Options"
 msgstr "Geavanceerde opties"
 
-#
 msgid "Advanced Software"
-msgstr "Geadvanceerde software"
+msgstr "Geavanceerde software"
 
-#
 msgid "Advanced Software Plugin"
-msgstr "Geadvanceerde software plugin"
+msgstr "Geavanceerde software plugin"
 
 #
 msgid "Advanced Video Enhancement Setup"
@@ -755,6 +753,8 @@ msgid ""
 "After a reboot or power outage, StartupToStandby will bring your Dreambox to "
 "standby-mode."
 msgstr ""
+"Na een reboot of stroomuitval, brengt StartupToStandby uw Dreambox in stand-"
+"by."
 
 #
 msgid "After event"
@@ -795,10 +795,12 @@ msgid "Allow zapping via Webinterface"
 msgstr "Zappen via Webinterface toestaan"
 
 msgid "Allows the execution of TuxboxPlugins."
-msgstr ""
+msgstr "Maakt het uitvoeren van TuxboxPlugins mogelijk."
 
 msgid "Allows user to download files from rapidshare in the background."
 msgstr ""
+"Maakt het mogelijk om op de achtergrond bestanden van RapidShare te "
+"downloaden."
 
 #
 msgid "Alpha"
@@ -914,7 +916,7 @@ msgid "Aspect Ratio"
 msgstr "Beeldverhouding"
 
 msgid "Assigning providers/services/caids to a CI module"
-msgstr ""
+msgstr "Toewijzen van zenders/kanalen/caids aan een CI-module"
 
 msgid "Atheros"
 msgstr "Atheros"
@@ -939,6 +941,8 @@ msgid ""
 "AudoSync allows delaying the sound output (Bitstream/PCM) so that it is "
 "synchronous to the picture."
 msgstr ""
+"AudioSync kan geluid (Bitstream/PCM) vertragen zodat het synchroon loopt met "
+"het beeld."
 
 #
 msgid "Australia"
@@ -992,6 +996,8 @@ msgid ""
 "AutoTimer scans the EPG and creates Timers depending on user-defined search  "
 "criteria."
 msgstr ""
+"AutoTimer scant de EPG en creëert Timers afhankelijk van de door de "
+"gebruiker gedefinieerde zoekcriteria."
 
 #
 msgid "Automatic"
@@ -1002,30 +1008,32 @@ msgid "Automatic Scan"
 msgstr "Automatisch zoeken"
 
 msgid "Automatic volume adjustment"
-msgstr ""
+msgstr "Automatische volumeregeling"
 
 msgid "Automatic volume adjustment for ac3/dts services."
-msgstr ""
+msgstr "Automatische volume aanpassing voor AC3/DTS."
 
 msgid "Automatically change video resolution"
-msgstr ""
+msgstr "Automatisch veranderen videoresolutie"
 
 msgid ""
 "Automatically changes the output resolution depending on the video "
 "resolution you are watching."
 msgstr ""
+"Verandert automatisch de output resolutie, afhankelijk van de videoresolutie "
+"waar u naar kijkt."
 
 msgid "Automatically create timer events based on keywords"
-msgstr ""
+msgstr "Maakt automatisch timers aan op basis van trefwoorden"
 
 msgid "Automatically informs you on low internal memory"
-msgstr ""
+msgstr "Automatisch informeert u over weinig intern geheugen"
 
 msgid "Automatically refresh EPG"
-msgstr ""
+msgstr "Automatisch vernieuwen EPG"
 
 msgid "Automatically send crashlogs to Dream Multimedia"
-msgstr ""
+msgstr "Automatisch verzenden crash logboeken naar Dream Multimedia"
 
 #
 msgid "Autos & Vehicles"
@@ -1048,10 +1056,10 @@ msgid "BA"
 msgstr "BA"
 
 msgid "BASIC-HD Skin by Ismail Demir"
-msgstr ""
+msgstr "Basic-HD skin van Ismail Demir"
 
 msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
-msgstr ""
+msgstr "Basic-HD skin voor Enigma2 images van Ismail Demir"
 
 #
 msgid "BB"
@@ -1142,10 +1150,10 @@ msgid "Blue boost"
 msgstr "Blauwe impuls"
 
 msgid "Bonjour/Avahi control plugin"
-msgstr ""
+msgstr "Bonjour/Avahi control plugin"
 
 msgid "Bonjour/Avahi control plugin."
-msgstr ""
+msgstr "Bonjour/Avahi control plugin."
 
 #
 msgid "Bookmarks"
@@ -1164,10 +1172,10 @@ msgid "Brightness"
 msgstr "Helderheid"
 
 msgid "Browse for and connect to network shares"
-msgstr ""
+msgstr "Blader naar en maak verbinding met het netwerk"
 
 msgid "Browse for nfs/cifs shares and connect to them."
-msgstr ""
+msgstr "Blader naar nfs/cifs en maak verbinding."
 
 #
 msgid "Browse network neighbourhood"
@@ -1186,7 +1194,7 @@ msgid "Burn to DVD"
 msgstr "Schrijf op DVD"
 
 msgid "Burn your recordings to DVD"
-msgstr ""
+msgstr "Brand uw opnamen op DVD"
 
 #
 msgid "Bus: "
@@ -1296,13 +1304,13 @@ msgid "Change pin code"
 msgstr "Verander pincode"
 
 msgid "Change service PIN"
-msgstr ""
+msgstr "Wijzig zender pincode"
 
 msgid "Change service PINs"
-msgstr ""
+msgstr "Wijzig zender pincode"
 
 msgid "Change setup PIN"
-msgstr ""
+msgstr "Wijzig menu pincode"
 
 #
 msgid "Change step size"
@@ -1424,10 +1432,10 @@ msgid "Cleanup Wizard settings"
 msgstr "Cleanup Wizard instellingen"
 
 msgid "Cleanup timerlist automatically"
-msgstr ""
+msgstr "Ruimt de timerlijst automatisch op"
 
 msgid "Cleanup timerlist automatically."
-msgstr ""
+msgstr "Ruimt de timerlijst automatisch op."
 
 #
 msgid "CleanupWizard"
@@ -1556,7 +1564,7 @@ msgid "Configure nameservers"
 msgstr "Configureer nameservers"
 
 msgid "Configure your WLAN network interface"
-msgstr ""
+msgstr "Configureer uw WLAN netwerkinterface"
 
 #
 msgid "Configure your internal LAN"
@@ -1619,28 +1627,29 @@ msgid "Contrast"
 msgstr "Contrast"
 
 msgid "Control your Dreambox with your Web browser."
-msgstr ""
+msgstr "Bedien uw Dreambox met uw webbrowser."
 
 msgid "Control your Dreambox with your browser"
-msgstr ""
+msgstr "Bedien uw Dreambox met uw browser"
 
 msgid "Control your dreambox with only the MUTE button"
-msgstr ""
+msgstr "Bedien uw ontvanger met slechts de mute-knop"
 
 msgid "Control your dreambox with only the MUTE button."
-msgstr ""
+msgstr "Bedien uw ontvanger met slechts de mute-knop."
 
 msgid "Control your internal system fan."
-msgstr ""
+msgstr "Bedien uw interne systeem ventilator."
 
 msgid "Control your kids's tv usage"
-msgstr ""
+msgstr "Controleer het TV gebruik van uw kinderen"
 
 msgid "Control your system fan"
-msgstr ""
+msgstr "Bedien uw ventilator"
 
 msgid "Copy, rename, delete, move local files on your Dreambox."
 msgstr ""
+"Kopiëren, hernoemen, wissen, verplaatsen lokale bestanden op je Dreambox."
 
 #
 msgid "Could not connect to Dreambox .NFI Image Feed Server:"
@@ -1689,9 +1698,10 @@ msgstr "DVD-ISO maken"
 
 msgid "Create a backup of your Video DVD on your DreamBox hard drive."
 msgstr ""
+"Maak een back-up van van uw Video-DVD op de harde schijf van uw ontvanger"
 
 msgid "Create a backup of your Video-DVD"
-msgstr ""
+msgstr "Maak een back-up van van uw Video-DVD"
 
 #
 msgid "Create a new AutoTimer."
@@ -1710,7 +1720,7 @@ msgid "Create movie folder failed"
 msgstr "Aanmaken van de opnamemap is mislukt"
 
 msgid "Create preview pictures of your Movies"
-msgstr ""
+msgstr "Maakt voorbeeld miniaturen aan van uw films"
 
 msgid "Create remote timers"
 msgstr ""
@@ -1783,23 +1793,23 @@ msgid "Customize"
 msgstr "Diversen"
 
 msgid "Customize Vali-XD skins"
-msgstr ""
+msgstr "Pas Vali-XD skins aan"
 
 msgid "Customize Vali-XD skins by yourself."
-msgstr ""
+msgstr "Pas Vali-XD skins zelf aan."
 
 #
 msgid "Cut"
 msgstr "Knip"
 
 msgid "Cut your movies"
-msgstr ""
+msgstr "Bewerk uw films"
 
 msgid "Cut your movies."
-msgstr ""
+msgstr "Bewerk uw films."
 
 msgid "CutListEditor allows you to edit your movies"
-msgstr ""
+msgstr "Met CutList Editor kunt u uw films bewerken"
 
 msgid ""
 "CutListEditor allows you to edit your movies.\n"
@@ -1807,6 +1817,11 @@ msgid ""
 "cut'.\n"
 "Then seek to the end, press OK, select 'end cut'. That's it."
 msgstr ""
+"Met CutListEditor kunt u uw opnames bewerken.\n"
+"Ga naar het begin van het deel dat u wilt knippen. Druk op 'OK', kies 'start "
+"cut'.\n"
+"Ga vervolgens naar het einde van het deel dat u wilt knippen, druk op 'OK', "
+"kies 'end cut'. Dat is alles. "
 
 #
 msgid "Cutlist editor..."
@@ -1857,7 +1872,7 @@ msgid "DVD media toolbox"
 msgstr "DVD medium hulpmiddel"
 
 msgid "DVDPlayer plays your DVDs on your Dreambox"
-msgstr ""
+msgstr "DVD-speler speelt uw DVD's af op uw Dreambox"
 
 msgid ""
 "DVDPlayer plays your DVDs on your Dreambox.\n"
@@ -1919,10 +1934,10 @@ msgid "Defaults"
 msgstr "Standaard"
 
 msgid "Define a startup service"
-msgstr ""
+msgstr "Bepaal de status na opstarten"
 
 msgid "Define a startup service for your Dreambox."
-msgstr ""
+msgstr "Bepaal de status na het opstarten van uw Dreambox."
 
 #
 msgid "Delay"
@@ -1970,7 +1985,7 @@ msgid "Deselect"
 msgstr "Deselecteer"
 
 msgid "Details for plugin: "
-msgstr ""
+msgstr "Details voor plugin: "
 
 #
 msgid "Detected HDD:"
@@ -2017,7 +2032,7 @@ msgid "Dir:"
 msgstr "Map:"
 
 msgid "Direct playback of Youtube videos"
-msgstr ""
+msgstr "Directe weergave van Youtube video's"
 
 #
 msgid "Direct playback of linked titles without menu"
@@ -2090,10 +2105,10 @@ msgid "Display search results by:"
 msgstr "Zoekresultaten weergeven voor:"
 
 msgid "Display your photos on the TV"
-msgstr ""
+msgstr "Toon uw foto's op de TV"
 
 msgid "Displays movie information from the InternetMovieDatabase"
-msgstr ""
+msgstr "Geeft informatie over films uit de InternetMovieDatabase"
 
 #
 #, python-format
@@ -2276,7 +2291,7 @@ msgid "Download Video"
 msgstr "Download Video"
 
 msgid "Download files from Rapidshare"
-msgstr ""
+msgstr "Downloaden bestanden van Rapidshare"
 
 #
 msgid "Download location"
@@ -2336,6 +2351,10 @@ msgid ""
 "(in standby mode without any running recordings) to perform updates of the "
 "epg information on these channels."
 msgstr ""
+"EPGRefresh zal automatisch op de door de u ingestelde kanalen afstemmen als "
+"de ontvanger niet in gebruik is\n"
+"(in standby zonder dat er een opname loopt) om de EPG-gegevens van die "
+"kanalen in te lezen. "
 
 #
 #, python-format
@@ -2399,10 +2418,10 @@ msgid "Edit settings"
 msgstr "Instellingen wijzigen"
 
 msgid "Edit tags of recorded movies"
-msgstr ""
+msgstr "Tags bewerken van opgenomen films"
 
 msgid "Edit tags of recorded movies."
-msgstr ""
+msgstr "Tags bewerken van opgenomen films."
 
 #
 msgid "Edit the Nameserver configuration of your Dreambox.\n"
@@ -2683,7 +2702,7 @@ msgid "Execute \"after event\" during timespan"
 msgstr "Uitvoeren na gebeurtenis gedurende tijdspanne"
 
 msgid "Execute TuxboxPlugins"
-msgstr ""
+msgstr "Voer TuxboxPlugins uit"
 
 #
 msgid "Execution Progress:"
@@ -2931,7 +2950,7 @@ msgid "Frisian"
 msgstr "Fries"
 
 msgid "FritzCall shows incoming calls to your Fritz!Box on your Dreambox."
-msgstr ""
+msgstr "FritzCall toont inkomende gesprekken op uw Dreambox."
 
 msgid "Frontend for /tmp/mmi.socket"
 msgstr ""
@@ -2954,14 +2973,16 @@ msgstr ""
 "de nieuwe skin te activeren. Nu herstarten?"
 
 msgid "GUI that allows user to change the ftp- / telnet password."
-msgstr ""
+msgstr "Gebruikersinterface voor het aanpassen van het FTP-/telnet-wachtwoord."
 
 msgid ""
 "GUI that allows user to change the ftp-/telnet-password of the Dreambox."
 msgstr ""
+"Gebruikersinterface voor het aanpassen van het FTP-/telnet-wachtwoord van uw "
+"Dreambox."
 
 msgid "GUI to change the ftp and telnet-password"
-msgstr ""
+msgstr "Gebruikersinterface voor het aanpassen van het FTP-/telnet-wachtwoord."
 
 #
 msgid "Gaming"
@@ -2998,24 +3019,24 @@ msgid "Genuine Dreambox validation failed!"
 msgstr "Echtheid Dreambox validatie mislukt!"
 
 msgid "Genuine Dreambox verification"
-msgstr ""
+msgstr "Echtheid Dreambox controle"
 
 #
 msgid "German"
 msgstr "Duits"
 
 msgid "German storm information"
-msgstr ""
+msgstr "Duitse weersinformatie"
 
 msgid "German traffic information"
-msgstr ""
+msgstr "Duitse verkeersinformatie"
 
 #
 msgid "Germany"
 msgstr "Duitsland"
 
 msgid "Get AudioCD info from CDDB and CD-Text"
-msgstr ""
+msgstr "Toont AudioCD-informatie van de CDDB en van CD-tekst"
 
 msgid "Get latest experimental image"
 msgstr "Ontvang het laatste experimentele image"
@@ -3040,12 +3061,14 @@ msgid "Goto position"
 msgstr "Naar positie draaien"
 
 msgid "GraphMultiEPG shows a graphical timeline EPG"
-msgstr ""
+msgstr "GraphMultiEPG toont de EPG op een grafische tijdschaal"
 
 msgid ""
 "GraphMultiEPG shows a graphical timeline EPG.\n"
 "Shows a nice overview of all running und upcoming tv shows."
 msgstr ""
+"GraphMultiEPG toont de EPG op een grafische tijdschaal.\n"
+"Geeft een mooi overzicht van alle lopende en komende programma's."
 
 #
 msgid "Graphical Multi EPG"
@@ -3146,7 +3169,7 @@ msgid "Horizontal"
 msgstr "Horizontaal"
 
 msgid "Hotplugging for removeable devices"
-msgstr ""
+msgstr "Hotplugging voor verwijderbare opslagmedia"
 
 #
 msgid "How many minutes do you want to record?"
@@ -3179,11 +3202,10 @@ msgid "IP:"
 msgstr "IP:"
 
 msgid "IRC Client for Enigma2"
-msgstr ""
+msgstr "IRC Client voor Enigma2"
 
-#
 msgid "ISO file is too large for this filesystem!"
-msgstr "ISO betand is te groot voor dit bestandsysteem!"
+msgstr "ISO bestand is te groot voor dit bestandsysteem!"
 
 #
 msgid "ISO path"
@@ -3403,7 +3425,7 @@ msgid "Internal LAN adapter."
 msgstr "Interne LAN adapter."
 
 msgid "Internal firmware updater"
-msgstr ""
+msgstr "Interne firmware updater"
 
 #
 msgid "Invalid Location"
@@ -3473,10 +3495,10 @@ msgid "Italian"
 msgstr "Italiaans"
 
 msgid "Italian Weather forecast on Dreambox"
-msgstr ""
+msgstr "Italiaanse weersverwachting op uw Dreambox"
 
 msgid "Italian Weather forecast on Dreambox from www.google.it."
-msgstr ""
+msgstr "Italiaanse weersverwachting van www.google.it op uw Dreambox"
 
 #
 msgid "Italy"
@@ -3529,7 +3551,7 @@ msgid "Kerni's dreamTV-HD skin"
 msgstr "Kerni's dreamTV-HD skin"
 
 msgid "Kerni's simple skin"
-msgstr ""
+msgstr "Kerni's eenvoudige skin"
 
 msgid "Kerni-HD1 skin"
 msgstr "Kerni-HD1 skin"
@@ -3666,10 +3688,10 @@ msgid "List of Storage Devices"
 msgstr "Lijst van opslagmedia"
 
 msgid "Listen and record internet radio"
-msgstr ""
+msgstr "Luister en neem internet radio op"
 
 msgid "Listen and record shoutcast internet radio on your Dreambox."
-msgstr ""
+msgstr "Luister en neem shoutcast internet radio op op je Dreambox."
 
 #
 msgid "Lithuanian"
@@ -3772,9 +3794,11 @@ msgstr "Beheren van lokale bestanden"
 
 msgid "Manage logos to display at boot time or while in radio mode."
 msgstr ""
+"Beheer logo's om te laten zien tijdens het opstarten of terwijl in radio "
+"modus."
 
 msgid "Manage logos to display at boottime"
-msgstr ""
+msgstr "Beheren van logo's weer te geven bij het opstarten"
 
 #
 msgid "Manage network shares"
@@ -3783,6 +3807,8 @@ msgstr "Beheer gedeelde netwerkmappen"
 msgid ""
 "Manage your music files in a database, play it with Merlin Music Player."
 msgstr ""
+"Beheer muziekbestanden in een database, speel die af met de Merlin Music "
+"Player."
 
 msgid "Manage your network shares..."
 msgstr "Beheer uw netwerkverbindingen."
@@ -4058,10 +4084,10 @@ msgid "Move west"
 msgstr "Draai west"
 
 msgid "Movie information from the Online Film Datenbank (German)."
-msgstr ""
+msgstr "Film informatie uit de Online Film Datenbank(Duits)."
 
 msgid "Movie informations from the Online Film Datenbank"
-msgstr ""
+msgstr "Film informatie uit de Online Film Datenbank"
 
 #
 msgid "Movie location"
@@ -4070,11 +4096,14 @@ msgstr "Opname locatie"
 msgid ""
 "MovieTagger adds tags to recorded movies to sort a large list of movies."
 msgstr ""
+"MovieTagger voegt tags toe aan opnames om die gemakkelijk te kunnen sorteren."
 
 msgid ""
 "Movielist Preview creates screenshots of recordings and shows them inside "
 "the movielist."
 msgstr ""
+"Movielist Preview maakt schermafbeeldingen van opnames en toont die in de "
+"opnamelijst."
 
 #
 msgid "Movielist menu"
@@ -4352,7 +4381,7 @@ msgid "New"
 msgstr "Nieuw"
 
 msgid "New PIN"
-msgstr ""
+msgstr "Nieuwe pincode"
 
 #
 msgid "New Zealand"
@@ -4816,6 +4845,9 @@ msgstr "Mensen & Blogs"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock toont de klok permanent op het scherm."
 
+msgid "Persian"
+msgstr ""
+
 msgid "Pets & Animals"
 msgstr "Huisdieren & Dieren"
 
@@ -4889,13 +4921,13 @@ msgid "Playback of Youtube through a PC"
 msgstr "Het afspelen van Youtube door middel van een PC"
 
 msgid "Player for Network and Internet Streams"
-msgstr ""
+msgstr "Speler voor netwerk-en internet streams"
 
 msgid "Player for Network and Internet Streams."
-msgstr ""
+msgstr "Speler voor netwerk-en internet streams."
 
 msgid "Plays your favorite music and videos"
-msgstr ""
+msgstr "Speelt uw favoriete muziek en video's af"
 
 #
 msgid "Please Reboot"
@@ -4984,7 +5016,7 @@ msgid "Please enter the correct pin code"
 msgstr "Gelieve de juiste pincode in te voeren"
 
 msgid "Please enter the old PIN code"
-msgstr ""
+msgstr "Oude pincode invoeren a.u.b."
 
 #
 msgid "Please enter your email address here:"
@@ -5455,7 +5487,7 @@ msgid "RGB"
 msgstr "RGB"
 
 msgid "RSS viewer"
-msgstr ""
+msgstr "RSS-viewer"
 
 #
 msgid "Radio"
@@ -5567,7 +5599,7 @@ msgid "Recordings always have priority"
 msgstr "Een opname heeft altijd voorrang"
 
 msgid "Reenter new PIN"
-msgstr ""
+msgstr "Voer nieuwe pincode nogmaals in"
 
 #
 msgid "Refresh Rate"
@@ -5593,10 +5625,10 @@ msgid "Reload Black-/Whitelists"
 msgstr "Herlaad zwarte-/witte lijst"
 
 msgid "Remember service PIN"
-msgstr ""
+msgstr "Onthoud zender pincode"
 
 msgid "Remember service PIN cancel"
-msgstr ""
+msgstr "Onthoud zender pincode bij annuleren"
 
 msgid "Remote timer and remote TV player"
 msgstr ""
@@ -5667,7 +5699,7 @@ msgid "Rename crashlogs"
 msgstr "Hernoem crashlogs"
 
 msgid "Rename your movies"
-msgstr ""
+msgstr "Hernoem uw films"
 
 #
 msgid "Repeat"
@@ -6041,7 +6073,7 @@ msgid "Scan band US SUPER"
 msgstr "Zoek band US SUPER"
 
 msgid "Scan devices for playable media files"
-msgstr ""
+msgstr "Scan apparaten voor afspeelbare mediabestanden"
 
 #
 msgid "Scan range"
@@ -6100,7 +6132,7 @@ msgid "Search strictness"
 msgstr "Hoe strikt zoeken"
 
 msgid "Search through the EPG"
-msgstr ""
+msgstr "Zoeken via de EPG"
 
 #
 msgid "Search type"
@@ -6352,7 +6384,7 @@ msgid "Services"
 msgstr "Zenders"
 
 msgid "Set Bitstream/PCM audio delays"
-msgstr ""
+msgstr "Stel Bitstream/PCM audio vertragingen in"
 
 #
 msgid "Set End Time"
@@ -6497,7 +6529,7 @@ msgid "Show the tv player..."
 msgstr "TV weergave modus..."
 
 msgid "Show webcam pictures on your TV Screen"
-msgstr ""
+msgstr "Toon webcam foto's op uw TV-scherm"
 
 msgid ""
 "Shows a list containing the zapping-history and allows user to zap to the "
@@ -6505,10 +6537,10 @@ msgid ""
 msgstr ""
 
 msgid "Shows a list of recent zap entries"
-msgstr ""
+msgstr "Toont een lijst van recente zap activiteit"
 
 msgid "Shows average bitrate of video and audio"
-msgstr ""
+msgstr "Toont de gemiddelde bitrate van video en audio"
 
 msgid "Shows statistics of watched services"
 msgstr ""
@@ -6991,7 +7023,7 @@ msgid "Test the network configuration of your Dreambox.\n"
 msgstr "Test de netwerkconfiguratie van uw Dreambox.\n"
 
 msgid "Test your DiSEqC equipment"
-msgstr ""
+msgstr "Test uw DiSEqC-apparatuur"
 
 #
 msgid "Test-Messagebox?"
@@ -7028,6 +7060,9 @@ msgid ""
 "has dropped below a definable threshold.You can use this wizard to remove "
 "some plugins."
 msgstr ""
+"De CleanupWizard informeert u wanneer het interne geheugen van uw dreambox "
+"gedaald is onder een instelbare waarde. U kunt deze wizard gebruiken om een "
+"aantal plugins te verwijderen."
 
 #
 msgid ""
@@ -7060,15 +7095,17 @@ msgstr ""
 "Installeer deze a.u.b."
 
 msgid "The PIN code has been changed successfully."
-msgstr ""
+msgstr "De pincode is succesvol gewijzigd."
 
 msgid "The PIN codes you entered are different."
-msgstr ""
+msgstr "De ingevoerde pincodes komen niet overeen."
 
 msgid ""
 "The PicturePlayer displays your photos on the TV.\n"
 "You can view them as thumbnails or slideshow."
 msgstr ""
+"De PicturePlayer toont uw foto's op de TV.\n"
+"U kunt ze bekijken als miniaturen of diavoorstelling."
 
 msgid ""
 "The Satfinder plugin helps you to align your dish.\n"
@@ -7085,6 +7122,10 @@ msgid ""
 "It's easy to update your receiver's software, install or remove plugins or "
 "even backup and restore your system settings."
 msgstr ""
+"De SoftwareManager beheert uw Dreambox software.\n"
+"Het is gemakkelijk om uw ontvanger software te bijwerken, installeren of "
+"verwijderen van plugins of zelfs back-up en herstellen van uw "
+"systeeminstellingen."
 
 #
 msgid ""
@@ -7122,6 +7163,7 @@ msgstr ""
 msgid ""
 "The VideoEnhancement plugin provides advanced video enhancement settings."
 msgstr ""
+"De VideoEnhancement plugin biedt geavanceerde videoverbetering instellingen."
 
 msgid ""
 "The VideoTune helps fine-tuning your tv display.\n"
@@ -7129,7 +7171,7 @@ msgid ""
 msgstr ""
 
 msgid "The Videomode plugin provides advanced video mode settings."
-msgstr ""
+msgstr "De videomode plugin biedt geavanceerde video-instellingen."
 
 msgid ""
 "The WirelessLan plugin helps you configuring your WLAN network interface."
@@ -8327,10 +8369,10 @@ msgid "Watch streams from ZDF Mediathek"
 msgstr ""
 
 msgid "WeatherPlugin shows weatherforecasts on your Dreambox."
-msgstr ""
+msgstr "WeatherPlugin toont de weersverwachting op uw Dreambox."
 
 msgid "Weatherforecast on your Dreambox"
-msgstr ""
+msgstr "De weersverwachting op uw Dreambox."
 
 #
 msgid "Webinterface"
@@ -8390,7 +8432,6 @@ msgstr ""
 "vernieuwen van de software in uw Dreambox, het maken van een back-up van uw "
 "huidige instellingen en geeft u een korte uitleg over dit proces."
 
-#
 msgid ""
 "Welcome to the MyTube Youtube Player.\n"
 "\n"
@@ -8405,7 +8446,7 @@ msgid ""
 "\n"
 "The Help button shows this help again."
 msgstr ""
-"Wekom bij de MyTube Youtube speler.\n"
+"Welkom bij de MyTube Youtube speler.\n"
 "\n"
 "Gebruik de boeket+ toets om te navigeren naar het zoekveld en de boeket- om "
 "te navigeren naar de video inzendingen.\n"
@@ -8418,7 +8459,6 @@ msgstr ""
 "\n"
 "De knop Help geeft deze hulp weer."
 
-#
 msgid ""
 "Welcome to the MyTube Youtube Player.\n"
 "\n"
@@ -8430,11 +8470,14 @@ msgid ""
 "\n"
 "Press exit to get back to the input field."
 msgstr ""
-"Wekom bij de MyTube Youtube speler.\n"
+"Welkom bij de MyTube Youtube speler.\n"
 "\n"
 "Tijdens het invoeren van je zoekterm(en) krijg je suggesties weergegeven die "
 "overeenkomen met uw zoekterm.\n"
 "\n"
+"Om een suggestie te selecteren druk op DOWN van uw afstandsbediening, "
+"selecteer het gewenste resultaat en druk op OK om het zoeken te starten.\n"
+"\n"
 "Druk op exit om terug te keren naar het zoek veld."
 
 #
@@ -8515,6 +8558,8 @@ 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 ""
+"Als deze optie is ingesteld zal AutoTimer geen gebeurtenissen koppelen als "
+"een andere timer met dezelfde beschrijving al bestaat."
 
 #
 msgid ""
@@ -8557,6 +8602,8 @@ msgid ""
 "With AntiScrollbar you can cover up annoying ticker lines (e.g. in news "
 "channels)."
 msgstr ""
+"Met de AntiScrollbar kunt u hinderlijke 'ticker lines' (b.v. bij "
+"nieuwskanalen) verbergen."
 
 msgid ""
 "With DVDBurn you can make compilations of records from your Dreambox hard "
@@ -8565,27 +8612,38 @@ msgid ""
 "a standard-compliant DVD that can be played on conventinal DVD players.\n"
 "HDTV recordings can only be burned in proprietary dreambox format."
 msgstr ""
+"Met DVDBurn kunt u compilaties maken van opnames op de schijf van uw "
+"ontvanger.\n"
+"Optioneel kunt u aanpasbare menu's toevoegen. De compilatie kan worden "
+"opgeslagen op een standaard DVD die op een convetionele DVD-speler kan "
+"worden afgespeeld.\n"
+"HDTV opnames kunnen alleen maar worden opgeslagen in het standaard .ts-"
+"formaat."
 
 msgid "With EPGSearch you can search through the EPG and create timers."
-msgstr ""
+msgstr "Met EPGSearch kunt u de EPG doorzoeken en timers aanmaken."
 
 msgid "With Genuine Dreambox you can verify the authenticity of your Dreambox."
 msgstr ""
+"Met Genuine Dreambox kunt u de authenticiteit van uw Dreambox verifieren."
 
 msgid ""
 "With IMDb you can download and displays movie information (rating, poster, "
 "cast, synopsis etc.) about the selected event."
 msgstr ""
+"Met IMDB kunt u informatie binnenhalen en vertonen (waardering, poster, "
+"cast, beschrijving etc) over de geselecteerde opname."
 
 msgid "With MovieRetitle you can rename your movies."
-msgstr ""
+msgstr "Met MovieRetitle kunt u de naam van uw films wijzigen."
 
 msgid ""
 "With MyTube you can play YouTube videos directly on your TV without a PC."
 msgstr ""
+"Met MyTube kunt u YouTube-video's direct afspelen op uw TV zonder een PC."
 
 msgid "With WebcamViewer you can watch webcams on your TV Screen."
-msgstr ""
+msgstr "Met Webcam Viewer kunt u webcams bekijken op uw TV-scherm."
 
 msgid ""
 "With Werbezapper you can bridge commercials by creating short timers\n"
@@ -8604,6 +8662,10 @@ msgid ""
 "each of them.\n"
 "This allows watching a scrambled service while recording another one."
 msgstr ""
+"Met de CommonInterfaceAssignment plugin kunt u aan elke CI-module in uw "
+"ontvanger specifieke providers/services/caids toewijzen.\n"
+"Dit maakt het mogelijk naar een versleutelde uitzending te kijken en "
+"tegelijkertijd een andere op te nemen."
 
 msgid ""
 "With the CrashlogAutoSubmit plugin it is possible to automaticallymail "
@@ -8614,21 +8676,28 @@ msgid ""
 "With the DefaultServicesScanner plugin you can scan default lamedbs sorted "
 "by satellite with a connected dish positioner."
 msgstr ""
+"Met de DefaultServicesScanner plugin kunt u met een gemotoriseerde schotel "
+"de default lamedbs scannen op volgorde van satellieten."
 
 msgid ""
 "With the DiseqcTester plugin you can test your satellite equipment for "
 "DiSEqC compatibility and errors."
 msgstr ""
+"Met de DiseqcTester plugin kunt u uw installatie controleren op DiSEqC-"
+"compatibiliteit en -fouten."
 
 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 ""
+"Met de NFIFlash plugin kunt u een USB-stick met een Dreambox-image "
+"gereedmaken.\n"
+"U kunt dan uw Dreambox flashen met het image op de stick."
 
 msgid ""
 "With the NetworkWizard you can easily configure your network step by step."
-msgstr ""
+msgstr "Met de NetworkWizard kunt u stap-voor-stap uw netwerk configureren."
 
 msgid ""
 "With the PositionerSetup plugin it is easy to install and configure a "
@@ -8872,6 +8941,9 @@ msgid ""
 "\n"
 "Do you want to set the pin now?"
 msgstr ""
+"Voer nu een pincode in en verberg het voor uw kinderen.\n"
+"\n"
+"Wilt u nu een pincode instellen?"
 
 #
 msgid ""
@@ -9775,15 +9847,14 @@ msgid "not locked"
 msgstr "niet vergrendeld"
 
 msgid "not supported"
-msgstr ""
+msgstr "niet ondersteund"
 
 #
 msgid "not used"
 msgstr "niet gebruikt"
 
-#
 msgid "nothing connected"
-msgstr "niets aangesloten"
+msgstr "Niets aangesloten"
 
 #
 msgid "of a DUAL layer medium used."
@@ -10020,7 +10091,7 @@ msgid "select the movie path"
 msgstr "Selecteer het opname pad"
 
 msgid "service PIN"
-msgstr ""
+msgstr "zender pincode"
 
 msgid "set enigma2 to standby-mode after startup"
 msgstr ""
@@ -10030,7 +10101,7 @@ msgid "sets the Audio Delay (LipSync)"
 msgstr "Stelt de audio vertraging in (Lipsync)"
 
 msgid "setup PIN"
-msgstr ""
+msgstr "menu pincode"
 
 #
 msgid "show DVD main menu"
@@ -10221,7 +10292,7 @@ msgid "toggle time, chapter, audio, subtitle info"
 msgstr "Tijd, hoofdstuk, audio en ondertitels instellen"
 
 msgid "tuner is not supported"
-msgstr ""
+msgstr "tuner wordt niet ondersteund"
 
 #
 msgid "unavailable"
index b7baaefc484d62555d529da31d271bc5bec76350..a089b9dc217441aeda5a3b079ff2bde2756b878c 100755 (executable)
--- a/po/no.po
+++ b/po/no.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-06-12 14:34+0100\n"
 "Last-Translator: MMMMMM <theMMMMMM@gmail.com>\n"
 "Language-Team: none\n"
@@ -4743,6 +4743,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index bc2a30c9b5dc2af39f63d14c29b1cc4f54e43fd7..703e02d5fa93247a0c20db7702c17b67f272acf6 100755 (executable)
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-07-23 12:21+0200\n"
 "Last-Translator: Mladen <acid-burn@opendreambox.org>\n"
 "Language-Team: none\n"
@@ -4871,6 +4871,9 @@ msgstr "Ludzie & Blogi"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "PermanentClock pokazuje na stałe zegar na ekranie."
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Zwierzęta"
index c69892f3f97a61e8422b82aeec6cc5ee642b2d8d..0051f5e26c4bcd7ae6f0e3fa42a975c27008c394 100755 (executable)
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma Portuguese\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-03-30 18:45-0000\n"
 "Last-Translator: Muaitai <muaitai@gmail.com>\n"
 "Language-Team: Muaitai <muaitai@gmail.com>\n"
@@ -4744,6 +4744,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index f109664cf2a21a4e7d4de6bc7b58682c450fb6a3..d748c01cfe2a513a991d1b2b56b08cbc9844b4df 100755 (executable)
--- a/po/ru.po
+++ b/po/ru.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-05-18 18:10+0200\n"
 "Last-Translator: peter <peter@dreambox.org.ua>\n"
 "Language-Team: Russian / enigma(c) Ukraine, Kiev>\n"
@@ -4759,6 +4759,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index e11193bc2e9e61525479b434e3c7f253af8bdcb5..12fb3aeb9d0f81ec55fe0058c67fee8d0024874f 100755 (executable)
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-05-12 13:09+0200\n"
 "Last-Translator: acid-burn <>\n"
 "Language-Team: none\n"
@@ -3946,6 +3946,9 @@ msgstr "Ľudia a blogy"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr "Stále hodiny zobrazujú čas na obrazovke trvalo."
 
+msgid "Persian"
+msgstr ""
+
 msgid "Pets & Animals"
 msgstr "Deti a zvieratá"
 
index 40b0d5b796dc284207e0e3355cfd3a724fb9cca7..f49fe2c78d937b144f7f210af4320a8c50ff1bb7 100755 (executable)
--- a/po/sl.po
+++ b/po/sl.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ENIGMA 1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2009-01-25 13:59+0100\n"
 "Last-Translator: Gregor <greg.domajnko@gmail.com>\n"
 "Language-Team: \n"
@@ -4771,6 +4771,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index 7c2864b55e678beca11fdaf88fb11934eef38f72..9b59a08ed4ab226d949778edbe767967287b958a 100755 (executable)
--- a/po/sr.po
+++ b/po/sr.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2009-10-10 11:18+0100\n"
 "Last-Translator: maja <jovanovic@gmx.ch>\n"
 "Language-Team: veselin & majevica CRNABERZA <jovanovic@gmx.ch>\n"
@@ -4842,6 +4842,9 @@ msgstr "Ljudi & Blogovi"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Kućni ljub.& životinje"
index f8390e4bfb7049e17123652263ea1d0459c2d2ea..ebbf80d39fbc5f9823b455ab18f9238d918b8ed9 100755 (executable)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,13 +7,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
-"PO-Revision-Date: 2010-11-17 08:06+0200\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
+"PO-Revision-Date: 2010-12-08 08:01+0200\n"
 "Last-Translator: sig <sigstop@hotmail.com>\n"
-"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: sv\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Swedish\n"
@@ -384,16 +384,16 @@ msgid "A"
 msgstr "A"
 
 msgid "A BackToTheRoots-Skin .. or good old times."
-msgstr ""
+msgstr "Ett TillbakaTillRötterna-Skin .. eller gamla goda tider."
 
 msgid "A BackToTheRoots-Skin ... or good old times."
-msgstr ""
+msgstr "Ett TillbakaTillRötterna-Skin ... eller gamla goda tider."
 
 msgid "A basic ftp client"
-msgstr ""
+msgstr "En enkel ftp klient"
 
 msgid "A client for www.dyndns.org"
-msgstr ""
+msgstr "En klient för www.dyndns.org"
 
 #
 #, python-format
@@ -428,10 +428,10 @@ msgid "A graphical EPG for all services of an specific bouquet"
 msgstr "En grafisk EPG för alla kanaler i en vald favoritlista"
 
 msgid "A graphical EPG interface"
-msgstr ""
+msgstr "Ett grafiskt EPG gränssnitt"
 
 msgid "A graphical EPG interface."
-msgstr ""
+msgstr "Ett grafiskt EPG gränssnitt."
 
 #
 msgid ""
@@ -442,13 +442,13 @@ msgstr ""
 "Uppdatera befintlig monteringspunkt och forsätta?\n"
 
 msgid "A nice looking HD skin from Kerni"
-msgstr ""
+msgstr "Ett snyggt HD skin från Kerni"
 
 msgid "A nice looking HD skin in Brushed Alu Design from Kerni."
-msgstr ""
+msgstr "Ett snyggt HD skin i Borstat Alu Design från Kerni."
 
 msgid "A nice looking skin from Kerni"
-msgstr ""
+msgstr "Ett snyggt skin från Kerni"
 
 #
 #, python-format
@@ -502,7 +502,7 @@ msgstr ""
 "Vill du avaktivera sekundärt nätverkskort?"
 
 msgid "A simple downloading application for other plugins"
-msgstr ""
+msgstr "En enkel nedladdnings applikation för andra plugins"
 
 #
 msgid ""
@@ -569,10 +569,10 @@ msgid "About..."
 msgstr "Om..."
 
 msgid "Access to the ARD-Mediathek"
-msgstr ""
+msgstr "Tillgång till ARD-Mediathek"
 
 msgid "Access to the ARD-Mediathek online video database."
-msgstr ""
+msgstr "Tillgång till ARD-Mediathek online video databas."
 
 #
 msgid "Accesspoint:"
@@ -705,10 +705,10 @@ msgstr ""
 "välja annan testbild."
 
 msgid "Adult streaming plugin"
-msgstr ""
+msgstr "Vuxenstreaming klient"
 
 msgid "Adult streaming plugin."
-msgstr ""
+msgstr "Vuxenstreaming klient."
 
 #
 msgid "Advanced Options"
@@ -737,6 +737,8 @@ msgid ""
 "After a reboot or power outage, StartupToStandby will bring your Dreambox to "
 "standby-mode."
 msgstr ""
+"Efter en omstart eller strömbortfall, StartupToStandby kommer då ställa din "
+"Dreambox i standbyläge."
 
 #
 msgid "After event"
@@ -751,7 +753,7 @@ msgstr ""
 "din manual för Dreambox om hur du utför det."
 
 msgid "Ai.HD skin-style control plugin"
-msgstr ""
+msgstr "Ai.HD skin-stil kontrollplugin"
 
 #
 msgid "Album"
@@ -778,10 +780,10 @@ msgid "Allow zapping via Webinterface"
 msgstr "Tillåt zappning via Webgränssnittet"
 
 msgid "Allows the execution of TuxboxPlugins."
-msgstr ""
+msgstr "Tillåter körning av TuxboxPlugins."
 
 msgid "Allows user to download files from rapidshare in the background."
-msgstr ""
+msgstr "Tillåt användare att ladda ner filer från rapidshare i bakgrunden."
 
 #
 msgid "Alpha"
@@ -899,7 +901,7 @@ msgid "Aspect Ratio"
 msgstr "Bildformat"
 
 msgid "Assigning providers/services/caids to a CI module"
-msgstr ""
+msgstr "Tilldela operatörer/kanaler/caids till en CI modul"
 
 msgid "Atheros"
 msgstr "Atheros"
@@ -924,6 +926,8 @@ msgid ""
 "AudoSync allows delaying the sound output (Bitstream/PCM) so that it is "
 "synchronous to the picture."
 msgstr ""
+"AudioSync tillåter fördröjning av ljudet (Bitstream/PCM) så att det "
+"synkroniserar med bilden."
 
 #
 msgid "Australia"
@@ -1033,10 +1037,10 @@ msgid "BA"
 msgstr "BA"
 
 msgid "BASIC-HD Skin by Ismail Demir"
-msgstr ""
+msgstr "BASIC-HD Skin av Ismail Demir"
 
 msgid "BASIC-HD Skin for Dreambox Images created from Ismail Demir"
-msgstr ""
+msgstr "BASIC-HD Skin för Dreambox Images skapat av Ismail Demir"
 
 #
 msgid "BB"
@@ -1125,10 +1129,10 @@ msgid "Blue boost"
 msgstr "Blå förstärkning"
 
 msgid "Bonjour/Avahi control plugin"
-msgstr ""
+msgstr "Bonjour/Avahi kontrollplugin"
 
 msgid "Bonjour/Avahi control plugin."
-msgstr ""
+msgstr "Bonjour/Avahi kontrollplugn."
 
 #
 msgid "Bookmarks"
@@ -1147,10 +1151,10 @@ msgid "Brightness"
 msgstr "Ljusstyrka"
 
 msgid "Browse for and connect to network shares"
-msgstr ""
+msgstr "Bläddra efter och anslut till nätverksutdelningar"
 
 msgid "Browse for nfs/cifs shares and connect to them."
-msgstr ""
+msgstr "Bläddra efter nfs/cifs utdelningar och anslut till dem."
 
 #
 msgid "Browse network neighbourhood"
@@ -1168,7 +1172,7 @@ msgid "Burn to DVD"
 msgstr "Bränn till DVD"
 
 msgid "Burn your recordings to DVD"
-msgstr ""
+msgstr "Bränn dina inspelningar till DVD"
 
 #
 msgid "Bus: "
@@ -1272,13 +1276,13 @@ msgid "Change pin code"
 msgstr "Ändra pin kod"
 
 msgid "Change service PIN"
-msgstr ""
+msgstr "Ändra kanal PIN"
 
 msgid "Change service PINs"
-msgstr ""
+msgstr "Ändra kanal PINs"
 
 msgid "Change setup PIN"
-msgstr ""
+msgstr "Ändra installations PIN"
 
 #
 msgid "Change step size"
@@ -1399,10 +1403,10 @@ msgid "Cleanup Wizard settings"
 msgstr "Upprensningsguide inställningar"
 
 msgid "Cleanup timerlist automatically"
-msgstr ""
+msgstr "Rensa timerlista automatiskt"
 
 msgid "Cleanup timerlist automatically."
-msgstr ""
+msgstr "Rensa timerlista automatiskt."
 
 #
 msgid "CleanupWizard"
@@ -1532,7 +1536,7 @@ msgid "Configure nameservers"
 msgstr "Konfigurera namnservers"
 
 msgid "Configure your WLAN network interface"
-msgstr ""
+msgstr "Konfigurera ditt WLAN nätverkskort"
 
 #
 msgid "Configure your internal LAN"
@@ -1579,7 +1583,7 @@ msgid "Content does not fit on DVD!"
 msgstr "Innehållet för stort för en DVD!"
 
 msgid "Continue"
-msgstr ""
+msgstr "Forsätt"
 
 #
 msgid "Continue in background"
@@ -1756,20 +1760,20 @@ msgid "Customize"
 msgstr "Anpassningar"
 
 msgid "Customize Vali-XD skins"
-msgstr ""
+msgstr "Anpassa Vali-XD skins"
 
 msgid "Customize Vali-XD skins by yourself."
-msgstr ""
+msgstr "Anpassa Vali-XD skins själv."
 
 #
 msgid "Cut"
 msgstr "Klipp"
 
 msgid "Cut your movies"
-msgstr ""
+msgstr "Klipp dina filmer"
 
 msgid "Cut your movies."
-msgstr ""
+msgstr "Klipp dina filmer."
 
 msgid "CutListEditor allows you to edit your movies"
 msgstr ""
@@ -1941,7 +1945,7 @@ msgid "Deselect"
 msgstr "Avmarkera"
 
 msgid "Details for plugin: "
-msgstr ""
+msgstr "Detaljer för plugin: "
 
 msgid "Detected HDD:"
 msgstr "Hittad HDD:"
@@ -2654,7 +2658,7 @@ msgid "Execute \"after event\" during timespan"
 msgstr "Utför \"efter händelse\" under tidsintervall"
 
 msgid "Execute TuxboxPlugins"
-msgstr ""
+msgstr "Kör TuxboxPlugins"
 
 msgid "Execution Progress:"
 msgstr "Exekvering pågår:"
@@ -3461,49 +3465,49 @@ msgid "Just Scale"
 msgstr "Bara skala"
 
 msgid "Kerni's BrushedAlu-HD skin"
-msgstr ""
+msgstr "Kerni's BrushedAlu-HD skin"
 
 msgid "Kerni's DreamMM-HD skin"
-msgstr ""
+msgstr "Kerni's DreamMM-HD skin"
 
 msgid "Kerni's Elgato-HD skin"
-msgstr ""
+msgstr "Kerni's Elgato-HD skin"
 
 msgid "Kerni's SWAIN skin"
-msgstr ""
+msgstr "Kerni's SWAIN skin"
 
 msgid "Kerni's SWAIN-HD skin"
-msgstr ""
+msgstr "Kerni's SWAIN-HD skin"
 
 msgid "Kerni's UltraViolet skin"
-msgstr ""
+msgstr "Kerni's UltraViolet skin"
 
 msgid "Kerni's YADS-HD skin"
-msgstr ""
+msgstr "Kerni's YADS-HD skin"
 
 msgid "Kerni's dTV-HD skin"
-msgstr ""
+msgstr "Kerni's dTV-HD skin"
 
 msgid "Kerni's dTV-HD-Reloaded skin"
-msgstr ""
+msgstr "Kerni's dTV-HD-Reloaded skin"
 
 msgid "Kerni's dmm-HD skin"
-msgstr ""
+msgstr "Kerni's dmm-HD skin"
 
 msgid "Kerni's dreamTV-HD skin"
-msgstr ""
+msgstr "Kerni's dreamTV-HD skin"
 
 msgid "Kerni's simple skin"
-msgstr ""
+msgstr "Kerni's simple skin"
 
 msgid "Kerni-HD1 skin"
-msgstr ""
+msgstr "Kerni-HD1 skin"
 
 msgid "Kerni-HD1R2 skin"
-msgstr ""
+msgstr "Kerni-HD1R2 skin"
 
 msgid "Kernis HD1 skin"
-msgstr ""
+msgstr "Kernis HD1 skin"
 
 #
 #, python-format
@@ -4149,100 +4153,100 @@ msgid "Nameserver settings"
 msgstr "Namnserver inställningar"
 
 msgid "Nemesis BlackBox Skin"
-msgstr ""
+msgstr "Nemesis BlackBox Skin"
 
 msgid "Nemesis BlackBox Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis BlackBox Skin för Dreamboxen"
 
 msgid "Nemesis Blueline Single Skin"
-msgstr ""
+msgstr "Nemesis Blueline Single Skin"
 
 msgid "Nemesis Blueline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Blueline Single Skin för Dreamboxen"
 
 msgid "Nemesis Blueline Skin"
-msgstr ""
+msgstr "Nemesis Blueline Skin"
 
 msgid "Nemesis Blueline Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Blueline Skin för Dreamboxen"
 
 msgid "Nemesis Blueline.Extended Skin"
-msgstr ""
+msgstr "Nemesis Blueline.Extended Skin"
 
 msgid "Nemesis Blueline.Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Blueline.Extended Skin för Dreamboxen"
 
 msgid "Nemesis ChromeLine Cobolt Skin"
-msgstr ""
+msgstr "Nemesis ChromeLine Cobolt Skin"
 
 msgid "Nemesis ChromeLine Cobolt Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis ChromeLine Cobolt Skin för Dreamboxen"
 
 msgid "Nemesis ChromeLine Skin"
-msgstr ""
+msgstr "Nemesis ChromeLine Skin"
 
 msgid "Nemesis ChromeLine Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis ChromeLine Skin för Dreamboxen"
 
 msgid "Nemesis Flatline Blue Skin"
-msgstr ""
+msgstr "Nemesis Flatline Blue Skin"
 
 msgid "Nemesis Flatline Blue Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Flatline Blue Skin för Dreamboxen"
 
 msgid "Nemesis Flatline Skin"
-msgstr ""
+msgstr "Nemesis Flatline Skin"
 
 msgid "Nemesis Flatline Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Flatline Skin för Dreamboxen"
 
 msgid "Nemesis GlassLine Skin"
-msgstr ""
+msgstr "Nemesis GlassLine Skin"
 
 msgid "Nemesis GlassLine Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis GlassLine Skin för Dreamboxen"
 
 msgid "Nemesis Greenline Extended Skin"
-msgstr ""
+msgstr "Nemesis Greenline Extended Skin"
 
 msgid "Nemesis Greenline Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greenline Extended Skin för Dreamboxen"
 
 msgid "Nemesis Greenline Single Skin"
-msgstr ""
+msgstr "Nemesis Greenline Single Skin"
 
 msgid "Nemesis Greenline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greenline Single Skin för Dreamboxen"
 
 msgid "Nemesis Greenline Skin"
-msgstr ""
+msgstr "Nemesis Greenline Skin"
 
 msgid "Nemesis Greenline Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greenline Skin för Dreamboxen"
 
 msgid "Nemesis Greyline Extended Skin"
-msgstr ""
+msgstr "Nemesis Greyline Extended Skin"
 
 msgid "Nemesis Greyline Extended Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greyline Extended Skin för Dreamboxen"
 
 msgid "Nemesis Greyline Single Skin"
-msgstr ""
+msgstr "Nemesis Greyline Single Skin"
 
 msgid "Nemesis Greyline Single Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greyline Single Skin för Dreamboxen"
 
 msgid "Nemesis Greyline Skin"
-msgstr ""
+msgstr "Nemesis Greyline Skin"
 
 msgid "Nemesis Greyline Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis Greyline Skin för Dreamboxen"
 
 msgid "Nemesis ShadowLine Skin"
-msgstr ""
+msgstr "Nemesis ShadowLine Skin"
 
 msgid "Nemesis ShadowLine Skin for the Dreambox"
-msgstr ""
+msgstr "Nemesis ShadowLine Skin för Dreamboxen"
 
 #
 msgid "Netmask"
@@ -4312,7 +4316,7 @@ msgid "New"
 msgstr "Ny"
 
 msgid "New PIN"
-msgstr ""
+msgstr "Ny PIN"
 
 #
 msgid "New Zealand"
@@ -4778,6 +4782,9 @@ msgstr "Folk & Bloggar"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Husdjur & Vilddjur"
@@ -5410,7 +5417,7 @@ msgid "RGB"
 msgstr "RGB"
 
 msgid "RSS viewer"
-msgstr ""
+msgstr "RSS visare"
 
 #
 msgid "Radio"
@@ -7980,10 +7987,10 @@ msgid "VMGM (intro trailer)"
 msgstr "VMGM (intro trailer)"
 
 msgid "Vali-XD skin"
-msgstr ""
+msgstr "Vali-XD skin"
 
 msgid "Vali.HD.nano skin"
-msgstr ""
+msgstr "Vali.HD.nano skin"
 
 msgid ""
 "Verify your Dreambox authenticity by running the genuine dreambox plugin!"
@@ -8981,7 +8988,7 @@ msgid "[move mode]"
 msgstr "[flyttläge]"
 
 msgid "a HD skin from Kerni"
-msgstr ""
+msgstr "ett HD skin från Kerni"
 
 #
 msgid "a gui to assign services/providers to common interface modules"
@@ -9096,7 +9103,7 @@ msgid "add services"
 msgstr "lägg till kanaler"
 
 msgid "add tags to recorded movies"
-msgstr ""
+msgstr "lägg till bokmärken i inspelade filmer"
 
 #
 msgid "add to parental protection"
@@ -9111,17 +9118,21 @@ msgid "alphabetic sort"
 msgstr "sortera alfabetiskt"
 
 msgid "assign color buttons (red/green/yellow/blue) to plugins from MOVIELIST."
-msgstr ""
+msgstr "tilldela färgknappar (röd/grön/gul/blå) till plugins från MOVIELIST."
 
 msgid "assign color buttons to plugins from MOVIELIST"
-msgstr ""
+msgstr "tilldela färgknappar till plugins från MOVIELIST"
 
 msgid ""
 "assign long key-press (red/green/yellow/blue) to plugins or E2 functions."
 msgstr ""
+"tilldela lång tangenttryckning (röd/grön/gul/blå) till plugins eller E2 "
+"funktioner."
 
 msgid "assign long key-press on color buttons to plugins or E2 functions"
 msgstr ""
+"tilldela lång tangenttryckning av färgad tangent till plugins eller E2 "
+"funktioner"
 
 msgid "assigned CAIds:"
 msgstr "tilldelade CAIds:"
@@ -9236,7 +9247,7 @@ msgid "continue"
 msgstr "fortsätt"
 
 msgid "control multiple Dreamboxes with different RCs"
-msgstr ""
+msgstr "styr flera Dreamboxar med olika fjärrkontrollers"
 
 #
 msgid "copy to bouquets"
@@ -9287,7 +9298,7 @@ msgid "delete..."
 msgstr "ta bort..."
 
 msgid "description"
-msgstr ""
+msgstr "beskrivning"
 
 #
 msgid "disable"
@@ -9689,7 +9700,7 @@ msgid "not locked"
 msgstr "inte låst"
 
 msgid "not supported"
-msgstr ""
+msgstr "stöds ej"
 
 #
 msgid "not used"
@@ -9795,10 +9806,10 @@ msgid "red"
 msgstr "röd"
 
 msgid "redesigned Kerni-HD1 skin"
-msgstr ""
+msgstr "omdesignat Kerni-HD1 skin"
 
 msgid "redirect notifications to Growl"
-msgstr ""
+msgstr "omdirigera notifieringar till Growl"
 
 #
 msgid "remove a nameserver entry"
@@ -9900,7 +9911,7 @@ msgid "seconds"
 msgstr "sekunder"
 
 msgid "see service-epg (and PiP) from channels in an infobar"
-msgstr ""
+msgstr "se kanal-epg (och BiB) från kanaler i en infobar"
 
 #
 msgid "select"
@@ -9931,17 +9942,17 @@ msgid "select the movie path"
 msgstr "välj film sökväg"
 
 msgid "service PIN"
-msgstr ""
+msgstr "kanal PIN"
 
 msgid "set enigma2 to standby-mode after startup"
-msgstr ""
+msgstr "sätt enigma2 till standby läge efter uppstart"
 
 #
 msgid "sets the Audio Delay (LipSync)"
 msgstr "anger Ljudfördröjning (Läppsynk)"
 
 msgid "setup PIN"
-msgstr ""
+msgstr "ange PIN"
 
 #
 msgid "show DVD main menu"
@@ -10131,7 +10142,7 @@ msgid "toggle time, chapter, audio, subtitle info"
 msgstr "skifta tid, kapitel, ljud, textning info"
 
 msgid "tuner is not supported"
-msgstr ""
+msgstr "tuner stöds inte"
 
 #
 msgid "unavailable"
@@ -10158,10 +10169,10 @@ msgid "use as HDD replacement"
 msgstr "använd som HDD ersättning"
 
 msgid "use your Dreambox as Web proxy"
-msgstr ""
+msgstr "använd din Dreambox som en webproxy"
 
 msgid "use your Dreambox as Web proxy."
-msgstr ""
+msgstr "använd din Dreambox som en webproxy."
 
 #
 msgid "user defined"
index 0b47715acc3db8a4c14d893734f9cba55da19422..c8891087db69135df2834e6cdd4b2edf8a4c8ba6 100755 (executable)
--- a/po/tr.po
+++ b/po/tr.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2 Turkish Locale\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2010-04-30 20:58+0200\n"
 "Last-Translator: Zulfikar <zveyis@gmail.com>\n"
 "Language-Team: http://hobiagaci.com <z.veyisoglu@hobiagaci.com>\n"
@@ -4802,6 +4802,9 @@ msgstr "İnsanlar"
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr "Hayvanlar"
index b45c28ac188f6f74d4fc9567188e279717ce6d87..af214d41ce0d8f548a4899cba0ffb1766ad077b8 100755 (executable)
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-01 13:01+0000\n"
+"POT-Creation-Date: 2011-01-27 12:42+0000\n"
 "PO-Revision-Date: 2008-09-28 14:03+0200\n"
 "Last-Translator: stepan_kv <stepan_kv@mail.ru>\n"
 "Language-Team: http://sat-ukraine.info/\n"
@@ -4814,6 +4814,9 @@ msgstr ""
 msgid "PermanentClock shows the clock permanently on the screen."
 msgstr ""
 
+msgid "Persian"
+msgstr ""
+
 #
 msgid "Pets & Animals"
 msgstr ""
index a19e6733558e06b289aed539fa2954eeb38c92d7..5914c3f87036e7cffceb8153332c4977427bec0a 100755 (executable)
@@ -7,11 +7,23 @@ if [ -x @bindir@/showiframe -a -f /boot/backdrop.mvi ]; then
        @bindir@/showiframe /boot/backdrop.mvi
 fi
 
+# hook to execute scripts always before enigma2 start
+if [ -x @bindir@/enigma2_pre_start.sh ]; then
+       @bindir@/enigma2_pre_start.sh
+fi
+
 if [ -d /home/root ]; then
        cd /home/root
 fi
 
-LD_PRELOAD=@libdir@/libopen.so.0.0.0 @bindir@/enigma2
+LIBS=@libdir@/libopen.so.0.0.0
+
+#check for dreambox specific passthrough helper lib
+if [ -e @libdir@/libpassthrough.so ]; then
+       LIBS="$LIBS @libdir@/libpassthrough.so"
+fi
+
+LD_PRELOAD=$LIBS @bindir@/enigma2
 
 # enigma2 exit codes:
 #