Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
authorFraxinas <andreas.frisch@multimedia-labs.de>
Mon, 10 Nov 2008 09:18:28 +0000 (10:18 +0100)
committerFraxinas <andreas.frisch@multimedia-labs.de>
Mon, 10 Nov 2008 09:18:28 +0000 (10:18 +0100)
25 files changed:
Navigation.py
lib/dvb/db.cpp
lib/dvb/decoder.cpp
lib/dvb/dvb.cpp
lib/dvb/dvb.h
lib/dvb/frontend.cpp
lib/dvb/idvb.h
lib/dvb/pmt.cpp
lib/dvb/pmt.h
lib/gdi/lcd.cpp
lib/gui/epositiongauge.cpp
lib/python/Components/Lcd.py
lib/python/Components/NimManager.py
lib/python/Components/TimerSanityCheck.py
lib/python/Components/config.py
lib/python/Screens/NetworkSetup.py
lib/python/Screens/TimerEdit.py
lib/python/enigma_python.i
lib/service/iservice.h
lib/service/service.cpp
lib/service/servicedvb.cpp
lib/service/servicedvb.h
po/de.po [changed mode: 0644->0755]
po/sv.po [changed mode: 0755->0644]
po/tr.po

index bda6f584395327a7e1d4c7401328532f35a1d608..42733cb23b9f9e7754d4075901661d71f14b0d81 100644 (file)
@@ -79,14 +79,14 @@ class Navigation:
        def getCurrentlyPlayingServiceReference(self):
                return self.currentlyPlayingServiceReference
        
-       def recordService(self, ref):
+       def recordService(self, ref, simulate=False):
                service = None
                print "recording service: %s" % (str(ref))
                if isinstance(ref, ServiceReference.ServiceReference):
                        ref = ref.ref
                if ref:
                        if ref.flags & eServiceReference.isGroup:
-                               ref = getBestPlayableServiceReference(ref, eServiceReference())
+                               ref = getBestPlayableServiceReference(ref, eServiceReference(), simulate)
                        service = ref and self.pnav and self.pnav.recordService(ref)
                        if service is None:
                                print "record returned non-zero"
index 02ecc1d2d7234f4e21332ce8c5c97e4af5b5ccd7..c6c2e855cd692eeaf5a4619990a6d737845cf610 100644 (file)
@@ -151,7 +151,7 @@ RESULT eDVBService::getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &
        return eEPGCache::getInstance()->lookupEventTime(ref, start_time, ptr);
 }
 
-int eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
+int eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate)
 {
        ePtr<eDVBResourceManager> res_mgr;
        if ( eDVBResourceManager::getInstance( res_mgr ) )
@@ -161,7 +161,7 @@ int eDVBService::isPlayable(const eServiceReference &ref, const eServiceReferenc
                eDVBChannelID chid, chid_ignore;
                ((const eServiceReferenceDVB&)ref).getChannelID(chid);
                ((const eServiceReferenceDVB&)ignore).getChannelID(chid_ignore);
-               return res_mgr->canAllocateChannel(chid, chid_ignore);
+               return res_mgr->canAllocateChannel(chid, chid_ignore, simulate);
        }
        return 0;
 }
index 0ce59d01688eff6824b091312ab19ac975ccd7c2..5fa59ed4f352d132c6f2754372904423658e22d7 100644 (file)
@@ -1069,6 +1069,7 @@ RESULT eTSMPEGDecoder::setFastForward(int frames_to_skip)
        m_is_ff = frames_to_skip != 0;
 
        setState();
+       unfreeze(); // audio might be restarted and still in preroll (freezed) state.
 
        if (m_video)
                return m_video->setFastForward(frames_to_skip);
@@ -1081,6 +1082,7 @@ RESULT eTSMPEGDecoder::setSlowMotion(int repeat)
        m_is_sm = repeat != 0;
 
        setState();
+       unfreeze(); // audio might be restarted and still in preroll (freezed) state.
 
        if (m_video)
                return m_video->setSlowMotion(repeat);
index 68d9a0dd958eca788b58826f508ce716eeb23a2a..e04caa00efd8ac3e79aec326b515abaa2c2eca75 100644 (file)
@@ -713,12 +713,13 @@ RESULT eDVBResourceManager::connectChannelAdded(const Slot1<void,eDVBChannel*> &
        return 0;
 }
 
-int eDVBResourceManager::canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm)
+int eDVBResourceManager::canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm, bool simulate)
 {
+       eSmartPtrList<eDVBRegisteredFrontend> &frontends = simulate ? m_simulate_frontend : m_frontend;
        ePtr<eDVBRegisteredFrontend> best;
        int bestval = 0;
 
-       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator i(m_frontend.begin()); i != m_frontend.end(); ++i)
+       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator i(frontends.begin()); i != frontends.end(); ++i)
                if (!i->m_inuse)
                {
                        int c = i->m_frontend->isCompatibleWith(feparm);
@@ -755,10 +756,11 @@ int tuner_type_channel_default(ePtr<iDVBChannelList> &channellist, const eDVBCha
        return 0;
 }
 
-int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID& ignore)
+int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID& ignore, bool simulate)
 {
+       std::list<active_channel> &active_channels = simulate ? m_active_simulate_channels : m_active_channels;
        int ret=0;
-       if (m_cached_channel)
+       if (!simulate && m_cached_channel)
        {
                eDVBChannel *cache_chan = (eDVBChannel*)&(*m_cached_channel);
                if(channelid==cache_chan->getChannelID())
@@ -767,7 +769,7 @@ int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, cons
 
                /* first, check if a channel is already existing. */
 //     eDebug("allocate channel.. %04x:%04x", channelid.transport_stream_id.get(), channelid.original_network_id.get());
-       for (std::list<active_channel>::iterator i(m_active_channels.begin()); i != m_active_channels.end(); ++i)
+       for (std::list<active_channel>::iterator i(active_channels.begin()); i != active_channels.end(); ++i)
        {
 //             eDebug("available channel.. %04x:%04x", i->m_channel_id.transport_stream_id.get(), i->m_channel_id.original_network_id.get());
                if (i->m_channel_id == channelid)
@@ -780,8 +782,9 @@ int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, cons
        int *decremented_cached_channel_fe_usecount=NULL,
                *decremented_fe_usecount=NULL;
 
-       for (std::list<active_channel>::iterator i(m_active_channels.begin()); i != m_active_channels.end(); ++i)
+       for (std::list<active_channel>::iterator i(active_channels.begin()); i != active_channels.end(); ++i)
        {
+               eSmartPtrList<eDVBRegisteredFrontend> &frontends = simulate ? m_simulate_frontend : m_frontend;
 //             eDebug("available channel.. %04x:%04x", i->m_channel_id.transport_stream_id.get(), i->m_channel_id.original_network_id.get());
                if (i->m_channel_id == ignore)
                {
@@ -795,7 +798,7 @@ int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, cons
                                ePtr<iDVBFrontend> fe;
                                if (!i->m_channel->getFrontend(fe))
                                {
-                                       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator ii(m_frontend.begin()); ii != m_frontend.end(); ++ii)
+                                       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator ii(frontends.begin()); ii != frontends.end(); ++ii)
                                        {
                                                if ( &(*fe) == &(*ii->m_frontend) )
                                                {
@@ -822,7 +825,8 @@ int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, cons
                                ePtr<iDVBFrontend> fe;
                                if (!channel->getFrontend(fe))
                                {
-                                       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator ii(m_frontend.begin()); ii != m_frontend.end(); ++ii)
+                                       eSmartPtrList<eDVBRegisteredFrontend> &frontends = simulate ? m_simulate_frontend : m_frontend;
+                                       for (eSmartPtrList<eDVBRegisteredFrontend>::iterator ii(frontends.begin()); ii != frontends.end(); ++ii)
                                        {
                                                if ( &(*fe) == &(*ii->m_frontend) )
                                                {
@@ -852,7 +856,7 @@ int eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, cons
                goto error;
        }
 
-       ret = canAllocateFrontend(feparm);
+       ret = canAllocateFrontend(feparm, simulate);
 
 error:
        if (decremented_fe_usecount)
index 1a773efadb4d8a1f6b00a473061f58acb1c2412b..13556c261eb047c76a69f189687b16a16fd90567 100644 (file)
@@ -184,7 +184,7 @@ public:
        };
        
        RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
-       int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore);
+       int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore, bool simulate=false);
 
                /* allocate channel... */
        RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel, bool simulate=false);
@@ -206,7 +206,7 @@ public:
 #ifdef SWIG
 public:
 #endif
-       int canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
+       int canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm, bool simulate=false);
        bool canMeasureFrontendInputPower();
        PSignal1<void,int> frontendUseMaskChanged;
        SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int slot_index);
index 635de8f55778145b3c5567184189c58d87eb69f7..27ea66ec19fd12c4092a1ab76f73e81f6f33d3da 100644 (file)
                if (!m_simulate) \
                        eDebug(x); \
        } while(0)
-//             else \
-//             { \
-//                     eDebugNoNewLine("SIMULATE:"); \
-//                     eDebug(x); \
-//             } \
+#if 0
+               else \
+               { \
+                       eDebugNoNewLine("SIMULATE:"); \
+                       eDebug(x); \
+               }
+#endif
 
 #define eDebugNoSimulateNoNewLine(x...) \
        do { \
                if (!m_simulate) \
                        eDebugNoNewLine(x); \
        } while(0)
-//             else \
-//             { \
-//                     eDebugNoNewLine("SIMULATE:"); \
-//                     eDebugNoNewLine(x); \
-//             } \
+#if 0
+               else \
+               { \
+                       eDebugNoNewLine("SIMULATE:"); \
+                       eDebugNoNewLine(x); \
+               }
+#endif
 
 void eDVBDiseqcCommand::setCommandString(const char *str)
 {
@@ -725,34 +729,58 @@ int eDVBFrontend::readFrontendData(int type)
                        if (!strcmp(m_description, "BCM4501 (internal)"))
                        {
                                unsigned int SDS_SNRE = snr << 16;
+                               float snr_in_db;
 
-                               static float SNR_COEFF[6] = {
-                                       100.0 / 4194304.0,
-                                       -7136.0 / 4194304.0,
-                                       197418.0 / 4194304.0,
-                                       -2602183.0 / 4194304.0,
-                                       20377212.0 / 4194304.0,
-                                       -37791203.0 / 4194304.0,
-                               };
-
-                               float fval1, fval2, snr_in_db;
-                               int i;
-                               fval1 = 12.44714 - (2.0 * log10(SDS_SNRE / 256.0));
-                               fval2 = pow(10.0, fval1)-1;
-                               fval1 = 10.0 * log10(fval2);
-
-                               if (fval1 < 10.0)
+                               if (parm_u_qpsk_fec_inner <= FEC_AUTO) // DVB-S1 / QPSK
                                {
-                                       fval2 = SNR_COEFF[0];
-                                       for (i=0; i<6; ++i)
+                                       static float SNR_COEFF[6] = {
+                                               100.0 / 4194304.0,
+                                               -7136.0 / 4194304.0,
+                                               197418.0 / 4194304.0,
+                                               -2602183.0 / 4194304.0,
+                                               20377212.0 / 4194304.0,
+                                               -37791203.0 / 4194304.0,
+                                       };
+                                       float fval1 = 12.44714 - (2.0 * log10(SDS_SNRE / 256.0)),
+                                         fval2 = pow(10.0, fval1)-1;
+                                       fval1 = 10.0 * log10(fval2);
+
+                                       if (fval1 < 10.0)
                                        {
-                                               fval2 *= fval1;
-                                               fval2 += SNR_COEFF[i];
+                                               fval2 = SNR_COEFF[0];
+                                               for (int i=0; i<6; ++i)
+                                               {
+                                                       fval2 *= fval1;
+                                                       fval2 += SNR_COEFF[i];
+                                               }
+                                               fval1 = fval2;
                                        }
-                                       fval1 = fval2;
+                                       snr_in_db = fval1;
                                }
-                               snr_in_db = fval1;
+#if HAVE_DVB_API_VERSION >= 3
+                               else
+                               {
+                                       float fval1 = SDS_SNRE / 268435456.0,
+                                                 fval2, fval3, fval4;
 
+                                       if (parm_u_qpsk_fec_inner <= FEC_S2_QPSK_9_10) // DVB-S2 QPSK
+                                       {
+                                               fval2 = 6.76;
+                                               fval3 = 4.35;
+                                       }
+                                       else // 8PSK
+                                       {
+                                               fval1 *= 0.5;
+                                               fval2 = 8.06;
+                                               fval3 = 6.18;
+                                       }
+                                       fval4 = -10.0 * log10(fval1);
+                                       fval1 = fval4;
+                                       for (int i=0; i < 5; ++i)
+                                               fval1 = fval4 - fval2 * log10(1.0+pow(10.0, (fval3-fval1)/fval2));
+                                       snr_in_db = fval1;
+                               }
+#endif
                                return (int)(snr_in_db * 100.0);
                        }
                        else if (strstr(m_description, "Alps BSBE1 C01A") ||
@@ -781,7 +809,6 @@ int eDVBFrontend::readFrontendData(int type)
                                                i;
                                        if(INRANGE(CN_lookup[Imin][REGVAL],regval,CN_lookup[Imax][REGVAL]))
                                        {
-                                               long val;
                                                while((Imax-Imin)>1)
                                                {
                                                        i=(Imax+Imin)/2;
index a2cce94d36343cc79e49584501100eda84719b0e..cda058946f4114d779d60ff5f48043d8769107b9 100644 (file)
@@ -315,7 +315,7 @@ public:
        // iStaticServiceInformation
        RESULT getName(const eServiceReference &ref, std::string &name);
        RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
-       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
        PyObject *getInfoObject(const eServiceReference &ref, int);  // implemented in lib/service/servicedvb.h
 
                /* for filtering: */
index 692428d7c9c6262babeb1057444544a5e316ff5a..842d6979a3e1c227af1bdd316379e5de8011cc2e 100644 (file)
@@ -1,3 +1,4 @@
+#include <lib/base/nconfig.h> // access to python config
 #include <lib/base/eerror.h>
 #include <lib/dvb/pmt.h>
 #include <lib/dvb/specs.h>
@@ -6,6 +7,7 @@
 #include <lib/dvb_ci/dvbci.h>
 #include <lib/dvb/epgcache.h>
 #include <lib/dvb/scan.h>
+#include <lib/dvb_ci/dvbci_session.h>
 #include <dvbsi++/ca_descriptor.h>
 #include <dvbsi++/ca_program_map_section.h>
 #include <dvbsi++/teletext_descriptor.h>
@@ -14,7 +16,6 @@
 #include <dvbsi++/stream_identifier_descriptor.h>
 #include <dvbsi++/subtitling_descriptor.h>
 #include <dvbsi++/teletext_descriptor.h>
-#include <lib/base/nconfig.h> // access to python config
 
 eDVBServicePMTHandler::eDVBServicePMTHandler()
        :m_ca_servicePtr(0), m_dvb_scan(0), m_decode_demux_num(0xFF)
@@ -677,7 +678,7 @@ ChannelMap eDVBCAService::exist_channels;
 ePtr<eConnection> eDVBCAService::m_chanAddedConn;
 
 eDVBCAService::eDVBCAService()
-       : m_prev_build_hash(0), m_sendstate(0), m_retryTimer(eTimer::create(eApp))
+       :m_buffer(512), m_prev_build_hash(0), m_sendstate(0), m_retryTimer(eTimer::create(eApp))
 {
        memset(m_used_demux, 0xFF, sizeof(m_used_demux));
        CONNECT(m_retryTimer->timeout, eDVBCAService::sendCAPMT);
@@ -864,19 +865,100 @@ channel_data *eDVBCAService::getChannelData(eDVBChannelID &chid)
 }
 // end static methods
 
+#define CA_REPLY_DEBUG
+#define MAX_LENGTH_BYTES 4
+#define MIN_LENGTH_BYTES 1
+
 void eDVBCAService::socketCB(int what)
 {
-       if (what & eSocketNotifier::Read)
-               /*eDebug("[eDVBCAService] data to read\n")*/;
-       if (what & eSocketNotifier::Priority)
-               /*eDebug("[eDVBCAService] priority data to read\n")*/;
+       if (what & (eSocketNotifier::Read | eSocketNotifier::Priority))
+       {
+               char msgbuffer[4096];
+               ssize_t length = read(m_sock, msgbuffer, sizeof(msgbuffer));
+               if (length == -1)
+               {
+                       if (errno != EAGAIN && errno != EINTR && errno != EBUSY)
+                       {
+                               eDebug("[eSocketMMIHandler] read (%m)");
+                               what |= eSocketNotifier::Error;
+                       }
+               } else if (length == 0)
+               {
+                       what |= eSocketNotifier::Hungup;
+               } else
+               {
+                       int len = length;
+                       unsigned char *data = (unsigned char*)msgbuffer;
+                       int clear = 1;
+       // If a new message starts, then the previous message
+       // should already have been processed. Otherwise the
+       // previous message was incomplete and should therefore
+       // be deleted.
+                       if ((len >= 1) && ((data[0] & 0xFF) != 0x9f))
+                               clear = 0;
+                       if ((len >= 2) && ((data[1] & 0x80) != 0x80))
+                               clear = 0;
+                       if ((len >= 3) && ((data[2] & 0x80) != 0x00))
+                               clear = 0;
+                       if (clear)
+                       {
+                               m_buffer.clear();
+#ifdef CA_REPLY_DEBUG
+                               eDebug("clear buffer");
+#endif
+                       }
+#ifdef CA_REPLY_DEBUG
+                       eDebug("Put to buffer:");
+                       for (int i=0; i < len; ++i)
+                               eDebugNoNewLine("%02x ", data[i]);
+                       eDebug("\n--------");
+#endif
+                       m_buffer.write( data, len );
+
+                       while ( m_buffer.size() >= (3 + MIN_LENGTH_BYTES) )
+                       {
+                               unsigned char tmp[3+MAX_LENGTH_BYTES];
+                               m_buffer.peek(tmp, 3+MIN_LENGTH_BYTES);
+                               if (((tmp[0] & 0xFF) != 0x9f) || ((tmp[1] & 0x80) != 0x80) || ((tmp[2] & 0x80) != 0x00))
+                               {
+                                       m_buffer.skip(1);
+#ifdef CA_REPLY_DEBUG
+                                       eDebug("skip %02x", tmp[0]);
+#endif
+                                       continue;
+                               }
+                               if (tmp[3] & 0x80)
+                               {
+                                       int peekLength = (tmp[3] & 0x7f) + 4;
+                                       if (m_buffer.size() < peekLength)
+                                               continue;
+                                       m_buffer.peek(tmp, peekLength);
+                               }
+                               int size=0;
+                               int LengthBytes=eDVBCISession::parseLengthField(tmp+3, size);
+                               int messageLength = 3+LengthBytes+size;
+                               if ( m_buffer.size() >= messageLength )
+                               {
+                                       unsigned char dest[messageLength];
+                                       m_buffer.read(dest, messageLength);
+#ifdef CA_REPLY_DEBUG
+                                       eDebug("dump ca reply:");
+                                       for (int i=0; i < messageLength; ++i)
+                                               eDebugNoNewLine("%02x ", dest[i]);
+                                       eDebug("\n--------");
+#endif
+//                                     /*emit*/ mmi_progress(0, dest, (const void*)(dest+3+LengthBytes), messageLength-3-LengthBytes);
+                               }
+                       }
+               }
+       }
        if (what & eSocketNotifier::Hungup) {
-               /*eDebug("[eDVBCAService] connection closed\n")*/;
+               /*eDebug("[eDVBCAService] connection closed")*/;
                m_sendstate=1;
                sendCAPMT();
        }
        if (what & eSocketNotifier::Error)
-               /*eDebug("[eDVBCAService] connection error\n")*/;
+               eDebug("[eDVBCAService] connection error");
 }
 
 void eDVBCAService::Connect()
index 107b071adc86ec172d9b3e936b57318cbf53ffad..ff0ef046090e115ebec629af3bfbc97d50dff7b8 100644 (file)
@@ -3,6 +3,7 @@
 
 #ifndef SWIG
 #include <map>
+#include <lib/base/buffer.h>
 #include <lib/dvb/idvb.h>
 #include <lib/dvb/dvb.h>
 #include <lib/dvb/idemux.h>
@@ -35,6 +36,7 @@ typedef std::map<iDVBChannel*, channel_data*> ChannelMap;
 
 class eDVBCAService: public Object
 {
+       eIOBuffer m_buffer;
        ePtr<eSocketNotifier> m_sn;
        eServiceReferenceDVB m_service;
        uint8_t m_used_demux[32];
index 3911719466e7e1c6b5b37db45585db5161867b5a..ecc19b5389853bc69bcf35f6ef95bcde9c089d68 100644 (file)
@@ -166,8 +166,14 @@ void eDBoxLCD::update()
                memset(raw, 0, 64*64);
                for (y=0; y<64; y++)
                {
+                       int pix=0;
                        for (x=0; x<128 / 2; x++)
-                               raw[y*64+x] = (_buffer[y*132 + x * 2 + 2] & 0xF0) |(_buffer[y*132 + x * 2 + 1 + 2] >> 4);
+                       {
+                               pix = (_buffer[y*132 + x * 2 + 2] & 0xF0) |(_buffer[y*132 + x * 2 + 1 + 2] >> 4);
+                               if (inverted)
+                                       pix = 0xFF - pix;
+                               raw[y*64+x] = pix;
+                       }
                }
                if (lcdfd >= 0)
                        write(lcdfd, raw, 64*64);
index 4785d7aff46462cf01ba435e9023f3ec14933b6b..b3ee5111348c04787ca864d834c6a2f166a41756 100644 (file)
@@ -126,13 +126,17 @@ int ePositionGauge::event(int event, void *data, void *data2)
                                        continue;
                                } else if (i->what == 1) /* out */
                                        out = i++->where;
-                               else /* mark */
+                               else if (i->what == 2) /* mark */
                                {
                                        int xm = scale(i->where);
                                        painter.setForegroundColor(gRGB(0xFF8080));
                                        painter.fill(eRect(xm - 2, 0, 4, s.height()));
                                        i++;
                                        continue;
+                               } else /* other marker, like last position */
+                               {
+                                       ++i;
+                                       continue;
                                }
                        }
                        
index 0471843cb7c428fe2150d299fb9dd8af620f4fab..0e501237e4af42bbb96dbc9fff5056f7d7bd4386 100644 (file)
@@ -44,9 +44,14 @@ def InitLcd():
 
                ilcd = LCD()
 
-               config.lcd.bright = ConfigSlider(default=10, limits=(0, 10))
+               config.lcd.standby = ConfigSlider(default=0, limits=(0, 10))
+               config.lcd.standby.addNotifier(setLCDbright);
+               config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby)
+
+               config.lcd.bright = ConfigSlider(default=5, limits=(0, 10))
                config.lcd.bright.addNotifier(setLCDbright);
                config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright)
+               config.lcd.bright.callNotifiersOnSaveAndCancel = True
 
                if not ilcd.isOled():
                        config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20))
@@ -54,9 +59,6 @@ def InitLcd():
                else:
                        config.lcd.contrast = ConfigNothing()
 
-               config.lcd.standby = ConfigSlider(default=0, limits=(0, 10))
-               config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby)
-
                config.lcd.invert = ConfigYesNo(default=False)
                config.lcd.invert.addNotifier(setLCDinverted);
        else:
index 3c7a147eac0070121e6f31d9e51e37a1cd584091..32fca47fb4f5767a94904e1993d45e2b6fe6511f 100644 (file)
@@ -1,3 +1,5 @@
+from Tools.HardwareInfo import HardwareInfo
+
 from config import config, ConfigSubsection, ConfigSelection, ConfigFloat, \
        ConfigSatlist, ConfigYesNo, ConfigInteger, ConfigSubList, ConfigNothing, \
        ConfigSubDict, ConfigOnOff, ConfigDateTime
@@ -153,6 +155,7 @@ class SecConfigure:
                for slot in nim_slots:
                        x = slot.slot
                        nim = slot.config
+                       hw = HardwareInfo()
                        if slot.isCompatible("DVB-S"):
                                print "slot: " + str(x) + " configmode: " + str(nim.configMode.value)
                                if nim.configMode.value in [ "loopthrough", "satposdepends", "nothing" ]:
@@ -185,7 +188,7 @@ class SecConfigure:
                                                                loValue = rotorParam.EAST
                                                        else:
                                                                loValue = rotorParam.WEST
-                                                       inputPowerDelta=50
+                                                       inputPowerDelta=hw.get_device_name() == "dm8000" and 15 or 50
                                                        useInputPower=False
                                                        turning_speed=0
                                                        if nim.powerMeasurement.value:
@@ -656,7 +659,7 @@ class NimManager:
        
        def canEqualTo(self, slotid):
                type = self.getNimType(slotid)
-               if self.getNimConfig(slotid) == "DVB-S2":
+               if type == "DVB-S2":
                        type = "DVB-S"
                nimList = self.getNimListOfType(type, slotid)
                for nim in nimList[:]:
@@ -664,10 +667,10 @@ class NimManager:
                        if mode.configMode.value == "loopthrough" or mode.configMode.value == "satposdepends":
                                nimList.remove(nim)
                return nimList
-       
+
        def canDependOn(self, slotid):
                type = self.getNimType(slotid)
-               if self.getNimConfig(slotid) == "DVB-S2":
+               if type == "DVB-S2":
                        type = "DVB-S"
                nimList = self.getNimListOfType(type, slotid)
                positionerList = []
@@ -680,6 +683,13 @@ class NimManager:
                                        if lnb != 0:
                                                nimHaveRotor = True
                                                break
+                               if not nimHaveRotor:
+                                       for sat in mode.advanced.sat.values():
+                                               lnb_num = int(sat.lnb.value)
+                                               diseqcmode = lnb_num and mode.advanced.lnb[lnb_num].diseqcMode.value or ""
+                                               if diseqcmode == "1_2":
+                                                       nimHaveRotor = True
+                                                       break
                        if nimHaveRotor:
                                alreadyConnected = False
                                for testnim in nimList:
@@ -842,6 +852,7 @@ def InitSecParams():
 
 def InitNimManager(nimmgr):
        InitSecParams()
+       hw = HardwareInfo()
 
        config.Nims = ConfigSubList()
        for x in range(len(nimmgr.nim_slots)):
@@ -972,7 +983,7 @@ def InitNimManager(nimmgr):
                                nim.advanced.lnb[x].latitude = ConfigFloat(default = [50,767], limits = [(0,359),(0,999)])
                                nim.advanced.lnb[x].latitudeOrientation = ConfigSelection(choices = [("north", _("North")), ("south", _("South"))], default = "north")
                                nim.advanced.lnb[x].powerMeasurement = ConfigYesNo(default=True)
-                               nim.advanced.lnb[x].powerThreshold = ConfigInteger(default=50, limits=(0, 100))
+                               nim.advanced.lnb[x].powerThreshold = ConfigInteger(default=hw.get_device_name() == "dm8000" and 15 or 50, limits=(0, 100))
                                nim.advanced.lnb[x].turningSpeed = ConfigSelection(choices = [("fast", _("Fast")), ("slow", _("Slow")), ("fast epoch", _("Fast epoch"))], default = "fast")
                                btime = datetime(1970, 1, 1, 7, 0);
                                nim.advanced.lnb[x].fastTurningBegin = ConfigDateTime(default=mktime(btime.timetuple()), formatstring = _("%H:%M"), increment = 600)
index e793cdcd4aa5533cd5307668d243b2a55895a784..031c9caee7096e01b2a50b4ce83803fa0f4946e9 100644 (file)
@@ -1,9 +1,7 @@
-import string
 import NavigationInstance
 from time import localtime
-from Components.NimManager import nimmanager
 from ServiceReference import ServiceReference
-from enigma import iServiceInformation, eServiceCenter
+from enigma import iServiceInformation, eServiceCenter, eServiceReference
 
 class TimerSanityCheck:
        def __init__(self, timerlist, newtimer=None):
@@ -54,6 +52,7 @@ class TimerSanityCheck:
                # index -1 for the new Timer, 0..n index of the existing timers
                # count of running timers
 
+               serviceHandler = eServiceCenter.getInstance()
                print "checkTimerlist"
 # create a list with all start and end times
 # split it into recurring and singleshot timers
@@ -149,9 +148,7 @@ class TimerSanityCheck:
                fakeRecList = []
                ConflictTimer = None
                ConflictTunerType = None
-               ConflictSlot = None
                newTimerTunerType = None
-               newTimerTunerSlot = None
                cnt = 0
                idx = 0
                overlaplist = []
@@ -162,24 +159,45 @@ class TimerSanityCheck:
                        else:
                                timer = self.timerlist[event[2]]
                        if event[1] == self.bflag:
-                               fakeRecService = NavigationInstance.instance.recordService(timer.service_ref)
-                               fakeRecResult = fakeRecService.start(True)
-                               feinfo = fakeRecService.frontendInfo().getFrontendData()
-                               tunerType = feinfo.get("tuner_type")
-                               tunerSlot = feinfo.get("tuner_number")
+                               tunerType = [ ]
+                               fakeRecService = NavigationInstance.instance.recordService(timer.service_ref, True)
+                               if fakeRecService:
+                                       fakeRecResult = fakeRecService.start(True)
+                               else:
+                                       fakeRecResult = -1
+                               if not fakeRecResult: # tune okay
+                                       feinfo = fakeRecService.frontendInfo().getFrontendData()
+                                       tunerType.append(feinfo.get("tuner_type"))
+                               else: # tune failed.. so we must go another way to get service type (DVB-S, DVB-T, DVB-C)
+
+                                       def getServiceType(ref): # helper function to get a service type of a service reference
+                                               serviceInfo = serviceHandler.info(ref)
+                                               serviceInfo = serviceInfo and serviceInfo.getInfoObject(ref, iServiceInformation.sTransponderData)
+                                               if serviceInfo:
+                                                       return { "Satellite" : "DVB-S", "Cable" : "DVB-C", "Terrestrial" : "DVB-T"}[serviceInfo["type"]]
+
+                                       ref = timer.service_ref.ref
+                                       if ref.flags & eServiceReference.isGroup: # service group ?
+                                               serviceList = serviceHandler.list(ref) # get all alternative services
+                                               if serviceList:
+                                                       for ref in serviceList.getContent("R"): # iterate over all group service references
+                                                               type = getServiceType(ref)
+                                                               if not type in tunerType: # just add single time
+                                                                       tunerType.append(type) 
+                                       else:
+                                               tunerType.append(getServiceType(ref))
+
                                if event[2] == -1: # new timer
                                        newTimerTunerType = tunerType
-                                       newTimerTunerSlot = tunerSlot
-                               overlaplist.append((fakeRecResult, timer, tunerType, tunerSlot))
+                               overlaplist.append((fakeRecResult, timer, tunerType))
                                fakeRecList.append((timer, fakeRecService))
                                if fakeRecResult:
                                        if ConflictTimer is None: # just take care of the first conflict
                                                ConflictTimer = timer
                                                ConflictTunerType = tunerType
-                                               ConflictTunerSlot = tunerSlot
                        elif event[1] == self.eflag:
                                for fakeRec in fakeRecList:
-                                       if timer == fakeRec[0]:
+                                       if timer == fakeRec[0] and fakeRec[1]:
                                                NavigationInstance.instance.stopRecordService(fakeRec[1])
                                                fakeRecList.remove(fakeRec)
                                del fakeRec
@@ -211,7 +229,6 @@ class TimerSanityCheck:
                                                if nt and kt:
                                                        ConflictTimer = self.newtimer
                                                        ConflictTunerType = newTimerTunerType
-                                                       ConflictSlot = newTimerTunerSlot
                                                        break
 
                self.simultimer = [ ConflictTimer ]
@@ -223,8 +240,11 @@ class TimerSanityCheck:
                                else:
                                        continue
                                for entry in event[4]:
-                                       if not self.simultimer.count(entry[1]) and (entry[2] == ConflictTunerType or entry[3] == ConflictTunerSlot):
-                                               self.simultimer.append(entry[1])
+                                       if not entry[1] in self.simultimer:
+                                               for x in entry[2]:
+                                                       if x in ConflictTunerType:
+                                                               self.simultimer.append(entry[1])
+                                                               break
 
                if len(self.simultimer) < 2:
                        print "Bug: unknown Conflict!"
index c21a9192e8f439b10a606ebe9d623ed00c3e45e5..4ddcabec3dfd3421a7d10d508d7b042c0d066c01 100755 (executable)
@@ -34,6 +34,7 @@ class ConfigElement(object):
                self.save_disabled = False
                self.notifiers = []
                self.enabled = True
+               self.callNotifiersOnSaveAndCancel = False
 
        # you need to override this to do input validation
        def setValue(self, value):
@@ -66,9 +67,13 @@ class ConfigElement(object):
                        self.saved_value = None
                else:
                        self.saved_value = self.tostring(self.value)
+               if self.callNotifiersOnSaveAndCancel:
+                       self.changed()
 
        def cancel(self):
                self.load()
+               if self.callNotifiersOnSaveAndCancel:
+                       self.changed()
 
        def isChanged(self):
                sv = self.saved_value
index 887e1674417e87d3e9f362ee7a59380ef77e39cc..580673e4320c2ff41f93ab174c9588a91c0a68c9 100755 (executable)
@@ -50,8 +50,8 @@ class NetworkAdapterSelection(Screen,HelpableScreen):
                Screen.__init__(self, session)
                HelpableScreen.__init__(self)
                
-               self.wlan_errortext = _("No working wireless networkadapter found.\nPlease verify that you have attached a compatible WLAN USB Stick and your Network is configured correctly.")
-               self.lan_errortext = _("No working local networkadapter found.\nPlease verify that you have attached a network cable and your Network is configured correctly.")
+               self.wlan_errortext = _("No working wireless network adapter found.\nPlease verify that you have attached a compatible WLAN device and your network is configured correctly.")
+               self.lan_errortext = _("No working local network adapter found.\nPlease verify that you have attached a network cable and your network is configured correctly.")
                self.oktext = _("Press OK on your remote control to continue.")
                self.restartLanRef = None
                
@@ -67,18 +67,18 @@ class NetworkAdapterSelection(Screen,HelpableScreen):
                        
                self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
                        {
-                       "cancel": (self.close, _("exit networkinterface list")),
+                       "cancel": (self.close, _("exit network interface list")),
                        "ok": (self.okbuttonClick, _("select interface")),
                        })
 
                self["ColorActions"] = HelpableActionMap(self, "ColorActions",
                        {
-                       "red": (self.close, _("exit networkinterface list")),   
+                       "red": (self.close, _("exit network interface list")),  
                        })
                
                self["DefaultInterfaceAction"] = HelpableActionMap(self, "ColorActions",
                        {
-                       "blue": (self.setDefaultInterface, [_("Set interface as default Interface"),_("* Only available if more then one interface is active.")] ),     
+                       "blue": (self.setDefaultInterface, [_("Set interface as default Interface"),_("* Only available if more than one interface is active.")] ),     
                        })
                
                self.list = []
@@ -273,13 +273,18 @@ class NameserverSetup(Screen, ConfigListScreen, HelpableScreen):
                        self.createSetup()
        
 class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
-       def __init__(self, session, iface,essid=None, aplist=None):
+       def __init__(self, session, networkinfo, essid=None, aplist=None):
                Screen.__init__(self, session)
                HelpableScreen.__init__(self)
                self.session = session
-               self.iface = iface
-               self.essid = essid
-               self.aplist = aplist
+               if isinstance(networkinfo, (list, tuple)):
+                       self.iface = networkinfo[0]
+                       self.essid = networkinfo[1]
+                       self.aplist = networkinfo[2]
+               else:
+                       self.iface = networkinfo
+                       self.essid = essid
+                       self.aplist = aplist
                self.extended = None
                self.applyConfigRef = None
                self.finished_cb = None
@@ -290,19 +295,19 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
 
                self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
                        {
-                       "cancel": (self.cancel, _("exit networkadapter setup menu")),
+                       "cancel": (self.cancel, _("exit network adapter setup menu")),
                        "ok": (self.ok, _("select menu entry")),
                        })
 
                self["ColorActions"] = HelpableActionMap(self, "ColorActions",
                        {
-                       "red": (self.cancel, _("exit networkadapter configuration")),
+                       "red": (self.cancel, _("exit network adapter configuration")),
                        "blue": (self.KeyBlue, _("open nameserver configuration")),
                        })
 
                self["VirtualKB"] = HelpableActionMap(self, "ColorActions",
                        {
-                       "green": (self.KeyGreen, [_("open virtual keyboard input help"),_("* Only available when entering hidden ssid or network key")] ),                                      
+                       "green": (self.KeyGreen, [_("open virtual keyboard input help"),_("* Only available when entering hidden SSID or network key")] ),                                      
                        })
 
                self["actions"] = NumberActionMap(["SetupActions"],
@@ -516,7 +521,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                if self.iface == "wlan0" or self.iface == "ath0" :      
                        if self["config"].getCurrent() == self.hiddenSSID:
                                if config.plugins.wlan.essid.value == 'hidden...':
-                                       self.session.openWithCallback(self.VirtualKeyBoardSSIDCallback, VirtualKeyBoard, title = (_("Enter WLAN networkname/SSID:")), text = config.plugins.wlan.essid.value)
+                                       self.session.openWithCallback(self.VirtualKeyBoardSSIDCallback, VirtualKeyBoard, title = (_("Enter WLAN network name/SSID:")), text = config.plugins.wlan.essid.value)
                        if self["config"].getCurrent() == self.encryptionKey:
                                self.session.openWithCallback(self.VirtualKeyBoardKeyCallback, VirtualKeyBoard, title = (_("Enter WLAN passphrase/key:")), text = config.plugins.wlan.encryption.psk.value)
        
@@ -600,7 +605,7 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                                iNetwork.deactivateInterface(self.iface)
                        iNetwork.writeNetworkConfig()                   
                        iNetwork.restartNetwork(self.applyConfigDataAvail)
-                       self.applyConfigRef = self.session.openWithCallback(self.applyConfigfinishedCB, MessageBox, _("Please wait while activating your network configuration..."), type = MessageBox.TYPE_INFO, enable_input = False)
+                       self.applyConfigRef = self.session.openWithCallback(self.applyConfigfinishedCB, MessageBox, _("Please wait for activation of your network configuration..."), type = MessageBox.TYPE_INFO, enable_input = False)
                else:
                        self.cancel()
                        
@@ -616,10 +621,10 @@ class AdapterSetup(Screen, ConfigListScreen, HelpableScreen):
                if data is True:
                        num_configured_if = len(iNetwork.getConfiguredAdapters())
                        if num_configured_if >= 2:
-                               self.session.openWithCallback(self.secondIfaceFoundCB, MessageBox, _("Your network configuration has been activated.\nA second configured interface has been found.\n\nDo you want to disable the second networkinterface?"), default = True)
+                               self.session.openWithCallback(self.secondIfaceFoundCB, MessageBox, _("Your network configuration has been activated.\nA second configured interface has been found.\n\nDo you want to disable the second network interface?"), default = True)
                        else:
                                if self.finished_cb:
-                                       self.session.openWithCallback(self.finished_cb, MessageBox, _("Your network configuration has been activated."), type = MessageBox.TYPE_INFO, timeout = 10)
+                                       self.session.openWithCallback(lambda x : self.finished_cb(), MessageBox, _("Your network configuration has been activated."), type = MessageBox.TYPE_INFO, timeout = 10)
                                else:
                                        self.session.openWithCallback(self.ConfigfinishedCB, MessageBox, _("Your network configuration has been activated."), type = MessageBox.TYPE_INFO, timeout = 10)
        
@@ -695,7 +700,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                
                self.oktext = _("Press OK on your remote control to continue.")
                self.reboottext = _("Your Dreambox will restart after pressing OK on your remote control.")
-               self.errortext = _("No working wireless interface found.\n Please verify that you have attached a compatible WLAN device or enable you local network interface.")       
+               self.errortext = _("No working wireless network interface found.\n Please verify that you have attached a compatible WLAN device or enable your local network interface.")      
                
                self["WizardActions"] = HelpableActionMap(self, "WizardActions",
                        {
@@ -1404,4 +1409,5 @@ class NetworkAdapterTest(Screen):
                except ImportError:
                        pass
                else:
-                       iStatus.stopWlanConsole()                                               
\ No newline at end of file
+                       iStatus.stopWlanConsole()
+                       
index 800bab33ccf98c8b51fa2cc78e164ad3f72b0656..aae345db2e69c0d50ce961f33515e712e1d556c8 100644 (file)
@@ -317,6 +317,7 @@ class TimerSanityConflict(Screen):
        EMPTY = 0
        ENABLE = 1
        DISABLE = 2
+       EDIT = 3
        
        def __init__(self, session, timer):
                Screen.__init__(self, session)
@@ -338,10 +339,11 @@ class TimerSanityConflict(Screen):
 
                self["key_red"] = Button("Edit")
                self["key_green"] = Button(" ")
-               self["key_yellow"] = Button("Edit")
+               self["key_yellow"] = Button(" ")
                self["key_blue"] = Button(" ")
 
                self.key_green_choice = self.EMPTY
+               self.key_yellow_choice = self.EMPTY
                self.key_blue_choice = self.EMPTY
 
                self["actions"] = ActionMap(["OkCancelActions", "DirectionActions", "ShortcutActions", "TimerEditActions"], 
@@ -415,9 +417,14 @@ class TimerSanityConflict(Screen):
                                self["actions"].actions.update({"green":self.toggleTimer1})
                                self["key_green"].setText(_("Disable"))
                                self.key_green_choice = self.DISABLE
+               
                if len(self.timer) > 1:
                        x = self["list"].getSelectedIndex()
                        if self.timer[x] is not None:
+                               if self.key_yellow_choice == self.EMPTY:
+                                       self["actions"].actions.update({"yellow":self.editTimer2})
+                                       self["key_yellow"].setText(_("Edit"))
+                                       self.key_yellow_choice = self.EDIT
                                if self.timer[x].disabled and self.key_blue_choice != self.ENABLE:
                                        self["actions"].actions.update({"blue":self.toggleTimer2})
                                        self["key_blue"].setText(_("Enable"))
@@ -432,9 +439,11 @@ class TimerSanityConflict(Screen):
                                        self.key_blue_choice = self.DISABLE
                else:
 #FIXME.... this doesnt hide the buttons self.... just the text
-                       self.removeAction("yellow")
-                       self["key_yellow"].setText(" ")
-                       self.key_yellow_choice = self.EMPTY
-                       self.removeAction("blue")
-                       self["key_blue"].setText(" ")
-                       self.key_blue_choice = self.EMPTY
+                       if self.key_yellow_choice != self.EMPTY:
+                               self.removeAction("yellow")
+                               self["key_yellow"].setText(" ")
+                               self.key_yellow_choice = self.EMPTY
+                       if self.key_blue_choice != self.EMPTY:
+                               self.removeAction("blue")
+                               self["key_blue"].setText(" ")
+                               self.key_blue_choice = self.EMPTY
index 8f05d53de3c0592a6d9ad408c2803fb64b13b4ca..7de05d2b848b8a3e7622bf9ec24790870197d64c 100644 (file)
@@ -282,9 +282,9 @@ PyObject *New_iRecordableServicePtr(const ePtr<iRecordableService> &ptr)
 
 /* needed for service groups */
 
-PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore);
+PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore, bool simulate=false);
 %{
-PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore)
+PyObject *getBestPlayableServiceReference(const eServiceReference &bouquet_ref, const eServiceReference &ignore, bool simulate=false)
 {
        eStaticServiceDVBBouquetInformation info;
        if (info.isPlayable(bouquet_ref, ignore))
index 0385b9c2af7d25281cfa0991b074e29130eab18b..02fc4508527dd91c243ecae40ffed1372b1dac8b 100644 (file)
@@ -240,7 +240,7 @@ public:
        virtual int getLength(const eServiceReference &ref);
        virtual SWIG_VOID(RESULT) getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &SWIG_OUTPUT, time_t start_time=-1);
                // returns true when not implemented
-       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       virtual int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
 
        virtual int getInfo(const eServiceReference &ref, int w);
        virtual std::string getInfoString(const eServiceReference &ref,int w);
index f34237d2307e623a2212161a714b81199bd54f7c..eb2757abae058edea84c404cde47d1742f72a7c6 100644 (file)
@@ -239,7 +239,7 @@ int iStaticServiceInformation::getLength(const eServiceReference &ref)
        return -1;
 }
 
-int iStaticServiceInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
+int iStaticServiceInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate)
 {
        return 0;
 }
index 954a3964dff1390176e31427fcdd575d7e155529..2f98ed6b1e9d15b0f7a4ce114d088daf6d8820ed 100644 (file)
@@ -412,7 +412,7 @@ RESULT eStaticServiceDVBBouquetInformation::getName(const eServiceReference &ref
                return -1;
 }
 
-int eStaticServiceDVBBouquetInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore)
+int eStaticServiceDVBBouquetInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate)
 {
        if (ref.flags & eServiceReference::isGroup)
        {
@@ -453,7 +453,7 @@ int eStaticServiceDVBBouquetInformation::isPlayable(const eServiceReference &ref
                                { 2, 1, 3 }  // -T -S -C
                        };
                        ((const eServiceReferenceDVB&)*it).getChannelID(chid);
-                       int tmp=res->canAllocateChannel(chid, chid_ignore);
+                       int tmp=res->canAllocateChannel(chid, chid_ignore, simulate);
                        switch(tmp)
                        {
                                case 0:
index 85e97ea127a884370787b4be9bcb7a94f16269c7..d19b92d694203fd0d81ebd2567521a848395761e 100644 (file)
@@ -293,7 +293,7 @@ public:
        eServiceReference &getPlayableService() { return m_playable_service; }
        RESULT getName(const eServiceReference &ref, std::string &name);
        int getLength(const eServiceReference &ref);
-       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate=false);
        RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
 };
 
old mode 100644 (file)
new mode 100755 (executable)
index d06fb6e..e5f33ee
--- 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: 2008-10-23 17:06+0200\n"
+"POT-Creation-Date: 2008-11-07 21:18+0100\n"
 "PO-Revision-Date: 2008-10-15 12:10+0100\n"
 "Last-Translator: Andreas Frisch <andreas.frisch@multimedia-labs.de>\n"
 "Language-Team: none\n"
@@ -19,6 +19,13 @@ msgstr ""
 "X-Poedit-Country: GERMANY\n"
 "X-Poedit-SourceCharset: iso-8859-15\n"
 
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 wird nach der Wiederherstellung neu starten"
+
 msgid " "
 msgstr ""
 
@@ -91,6 +98,12 @@ msgstr "(leer)"
 msgid "(show optional DVD audio menu)"
 msgstr ""
 
+msgid "* Only available if more than one interface is active."
+msgstr "* Nur verfügbar wenn mehr als ein Netzwerkadapter aktiv ist."
+
+msgid "* Only available when entering hidden SSID or network key"
+msgstr "* Verfügbar für die Eingabe der Netzwerk SSID oder Passwortes"
+
 msgid ".NFI Download failed:"
 msgstr ""
 
@@ -313,7 +326,7 @@ msgid "Action on long powerbutton press"
 msgstr "Aktion beim langen Druck auf Power"
 
 msgid "Action:"
-msgstr ""
+msgstr "Aktion:"
 
 msgid "Activate Picture in Picture"
 msgstr "Bild in Bild aktivieren"
@@ -407,11 +420,18 @@ msgstr "Es ist ein unbekannter Fehler aufgetreten!"
 msgid "Arabic"
 msgstr "Arabisch"
 
+msgid ""
+"Are you sure you want to activate this network configuration?\n"
+"\n"
+msgstr ""
+"Sind Sie sicher, das diese Netzwerkkonfiguration aktiviert werden soll?\n"
+"\n"
+
 msgid ""
 "Are you sure you want to restart your network interfaces?\n"
 "\n"
 msgstr ""
-"Sind Sie sicher, dass Sie die Netzwerk-Adapter neu starten wollen?\n"
+"Sind Sie sicher, dass Sie die Netzwerkadapter neu starten wollen?\n"
 "\n"
 
 msgid "Artist:"
@@ -447,9 +467,6 @@ msgstr "Automatische Scart-Umschaltung"
 msgid "Automatic"
 msgstr "Automatisch"
 
-msgid "Automatic SSID lookup"
-msgstr ""
-
 msgid "Automatic Scan"
 msgstr "Automatische Suche"
 
@@ -523,6 +540,9 @@ msgstr "Helligkeit"
 msgid "Burn DVD"
 msgstr "Brenne DVD"
 
+msgid "Burn existing image to DVD"
+msgstr ""
+
 msgid "Burn to DVD..."
 msgstr "Auf DVD brennen..."
 
@@ -574,7 +594,7 @@ msgid "Change bouquets in quickzap"
 msgstr "Bouquet wechseln beim Quickzap"
 
 msgid "Change dir."
-msgstr ""
+msgstr "Verzeichnis wechseln"
 
 msgid "Change pin code"
 msgstr "Pincode ändern"
@@ -736,6 +756,9 @@ msgstr ""
 msgid "Could not load Medium! No disc inserted?"
 msgstr "Konnte das Medium nicht laden! Keine DVD eingelegt?"
 
+msgid "Create DVD-ISO"
+msgstr ""
+
 msgid "Create movie folder failed"
 msgstr "Erzeugen des Film-Verzeichnisses fehlgeschlagen"
 
@@ -839,7 +862,7 @@ msgid "Description"
 msgstr "Beschreibung"
 
 msgid "Destination directory"
-msgstr ""
+msgstr "Zielverzeichniss"
 
 msgid "Detected HDD:"
 msgstr "Erkannte Festplatte:"
@@ -882,7 +905,7 @@ msgid "Disable Subtitles"
 msgstr "Untertitel abschalten"
 
 msgid "Disable timer"
-msgstr ""
+msgstr "Timer deaktivieren"
 
 msgid "Disabled"
 msgstr "Ausgeschaltet"
@@ -1006,7 +1029,7 @@ msgid "Done - Installed or upgraded %d packages with %d errors"
 msgstr "Beendet - %d installierte oder aktualisierte Pakete mit %d Fehlern"
 
 msgid "Download"
-msgstr ""
+msgstr "Herunterladen"
 
 msgid "Download .NFI-Files for USB-Flasher"
 msgstr ""
@@ -1088,7 +1111,7 @@ msgid "Enable parental control"
 msgstr "Jugendschutz anschalten"
 
 msgid "Enable timer"
-msgstr ""
+msgstr "Timer aktivieren"
 
 msgid "Enabled"
 msgstr "Eingeschaltet"
@@ -1099,6 +1122,9 @@ msgstr "Verschlüsselung"
 msgid "Encryption Key"
 msgstr "WLAN Sicherheitsschlüssel"
 
+msgid "Encryption Keytype"
+msgstr "Passwortverschlüsselungstyp"
+
 msgid "Encryption Type"
 msgstr "Verschlüssellungsart"
 
@@ -1129,17 +1155,18 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#.   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". 
 msgid "Enter Fast Forward at speed"
 msgstr "Anfängliche Vorlaufgeschwindigkeit eingeben"
 
 msgid "Enter Rewind at speed"
 msgstr "Anfängliche Rücklaufgeschwindigkeit eingeben"
 
+msgid "Enter WLAN network name/SSID:"
+msgstr ""
+
+msgid "Enter WLAN passphrase/key:"
+msgstr "WLAN Schlüssel/Passwort eingeben:"
+
 msgid "Enter main menu..."
 msgstr "Öffne Hauptmenü..."
 
@@ -1188,7 +1215,7 @@ msgid "Expert"
 msgstr "Experte"
 
 msgid "Extended Networksetup Plugin..."
-msgstr ""
+msgstr "Erweitertes Netzwerksetup Plugin..."
 
 msgid "Extended Setup..."
 msgstr "Erweiterte-Einstellungen..."
@@ -1232,6 +1259,12 @@ msgstr "Feineinst."
 msgid "Finished"
 msgstr "Beendet"
 
+msgid "Finished configuring your network"
+msgstr "Netzwerkkonfiguration abgeschlossen"
+
+msgid "Finished restarting your network"
+msgstr "Netzwerkneustart abgeschlossen"
+
 msgid "Finnish"
 msgstr "Finnisch"
 
@@ -1338,6 +1371,9 @@ msgstr "Festplatten-Einstellungen"
 msgid "Harddisk standby after"
 msgstr "Festplatten-Standby nach"
 
+msgid "Hidden network SSID"
+msgstr "Verstecke Netzwerk SSID"
+
 msgid "Hierarchy Information"
 msgstr "Hierarchieinformationen"
 
@@ -1353,6 +1389,12 @@ msgstr "Ungarisch"
 msgid "IP Address"
 msgstr "IP-Adresse"
 
+msgid "ISO file is too large for this filesystem!"
+msgstr ""
+
+msgid "ISO path"
+msgstr ""
+
 msgid "Icelandic"
 msgstr "Isländisch"
 
@@ -1455,7 +1497,7 @@ msgid "Integrated Ethernet"
 msgstr "Eingebaute Netzwerkschnittstelle"
 
 msgid "Integrated Wireless"
-msgstr ""
+msgstr "Integriertes WLAN"
 
 msgid "Intermediate"
 msgstr "Fortgeschritten"
@@ -1496,7 +1538,7 @@ msgid "Keymap"
 msgstr "Tastenlayout"
 
 msgid "LAN Adapter"
-msgstr ""
+msgstr "Netzwerkadapter"
 
 msgid "LNB"
 msgstr "LNB"
@@ -1744,7 +1786,7 @@ msgid "Network:"
 msgstr "Netzwerk:"
 
 msgid "NetworkWizard"
-msgstr ""
+msgstr "Netzwerkassistent"
 
 msgid "New"
 msgstr "Neu"
@@ -1841,22 +1883,31 @@ msgstr ""
 "Wenn Sie 'NEIN' wählen, bleibt der Einstellungen-Schutz deaktiviert!"
 
 msgid ""
-"No working local networkadapter found.\n"
-"Please verify that you have attached a network cable and your Network is "
+"No working local network adapter found.\n"
+"Please verify that you have attached a network cable and your network is "
 "configured correctly."
 msgstr ""
+"Kein funktionierender Netzwerkadapter gefunden.\n"
+"Stellen Sie sicher, dass Sie ein Netzwerkkabel angeschlossen haben und das "
+"Ihr Netzwerk richtig konfiguriert ist."
 
 msgid ""
-"No working wireless interface found.\n"
-" Please verify that you have attached a compatible WLAN device or enable "
-"your local network interface."
+"No working wireless network adapter found.\n"
+"Please verify that you have attached a compatible WLAN device and your "
+"network is configured correctly."
 msgstr ""
+"Kein funktionierende WLAN Netzwerkadapter gefunden.\n"
+"Stellen Sie sicher, dass Sie ein kompatibles Gerät angeschlossen haben oder "
+"aktivieren Sie den internen Netzwerkadapter."
 
 msgid ""
-"No working wireless networkadapter found.\n"
-"Please verify that you have attached a compatible WLAN USB Stick and your "
-"Network is configured correctly."
+"No working wireless network interface found.\n"
+"Please verify that you have attached a compatible WLAN device or enable your "
+"local network interface."
 msgstr ""
+"Kein funktionierender WLAN Netzwerkadapter gefunden.\n"
+"Stellen Sie sicher, dass Sie ein kompatibles Gerät angeschlossen haben und "
+"das Ihr Netzwerk richtig konfiguriert ist."
 
 msgid "No, but restart from begin"
 msgstr "Nein, aber von Anfang an neu beginnen"
@@ -2005,7 +2056,7 @@ msgid "Play"
 msgstr "Abspielen"
 
 msgid "Play Audio-CD..."
-msgstr ""
+msgstr "Audio-CD abspielen"
 
 msgid "Play recorded movies..."
 msgstr "Aufgenommene Filme abspielen..."
@@ -2020,7 +2071,7 @@ msgid "Please change recording endtime"
 msgstr "Bitte Aufnahmeendzeit ändern"
 
 msgid "Please check your network settings!"
-msgstr ""
+msgstr "Bitte überprüfen Sie ihre Netzwerkeinstellungen"
 
 msgid "Please choose .NFI image file from feed server to download"
 msgstr ""
@@ -2122,9 +2173,21 @@ msgstr ""
 "Bitte benutzen Sie die Hoch/Runter-Tasten, um Ihre Sprache auszuwählen. "
 "Danach drücken Sie bitte OK."
 
+msgid "Please wait for activation of your network configuration..."
+msgstr "Bitte warten während die Netzwerkkonfiguration aktiviert wird..."
+
 msgid "Please wait for md5 signature verification..."
 msgstr ""
 
+msgid "Please wait while we configure your network..."
+msgstr "Bitte warten während das Netzwerk konfiguriert wird..."
+
+msgid "Please wait while your network is restarting..."
+msgstr "Bitte warten während das Netzwerk neu startet..."
+
+msgid "Please wait..."
+msgstr "Bitte warten..."
+
 msgid "Please wait... Loading list..."
 msgstr "Bitte warten... Liste wird geladen..."
 
@@ -2297,7 +2360,7 @@ msgid "Remounting stick partition..."
 msgstr ""
 
 msgid "Remove Bookmark"
-msgstr ""
+msgstr "Bookmark entfernen"
 
 msgid "Remove Plugins"
 msgstr "Plugins entfernen"
@@ -2312,10 +2375,10 @@ msgid "Remove plugins"
 msgstr "Plugins entfernen"
 
 msgid "Remove the broken .NFI file?"
-msgstr ""
+msgstr "entferne defekte .NFI Datei?"
 
 msgid "Remove the incomplete .NFI file?"
-msgstr ""
+msgstr "entferne inkomplette .NFI Datei?"
 
 msgid "Remove title"
 msgstr "Titel entfernen"
@@ -2568,7 +2631,7 @@ msgid "Select channel to record from"
 msgstr "Kanal auswählen, von dem aufgenommen werden soll"
 
 msgid "Select image"
-msgstr ""
+msgstr "Wähle Image"
 
 msgid "Select refresh rate"
 msgstr "Wähle Bildwiederholrate"
@@ -2580,7 +2643,7 @@ msgid "Select video mode"
 msgstr "Wähle Video-Modus"
 
 msgid "Selected source image"
-msgstr ""
+msgstr "Wähle Quell-Image"
 
 msgid "Seperate titles with a main menu"
 msgstr "Separate Titel mit Hauptmenü"
@@ -2634,7 +2697,10 @@ msgid "Services"
 msgstr "Kanäle"
 
 msgid "Set as default Interface"
-msgstr ""
+msgstr "Netzwerkadapter als Standard definieren"
+
+msgid "Set interface as default Interface"
+msgstr "Setze Netzwerkadapter als Standardd"
 
 msgid "Set limits"
 msgstr "Limits setzen"
@@ -2865,6 +2931,9 @@ msgstr "System"
 msgid "TRANSLATOR_INFO"
 msgstr ""
 
+msgid "TS file is too large for ISO9660 level 1!"
+msgstr ""
+
 msgid "TV System"
 msgstr "Fernsehnorm"
 
@@ -3138,6 +3207,8 @@ msgid ""
 "Timer overlap in timers.xml detected!\n"
 "Please recheck it!"
 msgstr ""
+"Timerüberlappung in der timers.xml entdeckt!\n"
+"Bitte überprüfen!"
 
 msgid "Timer sanity error"
 msgstr "Fehler bei Timerprüfung"
@@ -3184,10 +3255,10 @@ msgid "Track"
 msgstr "Spur"
 
 msgid "Translation"
-msgstr ""
+msgstr "Übersetzung:"
 
 msgid "Translation:"
-msgstr ""
+msgstr "Übersetzung:"
 
 msgid "Transmission Mode"
 msgstr "Übertragungsmodus"
@@ -3305,7 +3376,7 @@ msgid "Use DHCP"
 msgstr "Adresse automatisch beziehen (DHCP)"
 
 msgid "Use Interface"
-msgstr ""
+msgstr "Netwerkadapter aktivieren"
 
 msgid "Use Power Measurement"
 msgstr "Verwende Stromaufnahmen-Messung"
@@ -3313,18 +3384,6 @@ msgstr "Verwende Stromaufnahmen-Messung"
 msgid "Use a gateway"
 msgstr "Einen Gateway verwenden?"
 
-#.   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". 
 msgid "Use non-smooth winding at speeds above"
 msgstr ""
 
@@ -3332,7 +3391,7 @@ msgid "Use power measurement"
 msgstr "Stromaufnahme messen"
 
 msgid "Use the Networkwizard to configure your Network\n"
-msgstr ""
+msgstr "Nutzen sie den Netzwerkassistenten um Ihr Netzwerk zu konfigurieren\n"
 
 msgid ""
 "Use the left and right buttons to change an option.\n"
@@ -3407,6 +3466,9 @@ msgstr "Rass Interaktiv anzeigen..."
 msgid "View teletext..."
 msgstr "Videotext anzeigen..."
 
+msgid "Virtual KeyBoard"
+msgstr "Virtuelle Tastatur"
+
 msgid "Voltage mode"
 msgstr "Spannungs-Modus"
 
@@ -3417,19 +3479,22 @@ msgid "W"
 msgstr "W"
 
 msgid "WEP"
-msgstr ""
+msgstr "WEP"
 
 msgid "WPA"
-msgstr ""
+msgstr "WPA"
+
+msgid "WPA or WPA2"
+msgstr "WPA oder WPA2"
 
 msgid "WPA2"
-msgstr ""
+msgstr "WPA2"
 
 msgid "WSS on 4:3"
 msgstr "WSS bei 4:3"
 
 msgid "Waiting"
-msgstr ""
+msgstr "Warte"
 
 msgid "Waiting for USB stick to settle..."
 msgstr ""
@@ -3523,6 +3588,9 @@ msgstr "Jahr:"
 msgid "Yes"
 msgstr "Ja"
 
+msgid "Yes, and delete this movie"
+msgstr "Ja, diesen Film löschen"
+
 msgid "Yes, backup my settings!"
 msgstr "Ja, meine Einstellungen sichern!"
 
@@ -3617,7 +3685,7 @@ msgstr ""
 
 #, python-format
 msgid "You have to wait %s!"
-msgstr ""
+msgstr "Sie müssen %s warten!"
 
 msgid ""
 "You need a PC connected to your dreambox. If you need further instructions, "
@@ -3683,6 +3751,20 @@ msgstr ""
 "Ihre Frontprozessor-Firmware muss aktualisiert werden.\n"
 "Drücken Sie OK, um das Upgrade zu starten."
 
+msgid "Your network configuration has been activated."
+msgstr "Ihre Netzwerkkonfiguration wurde aktiviert."
+
+msgid ""
+"Your network configuration has been activated.\n"
+"A second configured interface has been found.\n"
+"\n"
+"Do you want to disable the second network interface?"
+msgstr ""
+"Ihre Netzwerkkonfiguration wurde aktiviert.\n"
+"Ein zweiter konfigurierter Netzwerkadapter wurde gefunden.\n"
+"\n"
+"Wollen Sie den zweiten Netzwerkadapter deaktivieren ?"
+
 msgid "Zap back to service before positioner setup?"
 msgstr ""
 "Zurückschalten zum Sender der vor dem\n"
@@ -3717,11 +3799,17 @@ msgstr "Favoriteneditor abbrechen"
 msgid "about to start"
 msgstr "startet gleich"
 
+msgid "activate current configuration"
+msgstr "Aktuelle Konfiguration aktivieren"
+
+msgid "add a nameserver entry"
+msgstr "DNS Servereintrag hinzufügen"
+
 msgid "add alternatives"
 msgstr "Alternativen hinzufügen"
 
 msgid "add bookmark"
-msgstr ""
+msgstr "Bookmark hinzufügen"
 
 msgid "add bouquet"
 msgstr "Bouquet einfügen"
@@ -3800,7 +3888,7 @@ msgid "chapters"
 msgstr "Kapitel"
 
 msgid "choose destination directory"
-msgstr ""
+msgstr "Wähle Zielverzeichnis"
 
 msgid "circular left"
 msgstr "links-zirkulär"
@@ -3833,7 +3921,7 @@ msgid "copy to bouquets"
 msgstr "in Bouquets kopieren"
 
 msgid "create directory"
-msgstr ""
+msgstr "Verzeichnis erstellen"
 
 msgid "daily"
 msgstr "täglich"
@@ -3913,6 +4001,9 @@ msgstr "Schnitt endet hier"
 msgid "end favourites edit"
 msgstr "Favoriteneditor beenden"
 
+msgid "enigma2 and network"
+msgstr "Enigma2 und Netzwerk"
+
 msgid "equal to"
 msgstr "Gleich wie"
 
@@ -3928,6 +4019,21 @@ msgstr "Mediaplayer beenden"
 msgid "exit movielist"
 msgstr "Verlasse Filmliste"
 
+msgid "exit nameserver configuration"
+msgstr "DNS Serverkonfiguration verlassen"
+
+msgid "exit network adapter configuration"
+msgstr "Netzwerkadapterkonfiguration verlassen"
+
+msgid "exit network adapter setup menu"
+msgstr "Netzwerkadaptermenu verlassen"
+
+msgid "exit network interface list"
+msgstr "Netzwerkadapterübersicht verlassen"
+
+msgid "exit networkadapter setup menu"
+msgstr ""
+
 msgid "failed"
 msgstr ""
 
@@ -4054,7 +4160,7 @@ msgid "menu"
 msgstr "Menü"
 
 msgid "menulist"
-msgstr ""
+msgstr "Menüliste"
 
 msgid "mins"
 msgstr "min"
@@ -4071,6 +4177,18 @@ msgstr "Monat"
 msgid "move PiP to main picture"
 msgstr "PiP tauschen und beenden"
 
+msgid "move down to last entry"
+msgstr "zum letzten Eintrag gehen"
+
+msgid "move down to next entry"
+msgstr "zum nächsten Eintrag gehen"
+
+msgid "move up to first entry"
+msgstr "zum ersten Eintrag gehen"
+
+msgid "move up to previous entry"
+msgstr "zum vorherigen Eintrag gehen"
+
 msgid "movie list"
 msgstr "Filmliste"
 
@@ -4131,8 +4249,8 @@ msgstr "auf dem nicht beschreibbaren Medium."
 msgid "once"
 msgstr "einmalig"
 
-msgid "only /etc/enigma2 directory"
-msgstr "nur Verzeichnis /etc/enigma2"
+msgid "open nameserver configuration"
+msgstr "DNS Server Konfiguration öffnen"
 
 msgid "open servicelist"
 msgstr "Kanalliste öffnen"
@@ -4143,6 +4261,9 @@ msgstr "Kanalliste öffnen(nach unten)"
 msgid "open servicelist(up)"
 msgstr "Kanalliste öffnen(nach oben)"
 
+msgid "open virtual keyboard input help"
+msgstr "Virtuelle Tastatureingabehilfe öffnen"
+
 msgid "pass"
 msgstr "Durchgang"
 
@@ -4171,7 +4292,7 @@ msgid "previous channel in history"
 msgstr "Vorheriger Kanal im Verlauf"
 
 msgid "rebooting..."
-msgstr ""
+msgstr "starte neu..."
 
 msgid "record"
 msgstr "Aufnehmen"
@@ -4179,6 +4300,9 @@ msgstr "Aufnehmen"
 msgid "recording..."
 msgstr "nimmt auf..."
 
+msgid "remove a nameserver entry"
+msgstr "DNS Servereintrag entfernen"
+
 msgid "remove after this position"
 msgstr "Nach dieser Position entfernen"
 
@@ -4192,10 +4316,10 @@ msgid "remove before this position"
 msgstr "Vor dieser Position entfernen"
 
 msgid "remove bookmark"
-msgstr ""
+msgstr "Bookmark entfernen"
 
 msgid "remove directory"
-msgstr ""
+msgstr "Verzeichnis entfernen"
 
 msgid "remove entry"
 msgstr "Eintrag entfernen"
@@ -4247,13 +4371,19 @@ msgid "seconds"
 msgstr "Sekunden"
 
 msgid "select"
-msgstr ""
+msgstr "wähle"
 
 msgid "select .NFI flash file"
-msgstr ""
+msgstr "Wähle eine .NFI Flashdatei"
 
 msgid "select image from server"
-msgstr ""
+msgstr "Wähle ein Image vom Server"
+
+msgid "select interface"
+msgstr "Wähle einen Netzwerkadapter"
+
+msgid "select menu entry"
+msgstr "Wähle einen Menüpunkt"
 
 msgid "select movie"
 msgstr "Wähle Film"
@@ -4448,13 +4578,6 @@ msgstr "Umschalten"
 msgid "zapped"
 msgstr "umgeschaltet"
 
-#~ msgid ""
-#~ "\n"
-#~ "Enigma2 will restart after the restore"
-#~ msgstr ""
-#~ "\n"
-#~ "Enigma2 wird nach der Wiederherstellung neu starten"
-
 #~ msgid ""
 #~ "Are you sure you want to enable WLAN support?\n"
 #~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
@@ -4503,6 +4626,9 @@ msgstr "umgeschaltet"
 #~ msgid "Enable WLAN Support"
 #~ msgstr "Aktiviere WLAN Unterstützung"
 
+#~ msgid "Enter WLAN networ kname/SSID:"
+#~ msgstr "WLAN Netzwerkname/SSID eingeben:"
+
 #~ msgid "Games / Plugins"
 #~ msgstr "Spiele / Erweiterungen"
 
@@ -4601,6 +4727,9 @@ msgstr "umgeschaltet"
 #~ msgid "loopthrough to socket A"
 #~ msgstr "Verbunden mit Tuner A"
 
+#~ msgid "only /etc/enigma2 directory"
+#~ msgstr "nur Verzeichnis /etc/enigma2"
+
 #~ msgid "play next playlist entry"
 #~ msgstr "nächsten Wiedergabelisteneintrag abspielen"
 
old mode 100755 (executable)
new mode 100644 (file)
index 3f3af66..8f8cb01
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-10-23 17:06+0200\n"
-"PO-Revision-Date: 2008-10-23 14:56+0100\n"
+"POT-Creation-Date: 2008-11-10 00:07+0100\n"
+"PO-Revision-Date: 2008-11-08 07:56+0100\n"
 "Last-Translator: WeeGull <weegull@hotmail.com>\n"
 "Language-Team: WeeGull <weegull@hotmail.com>\n"
 "MIME-Version: 1.0\n"
@@ -91,6 +91,12 @@ msgstr "(tom)"
 msgid "(show optional DVD audio menu)"
 msgstr "(visa utökad DVD ljudmeny)"
 
+msgid "* Only available if more than one interface is active."
+msgstr ""
+
+msgid "* Only available when entering hidden SSID or network key"
+msgstr ""
+
 msgid ".NFI Download failed:"
 msgstr ".NFI Nedladdning misslyckades:"
 
@@ -406,6 +412,11 @@ msgstr "Ett okänt fel uppstod!"
 msgid "Arabic"
 msgstr "Arabiska"
 
+msgid ""
+"Are you sure you want to activate this network configuration?\n"
+"\n"
+msgstr ""
+
 msgid ""
 "Are you sure you want to restart your network interfaces?\n"
 "\n"
@@ -446,9 +457,6 @@ msgstr "Auto scart byte"
 msgid "Automatic"
 msgstr "Automatisk"
 
-msgid "Automatic SSID lookup"
-msgstr "Automatisk SSID sökning"
-
 msgid "Automatic Scan"
 msgstr "Automatisk sökning"
 
@@ -521,6 +529,9 @@ msgstr "Ljusstyrka"
 msgid "Burn DVD"
 msgstr "Skapa DVD"
 
+msgid "Burn existing image to DVD"
+msgstr ""
+
 msgid "Burn to DVD..."
 msgstr "Bränn till DVD..."
 
@@ -734,6 +745,9 @@ msgstr "Kunde inte ansluta till Dreambox .NFI image feed Server:"
 msgid "Could not load Medium! No disc inserted?"
 msgstr "Kunde inte ladda media! Ingen disk istoppad?"
 
+msgid "Create DVD-ISO"
+msgstr ""
+
 msgid "Create movie folder failed"
 msgstr "Det gick inte att skapa en filmkatalog"
 
@@ -972,7 +986,7 @@ msgid "Do you want to enable the parental control feature on your dreambox?"
 msgstr "Vill du aktivera föräldrakontroll på din Dreambox?"
 
 msgid "Do you want to install default sat lists?"
-msgstr "Vill du installera "
+msgstr "Vill du installera grundsatellitlista?"
 
 msgid "Do you want to play DVD in drive?"
 msgstr "Vill du spela upp DVD i spelaren?"
@@ -1053,6 +1067,9 @@ msgstr "FEL - misslyckades söka (%s)!"
 msgid "East"
 msgstr "Öst"
 
+msgid "Edit"
+msgstr ""
+
 msgid "Edit DNS"
 msgstr "Ändra DNS"
 
@@ -1101,6 +1118,9 @@ msgstr "Kryptering"
 msgid "Encryption Key"
 msgstr "Krypteringsnyckel"
 
+msgid "Encryption Keytype"
+msgstr ""
+
 msgid "Encryption Type"
 msgstr "Krypteringstyp"
 
@@ -1142,6 +1162,12 @@ msgstr "Ange hastighet för snabbspolning framåt"
 msgid "Enter Rewind at speed"
 msgstr "Ange hastighet för snabbspolning bakåt"
 
+msgid "Enter WLAN network name/SSID:"
+msgstr ""
+
+msgid "Enter WLAN passphrase/key:"
+msgstr ""
+
 msgid "Enter main menu..."
 msgstr "Gå till huvudmeny..."
 
@@ -1234,6 +1260,12 @@ msgstr "Fininställn."
 msgid "Finished"
 msgstr "Klart"
 
+msgid "Finished configuring your network"
+msgstr ""
+
+msgid "Finished restarting your network"
+msgstr ""
+
 msgid "Finnish"
 msgstr "Finska"
 
@@ -1339,6 +1371,9 @@ msgstr "Hårddisk installation"
 msgid "Harddisk standby after"
 msgstr "Viloläge för hårddisk efter"
 
+msgid "Hidden network SSID"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Hierarkisk information "
 
@@ -1354,6 +1389,12 @@ msgstr "Ungerska"
 msgid "IP Address"
 msgstr "IP adress"
 
+msgid "ISO file is too large for this filesystem!"
+msgstr ""
+
+msgid "ISO path"
+msgstr ""
+
 msgid "Icelandic"
 msgstr "Isländska"
 
@@ -1831,28 +1872,22 @@ msgstr ""
 "Om du anger 'Nej' här kommer installationsskyddet vara avaktiverat!"
 
 msgid ""
-"No working local networkadapter found.\n"
-"Please verify that you have attached a network cable and your Network is "
+"No working local network adapter found.\n"
+"Please verify that you have attached a network cable and your network is "
 "configured correctly."
 msgstr ""
-"Inget fungerades lokalt nätverkskort hittat.\n"
-"Vänligen bekräfta att du har anslutit en nätverkskabel och att ditt Nätverk "
-"är korrekt konfigurerat."
 
 msgid ""
-"No working wireless interface found.\n"
-" Please verify that you have attached a compatible WLAN device or enable "
-"your local network interface."
+"No working wireless network adapter found.\n"
+"Please verify that you have attached a compatible WLAN device and your "
+"network is configured correctly."
 msgstr ""
 
 msgid ""
-"No working wireless networkadapter found.\n"
-"Please verify that you have attached a compatible WLAN USB Stick and your "
-"Network is configured correctly."
+"No working wireless network interface found.\n"
+" Please verify that you have attached a compatible WLAN device or enable "
+"your local network interface."
 msgstr ""
-"Inget fungerande trådlöst nätverkskort hittat.\n"
-"Vänligen bekräfta att du har anslutit ett kompatibelt WLAN USB Stick och "
-"konfigurerat ditt Nätverk korrekt."
 
 msgid "No, but restart from begin"
 msgstr "Nej, men starta om från början"
@@ -2123,9 +2158,21 @@ msgstr ""
 "Vänligen använd UPP och NER pil för att välja språk. Efter val tryck på OK "
 "knappen."
 
+msgid "Please wait for activation of your network configuration..."
+msgstr ""
+
 msgid "Please wait for md5 signature verification..."
 msgstr "Vänligen vänta för md5 signatur verifiering..."
 
+msgid "Please wait while we configure your network..."
+msgstr ""
+
+msgid "Please wait while your network is restarting..."
+msgstr ""
+
+msgid "Please wait..."
+msgstr ""
+
 msgid "Please wait... Loading list..."
 msgstr "Vänligen vänta... Laddar lista..."
 
@@ -2457,7 +2504,7 @@ msgid "Scaling Mode"
 msgstr "Scalingläge"
 
 msgid "Scan "
-msgstr "Söka"
+msgstr "Söka "
 
 msgid "Scan QAM128"
 msgstr "Söka QAM128"
@@ -2635,6 +2682,9 @@ msgstr "Kanaler"
 msgid "Set as default Interface"
 msgstr "Använd som standard Interface"
 
+msgid "Set interface as default Interface"
+msgstr ""
+
 msgid "Set limits"
 msgstr "Ange gräns"
 
@@ -2867,6 +2917,9 @@ msgstr ""
 "Förslag på förändringar skicka ett epost:\n"
 "weegull@hotmail.com"
 
+msgid "TS file is too large for ISO9660 level 1!"
+msgstr ""
+
 msgid "TV System"
 msgstr "TV System"
 
@@ -3424,6 +3477,9 @@ msgstr "Visa Rass interaktivitet..."
 msgid "View teletext..."
 msgstr "Visa teletext..."
 
+msgid "Virtual KeyBoard"
+msgstr ""
+
 msgid "Voltage mode"
 msgstr "Spännings läge"
 
@@ -3439,6 +3495,9 @@ msgstr "WEP"
 msgid "WPA"
 msgstr "WPA"
 
+msgid "WPA or WPA2"
+msgstr ""
+
 msgid "WPA2"
 msgstr "WPA2"
 
@@ -3544,6 +3603,9 @@ msgstr "År:"
 msgid "Yes"
 msgstr "Ja"
 
+msgid "Yes, and delete this movie"
+msgstr ""
+
 msgid "Yes, backup my settings!"
 msgstr "Ja, ta backup på inställningar!"
 
@@ -3573,7 +3635,7 @@ msgid ""
 "want to be installed."
 msgstr ""
 "Du kan välja från några grundinställningar nu. Vänligen välj de "
-"instaällningar du vill installera."
+"inställningar du vill installera."
 
 msgid "You can choose, what you want to install..."
 msgstr "Du kan välja, vad vill du ska installeras..."
@@ -3702,6 +3764,16 @@ msgstr ""
 "Din frontprocessors mjukvara måste uppgraderas.\n"
 "Tryck OK för att starta."
 
+msgid "Your network configuration has been activated."
+msgstr ""
+
+msgid ""
+"Your network configuration has been activated.\n"
+"A second configured interface has been found.\n"
+"\n"
+"Do you want to disable the second network interface?"
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr "Gå till föregående kanal före motorinstallation?"
 
@@ -3732,6 +3804,12 @@ msgstr "avbryt editera favoriter"
 msgid "about to start"
 msgstr "håller på att starta"
 
+msgid "activate current configuration"
+msgstr ""
+
+msgid "add a nameserver entry"
+msgstr ""
+
 msgid "add alternatives"
 msgstr "lägg till alternativ"
 
@@ -3928,6 +4006,9 @@ msgstr "slutklipp här"
 msgid "end favourites edit"
 msgstr "avsluta favoriter editor"
 
+msgid "enigma2 and network"
+msgstr ""
+
 msgid "equal to"
 msgstr "lika med"
 
@@ -3943,6 +4024,21 @@ msgstr "avsluta mediaspelare"
 msgid "exit movielist"
 msgstr "avsluta filmlista"
 
+msgid "exit nameserver configuration"
+msgstr ""
+
+msgid "exit network adapter configuration"
+msgstr ""
+
+msgid "exit network adapter setup menu"
+msgstr ""
+
+msgid "exit network interface list"
+msgstr ""
+
+msgid "exit networkadapter setup menu"
+msgstr ""
+
 msgid "failed"
 msgstr "misslyckades"
 
@@ -4086,6 +4182,18 @@ msgstr "månad"
 msgid "move PiP to main picture"
 msgstr "flytta BiB till huvudbild"
 
+msgid "move down to last entry"
+msgstr ""
+
+msgid "move down to next entry"
+msgstr ""
+
+msgid "move up to first entry"
+msgstr ""
+
+msgid "move up to previous entry"
+msgstr ""
+
 msgid "movie list"
 msgstr "filmlista"
 
@@ -4146,8 +4254,8 @@ msgstr "på READ ONLY media."
 msgid "once"
 msgstr "en gång"
 
-msgid "only /etc/enigma2 directory"
-msgstr "endast /etc/enigma2 bibliotek"
+msgid "open nameserver configuration"
+msgstr ""
 
 msgid "open servicelist"
 msgstr "öppna kanallista"
@@ -4158,6 +4266,9 @@ msgstr "öppna kanallista(ner)"
 msgid "open servicelist(up)"
 msgstr "öppna kanallista(upp)"
 
+msgid "open virtual keyboard input help"
+msgstr ""
+
 msgid "pass"
 msgstr "klart"
 
@@ -4194,6 +4305,9 @@ msgstr "spela in"
 msgid "recording..."
 msgstr "spelar in..."
 
+msgid "remove a nameserver entry"
+msgstr ""
+
 msgid "remove after this position"
 msgstr "ta bort efter denna position"
 
@@ -4270,6 +4384,12 @@ msgstr "välj .NFI flash fil"
 msgid "select image from server"
 msgstr "välj image från server"
 
+msgid "select interface"
+msgstr ""
+
+msgid "select menu entry"
+msgstr ""
+
 msgid "select movie"
 msgstr "välj film"
 
@@ -4498,6 +4618,9 @@ msgstr "zapped"
 #~ "Är du säker på att du vill aktivera lokalt nätverk?\n"
 #~ "\n"
 
+#~ msgid "Automatic SSID lookup"
+#~ msgstr "Automatisk SSID sökning"
+
 #~ msgid "Burn"
 #~ msgstr "Skapa"
 
@@ -4591,6 +4714,15 @@ msgstr "zapped"
 #~ msgid "New DVD"
 #~ msgstr "Ny DVD"
 
+#~ msgid ""
+#~ "No working local networkadapter found.\n"
+#~ "Please verify that you have attached a network cable and your Network is "
+#~ "configured correctly."
+#~ msgstr ""
+#~ "Inget fungerades lokalt nätverkskort hittat.\n"
+#~ "Vänligen bekräfta att du har anslutit en nätverkskabel och att ditt "
+#~ "Nätverk är korrekt konfigurerat."
+
 #~ msgid ""
 #~ "No working wireless interface found.\n"
 #~ " Please verify that you have attached a compatible WLAN USB Stick or "
@@ -4609,6 +4741,24 @@ msgstr "zapped"
 #~ " Vänligen bekräfta att du har anslutit ett kompatibelt WLAN kort eller "
 #~ "aktiverat lokalt nätverkskort."
 
+#~ msgid ""
+#~ "No working wireless interface found.\n"
+#~ " Please verify that you have attached a compatible WLAN device or enable "
+#~ "your local network interface."
+#~ msgstr ""
+#~ "Inget fungerandes trådlöst kort hittat.\n"
+#~ " Vänligen bekräfta att du har anslutit ett kompatibelt WLAN kort eller "
+#~ "aktiverat ditt lokala nätverkskort."
+
+#~ msgid ""
+#~ "No working wireless networkadapter found.\n"
+#~ "Please verify that you have attached a compatible WLAN USB Stick and your "
+#~ "Network is configured correctly."
+#~ msgstr ""
+#~ "Inget fungerande trådlöst nätverkskort hittat.\n"
+#~ "Vänligen bekräfta att du har anslutit ett kompatibelt WLAN USB Stick och "
+#~ "konfigurerat ditt Nätverk korrekt."
+
 #~ msgid "No, let me choose default lists"
 #~ msgstr "Nej, låt mig välja grundlista"
 
@@ -4783,3 +4933,6 @@ msgstr "zapped"
 
 #~ msgid "loopthrough to socket A"
 #~ msgstr "loopthrough till ingång A"
+
+#~ msgid "only /etc/enigma2 directory"
+#~ msgstr "endast /etc/enigma2 bibliotek"
index ab967435ebf1667c4560e89b06bf624ecbddec34..63b753f8add19bef07256b94d467719dcff93c7e 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-06 14:37+0100\n"
+"POT-Creation-Date: 2008-11-10 00:07+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Zülfikar Veyisoğlu <zveyis@gmail.com>\n"
 "Language-Team: \n"
@@ -84,10 +84,10 @@ msgstr "(boş)"
 msgid "(show optional DVD audio menu)"
 msgstr "(opsiyonel DVD ses menüsünü göster)"
 
-msgid "* Only available if more then one interface is active."
+msgid "* Only available if more than one interface is active."
 msgstr ""
 
-msgid "* Only available when entering hidden ssid or network key"
+msgid "* Only available when entering hidden SSID or network key"
 msgstr ""
 
 msgid ".NFI Download failed:"
@@ -321,7 +321,7 @@ msgid "Activate network settings"
 msgstr "Ağ ayarlarını etkinleştir"
 
 msgid "Adapter settings"
-msgstr "Ağ donanımı ayarları"
+msgstr "Ağ donanım ayarları"
 
 msgid "Add"
 msgstr "Ekle"
@@ -409,6 +409,8 @@ msgid ""
 "Are you sure you want to activate this network configuration?\n"
 "\n"
 msgstr ""
+"Bu ağ yapılandırmasını aktifleştirmek istediğinizden emin misiniz?\n"
+"\n"
 
 msgid ""
 "Are you sure you want to restart your network interfaces?\n"
@@ -445,7 +447,7 @@ msgid "Auto chapter split every ? minutes (0=never)"
 msgstr "Belirtilen sürelerde otomatik bölümlere ayrılsın mı? dakika (0=ayırma)"
 
 msgid "Auto scart switching"
-msgstr ""
+msgstr "Otomatik scart anahtarlama"
 
 msgid "Automatic"
 msgstr "Otomatik"
@@ -837,6 +839,8 @@ msgid ""
 "Delete no more configured satellite\n"
 "%s?"
 msgstr ""
+"Yapılandırırken ihtiyaç duymadığınız %s\n"
+"uydusunu silmek istiyor musunuz?"
 
 msgid "Description"
 msgstr "Açıklama"
@@ -1058,6 +1062,9 @@ msgstr "HATA - arama başarısız (%s)!"
 msgid "East"
 msgstr "Doğu"
 
+msgid "Edit"
+msgstr ""
+
 msgid "Edit DNS"
 msgstr "DNS Düzenle"
 
@@ -1107,7 +1114,7 @@ msgid "Encryption Key"
 msgstr "Şifreleme Anahtarı"
 
 msgid "Encryption Keytype"
-msgstr ""
+msgstr "Şifreleme anahtar tipi"
 
 msgid "Encryption Type"
 msgstr "Şifreleme Tipi"
@@ -1150,11 +1157,11 @@ msgstr "Hızlı sardırma hızını (FF) girin"
 msgid "Enter Rewind at speed"
 msgstr "Geri sardırma hızını (RW) seçin"
 
-msgid "Enter WLAN networkname/SSID:"
+msgid "Enter WLAN network name/SSID:"
 msgstr ""
 
 msgid "Enter WLAN passphrase/key:"
-msgstr ""
+msgstr "WLAN ön paylaşımlı anahtarı (passphrase/key) girin:"
 
 msgid "Enter main menu..."
 msgstr "Ana menüye gir..."
@@ -1180,7 +1187,7 @@ msgid "Eventview"
 msgstr "Program detayı"
 
 msgid "Everything is fine"
-msgstr "Gerşey güzel"
+msgstr "Herşey güzel"
 
 msgid "Execution Progress:"
 msgstr "Uygulama ilerliyor:"
@@ -1204,7 +1211,7 @@ msgid "Expert"
 msgstr "Uzman"
 
 msgid "Extended Networksetup Plugin..."
-msgstr ""
+msgstr "Geliştirilmiş Ağ kurulum programı..."
 
 msgid "Extended Setup..."
 msgstr "Gelişmiş Kurulum..."
@@ -1249,10 +1256,10 @@ msgid "Finished"
 msgstr "Bitmiş"
 
 msgid "Finished configuring your network"
-msgstr ""
+msgstr "Ağ yapılandırması tamamlandı."
 
 msgid "Finished restarting your network"
-msgstr ""
+msgstr "Ağ yeniden başlatıldı"
 
 msgid "Finnish"
 msgstr "Fince"
@@ -1262,7 +1269,7 @@ msgid ""
 msgstr ""
 
 msgid "Fix USB stick"
-msgstr "USB çubuğu onar"
+msgstr "USB belleği onar"
 
 msgid "Flash"
 msgstr "Flaşa yaz"
@@ -1318,7 +1325,7 @@ msgid ""
 "Do you want to Restart the GUI now?"
 msgstr ""
 "Yeni arayüzü aktif hale getirmek için yeniden başlatma gerekiyor\n"
-"Grafik arayüzü (GUI)'yi yeniden başlatmak istediğinize emin misiniz?"
+"Grafik arayüzünü (GUI) yeniden başlatmak istediğinize emin misiniz?"
 
 msgid "Gateway"
 msgstr "Ağ geçidi"
@@ -1360,7 +1367,7 @@ msgid "Harddisk standby after"
 msgstr "Belirtilen süre kullanılmadığında Sabitdiski uyku moduna al"
 
 msgid "Hidden network SSID"
-msgstr ""
+msgstr "Gizlenmiş ağ SSID"
 
 msgid "Hierarchy Information"
 msgstr "Hiyerarşi Bilgisi"
@@ -1408,21 +1415,12 @@ msgid ""
 "If you are happy with the result, press OK."
 msgstr ""
 "Eğer TV'nizde parlaklık ve kontrast geliştirme özelliğini kullanıyorsanız, "
-"devre dışı bırakın. TV'nizin ayarlarında \"dinamik\" ismiyle adlandırılan "
-"ayar aktifse, standart'a getirin. Zemin ışıklandırma (backlight) seviyesini "
-"deneyerek ayarlayın.\n"
-"Kontrast oranını olabildiğince düşürün. Sonrasında parlaklık seviyesini "
-"mümkün olduğunca düşürün, en alttaki gri tonajlı iki tonuda ayırt edebilecek "
-"şekilde ayarlarınızı yapın.\n"
-"Parlak tonları şuan için dert etmeyin. Onları bir sonraki adımda "
-"ayarlayabilirsiniz.\n"
-"Sonuçtan memnunsanız, OK tuşuna basın.Eğer TV'nizde parlaklık ve kontrast "
-"geliştirme özelliğini kullanıyorsanız, devre dışı bırakın. TV'nizin "
-"ayarlarında \"dinamik\" ismiyle adlandırılan ayar aktifse, standart'a "
-"getirin. Zemin ışıklandırma (backlight) seviyesini deneyerek ayarlayın.\n"
-"Kontrast oranını olabildiğince düşürün. Sonrasında parlaklık seviyesini "
-"mümkün olduğunca düşürün, en alttaki gri tonajlı iki tonuda ayırt edebilecek "
-"şekilde ayarlarınızı yapın.\n"
+"devre dışı bırakın. TV ayarlarınızda \"dinamik\" ismiyle adlandırılan ayar "
+"aktifse, standart'a getirin. Zemin ışıklandırma (backlight) seviyesini "
+"ayarlayın.\n"
+"Kontrast oranını olabildiğince düşürün. Parlaklık seviyesini mümkün "
+"olduğunca düşürün, en alttaki iki gri tonuda ayırt edebilecek şekilde "
+"ayarlarınızı yapın.\n"
 "Parlak tonları şuan için dert etmeyin. Onları bir sonraki adımda "
 "ayarlayabilirsiniz.\n"
 "Sonuçtan memnunsanız, OK tuşuna basın."
@@ -1692,7 +1690,7 @@ msgid "Monday"
 msgstr "Pazartesi"
 
 msgid "Mount failed"
-msgstr "Depolama aygıtı baÅ\9flama iÅ\9flemi (mount) baÅ\9farısız"
+msgstr "Depolama aygıtı baÄ\9flama iÅ\9flemi (mount) baÅ\9farısız"
 
 msgid "Move Picture in Picture"
 msgstr "Resim içinde resim (PiP)'i  taşı"
@@ -1751,16 +1749,16 @@ msgid "Nameserver settings"
 msgstr "İsim sunucusu (DNS) ayarları"
 
 msgid "Netmask"
-msgstr "Ağ maskesi"
+msgstr "Alt ağ maskesi"
 
 msgid "Network Configuration..."
-msgstr "Ağ Konfigürasyonu..."
+msgstr "Ağ Yapılandırması..."
 
 msgid "Network Mount"
 msgstr "Ağ Bağla"
 
 msgid "Network SSID"
-msgstr "SSID Ağı"
+msgstr "Ağ SSID"
 
 msgid "Network Setup"
 msgstr "Ağ Kurulumu"
@@ -1855,7 +1853,7 @@ msgstr ""
 "Lütfen kanal aramasına başlamadan önce tuner ayarlarınızı yapınız."
 
 msgid "No useable USB stick found"
-msgstr "Kullanılabilir USB çubuk bulunamadı"
+msgstr "Kullanılabilir USB bellek bulunamadı"
 
 msgid ""
 "No valid service PIN found!\n"
@@ -1876,28 +1874,22 @@ msgstr ""
 "'Hayır' derseniz kurulum koruması devredışı kalacaktır."
 
 msgid ""
-"No working local networkadapter found.\n"
-"Please verify that you have attached a network cable and your Network is "
+"No working local network adapter found.\n"
+"Please verify that you have attached a network cable and your network is "
 "configured correctly."
 msgstr ""
-"Çalışan yerel ağ donanımı bulunamadı.\n"
-"Lütfen ağ kablonuzun bağlı olduğundan ve ağ ayarlarınızın doğru "
-"yapılandırıldığından emin olun."
 
 msgid ""
-"No working wireless interface found.\n"
-" Please verify that you have attached a compatible WLAN device or enable you "
-"local network interface."
+"No working wireless network adapter found.\n"
+"Please verify that you have attached a compatible WLAN device and your "
+"network is configured correctly."
 msgstr ""
 
 msgid ""
-"No working wireless networkadapter found.\n"
-"Please verify that you have attached a compatible WLAN USB Stick and your "
-"Network is configured correctly."
+"No working wireless network interface found.\n"
+" Please verify that you have attached a compatible WLAN device or enable "
+"your local network interface."
 msgstr ""
-"Çalışan kablosuz ağ donanımı bulunamadı.\n"
-" Uyumlu WLAN USB donanımının takılı olduğundan emin olun ve ağ ayarlarınızın "
-"doğru yapılandırıldığından emin olun."
 
 msgid "No, but restart from begin"
 msgstr "Hayır, ama en başından başlat"
@@ -1947,7 +1939,7 @@ msgid ""
 "format and use as .NFI image flasher. Press OK after you've put the stick "
 "back in."
 msgstr ""
-"Lütfen şimdi .NFI imajını yazmak üzere biçimlendirilmesi gereken USB çubuk "
+"Lütfen şimdi .NFI imajını yazmak üzere biçimlendirilmesi gereken USB bellek "
 "takın (en az 64MB kapasiteli). Hazırsanız kumandanızdan OK tuşuna basın."
 
 msgid ""
@@ -2027,7 +2019,7 @@ msgid "Parental control type"
 msgstr "Ebeveyn kontrolü tipi"
 
 msgid "Partitioning USB stick..."
-msgstr "USB çubuk bölümlendiriliyor..."
+msgstr "USB bellek bölümlendiriliyor..."
 
 msgid "Pause movie at end"
 msgstr "Bittiğinde filmi duraklat"
@@ -2109,6 +2101,8 @@ msgid ""
 "Please note that the previously selected media could not be accessed and "
 "therefore the default directory is being used instead."
 msgstr ""
+"Seçtiğiniz medyaya erişilemedi, bu yüzden yerine varsayılan klasör "
+"kullanılıyor."
 
 msgid "Please press OK to continue."
 msgstr "Devam etmek için lütfen OK'a basın"
@@ -2162,23 +2156,23 @@ msgid ""
 "Please use the UP and DOWN keys to select your language. Afterwards press "
 "the OK button."
 msgstr ""
-"Dil seçiminiz, yapmak için YUKARI ve AŞAĞI tuşlarını, onaylamak için OK "
+"Dil seçiminizi, yapmak için YUKARI ve AŞAĞI tuşlarını, onaylamak için OK "
 "tuşunu kullanın."
 
+msgid "Please wait for activation of your network configuration..."
+msgstr ""
+
 msgid "Please wait for md5 signature verification..."
 msgstr "md5 imza doğrulamasının yapılabilmesi için lütfen bekleyin..."
 
-msgid "Please wait while activating your network configuration..."
-msgstr ""
-
 msgid "Please wait while we configure your network..."
-msgstr ""
+msgstr "Lütfen ağ yapılandırılırken bekleyin..."
 
 msgid "Please wait while your network is restarting..."
-msgstr ""
+msgstr "Lütfen ağ yeniden başlatılırken bekleyin..."
 
 msgid "Please wait..."
-msgstr ""
+msgstr "Lütfen bekleyin..."
 
 msgid "Please wait... Loading list..."
 msgstr "Lütfen bekleyiniz... Liste yükleniyor..."
@@ -2271,7 +2265,7 @@ msgid "Provider"
 msgstr "Yayıncı"
 
 msgid "Provider to scan"
-msgstr ""
+msgstr "Yayıncıya göre ara"
 
 msgid "Providers"
 msgstr "Sağlayıcılar"
@@ -2350,7 +2344,7 @@ msgid "Refresh rate selection."
 msgstr "Tazeleme hızı seçimi."
 
 msgid "Remounting stick partition..."
-msgstr "USB çubuk bölümü (partition) yeniden yapılandırılıyor..."
+msgstr "USB bellek bölümlendirmesi (partition) yeniden yapılandırılıyor..."
 
 msgid "Remove Bookmark"
 msgstr "Yer imini Sil"
@@ -2418,7 +2412,7 @@ msgid "Restart test"
 msgstr "Test'i yenile"
 
 msgid "Restart your network connection and interfaces.\n"
-msgstr "Ağ bağlantısını ve ağ arayüzlerini yeniden başlat.\n"
+msgstr "Ağ bağlantısını ve ağ arayüzlerini yeniden başlatın.\n"
 
 msgid "Restore"
 msgstr "Geri yükle"
@@ -2540,7 +2534,7 @@ msgid "Scan Wireless Networks"
 msgstr "Kablosuz Ağları Ara"
 
 msgid "Scan additional SR"
-msgstr ""
+msgstr "Eklenen SR'leri ara"
 
 msgid "Scan band EU HYPER"
 msgstr "EU HYPER bantını ara"
@@ -2615,7 +2609,7 @@ msgid "Select a movie"
 msgstr "Bir film seçin"
 
 msgid "Select audio mode"
-msgstr "Ses kanalını seç"
+msgstr "Ses kanalını seçin"
 
 msgid "Select audio track"
 msgstr "Kullanmak istediğiniz ses izini seçin"
@@ -2693,7 +2687,7 @@ msgid "Set as default Interface"
 msgstr "Varsayılan arayüz olarak ayarla"
 
 msgid "Set interface as default Interface"
-msgstr ""
+msgstr "Arayüzü varsayılan arayüz olarak ata"
 
 msgid "Set limits"
 msgstr "Limitleri belirle"
@@ -2738,7 +2732,7 @@ msgid "Show the tv player..."
 msgstr "TV oynatıcıyı göster..."
 
 msgid "Shows the state of your wireless LAN connection.\n"
-msgstr "Kablosuz Ağ bağlantı durumunu göster.\n"
+msgstr "Kablosuz ağ bağlantısı durumunu gösterir.\n"
 
 msgid "Shutdown Dreambox after"
 msgstr "sonrasında Dreambox'ı kapat."
@@ -2793,7 +2787,7 @@ msgid "Some plugins are not available:\n"
 msgstr "Programların bazıları kullanılamaz:\n"
 
 msgid "Somewhere else"
-msgstr ""
+msgstr "Başka bir yere"
 
 msgid ""
 "Sorry your Backup destination does not exist\n"
@@ -2816,7 +2810,7 @@ msgid "Sound"
 msgstr "Ses"
 
 msgid "Soundcarrier"
-msgstr ""
+msgstr "Ses taşıyıcı"
 
 msgid "South"
 msgstr "Güney"
@@ -2987,7 +2981,7 @@ msgstr ""
 "\n"
 "%s\n"
 "\n"
-"USB flaşlayıcıyı bu USB çubuğa yazmak istiyor musunuz?"
+"USB flaşlayıcıyı bu USB belleğe yazmak istiyor musunuz?"
 
 msgid ""
 "The input port should be configured now.\n"
@@ -3159,7 +3153,7 @@ msgid ""
 "If you get an \"enabeld\" message:\n"
 "-verify that you have a configured and working DHCP Server in your network."
 msgstr ""
-"Bu işlem ağ bağlantınızın IP adresini DHCP servisinden alıp almadığını test "
+"Bu işlem ağ donanımınızın, IP adresini DHCP servisinden alıp almadığını test "
 "eder.\n"
 "Eğer \"devre dışı\" mesajı alıyorsanız:\n"
 "- Yerel ağ donanım yapılandırmanızda IP adresini elle girmiş olabilirsiniz.\n"
@@ -3242,6 +3236,9 @@ msgid ""
 "To make sure you intend to do this, please remove the target USB stick now "
 "and stick it back in upon prompt. Press OK when you have taken the stick out."
 msgstr ""
+"Bunu yapmak istediğinizden eminseniz, lütfen hedef USB çubuğu yerinden "
+"çıkarın ve istenildiğinde tekrar takın. USB çubuğu çıkardıysanız lütfen OK "
+"tuşuna basın."
 
 msgid "Today"
 msgstr "Bugün"
@@ -3330,7 +3327,7 @@ msgid "USB"
 msgstr "USB"
 
 msgid "USB Stick"
-msgstr "USB Çubuk (stick)"
+msgstr "USB Bellek"
 
 msgid ""
 "Unable to complete filesystem check.\n"
@@ -3480,10 +3477,10 @@ msgid "View Rass interactive..."
 msgstr ""
 
 msgid "View teletext..."
-msgstr "Teleteksi gör..."
+msgstr "Teletekse bak..."
 
 msgid "Virtual KeyBoard"
-msgstr ""
+msgstr "Sanal Klavye"
 
 msgid "Voltage mode"
 msgstr "Voltaj modu"
@@ -3501,7 +3498,7 @@ msgid "WPA"
 msgstr "WPA"
 
 msgid "WPA or WPA2"
-msgstr ""
+msgstr "WPA veya WPA2"
 
 msgid "WPA2"
 msgstr "WPA2"
@@ -3680,16 +3677,16 @@ msgid ""
 "to the harddisk!\n"
 "Please press OK to start the backup now."
 msgstr ""
-"Yedeklemeyi CF (compact flash) karta yedeklemeyi seçtiniz. Kart, yuvasına "
-"takılmış olmalıdır. Sabit diske yedek almak daha güvenlidir!\n"
+"Ayarlarınızın yedeğini CF (compact flash) karta almayı seçtiniz. Kart, "
+"yuvasına takılmış olmalıdır. Sabit diske yedek almak daha güvenlidir!\n"
 "Yedeklemeyi başlatmak için OK tuşuna basın."
 
 msgid ""
 "You have chosen to backup to an usb drive. Better backup to the harddisk!\n"
 "Please press OK to start the backup now."
 msgstr ""
-"Yedeklemeyi USB sürücüye yedeklemeyi seçtiniz. Sabit diske yedek almak daha "
-"güvenlidir!\n"
+"Ayarlarınızın yedeğini USB sürücüye almayı seçtiniz. Sabit diske yedek almak "
+"daha güvenlidir!\n"
 "Yedeklemeyi başlatmak için OK tuşuna basın."
 
 msgid ""
@@ -3769,13 +3766,13 @@ msgstr ""
 "Güncellemeye başlamak için OK tuşuna basın."
 
 msgid "Your network configuration has been activated."
-msgstr ""
+msgstr "Ağ yapılandırmanız etkinleştirildi."
 
 msgid ""
 "Your network configuration has been activated.\n"
 "A second configured interface has been found.\n"
 "\n"
-"Do you want to disable the second networkinterface?"
+"Do you want to disable the second network interface?"
 msgstr ""
 
 msgid "Zap back to service before positioner setup?"
@@ -3812,10 +3809,10 @@ msgid "about to start"
 msgstr ""
 
 msgid "activate current configuration"
-msgstr ""
+msgstr "geçerli yapılandırmayı aktif et"
 
 msgid "add a nameserver entry"
-msgstr ""
+msgstr "isim sunucu kaydı ekle"
 
 msgid "add alternatives"
 msgstr "alternatiflere ekle"
@@ -4014,7 +4011,7 @@ msgid "end favourites edit"
 msgstr "favori düzenlemeyi bitir"
 
 msgid "enigma2 and network"
-msgstr ""
+msgstr "enigma2 ve ağ"
 
 msgid "equal to"
 msgstr "eşittir"
@@ -4032,17 +4029,20 @@ msgid "exit movielist"
 msgstr "film listesinden çık"
 
 msgid "exit nameserver configuration"
-msgstr ""
+msgstr "isim sunucu yapılandırmasından çık"
 
-msgid "exit networkadapter configuration"
+msgid "exit network adapter configuration"
 msgstr ""
 
-msgid "exit networkadapter setup menu"
+msgid "exit network adapter setup menu"
 msgstr ""
 
-msgid "exit networkinterface list"
+msgid "exit network interface list"
 msgstr ""
 
+msgid "exit networkadapter setup menu"
+msgstr "ağ donanımı kurulum menüsünden çık"
+
 msgid "failed"
 msgstr "başarısız"
 
@@ -4187,16 +4187,16 @@ msgid "move PiP to main picture"
 msgstr "PiP'i ana ekrana taşı"
 
 msgid "move down to last entry"
-msgstr ""
+msgstr "en sona taşı"
 
 msgid "move down to next entry"
-msgstr ""
+msgstr "bir alta taşı"
 
 msgid "move up to first entry"
-msgstr ""
+msgstr "en üste taşı"
 
 msgid "move up to previous entry"
-msgstr ""
+msgstr "bir üste taşı"
 
 msgid "movie list"
 msgstr "film listesi"
@@ -4259,7 +4259,7 @@ msgid "once"
 msgstr "birkez"
 
 msgid "open nameserver configuration"
-msgstr ""
+msgstr "isim sunucu yapılandırmasını aç"
 
 msgid "open servicelist"
 msgstr "kanal listesini aç"
@@ -4271,7 +4271,7 @@ msgid "open servicelist(up)"
 msgstr "kanal listesini aç (yukarı)"
 
 msgid "open virtual keyboard input help"
-msgstr ""
+msgstr "sanal klayve girişi yardımını aç"
 
 msgid "pass"
 msgstr "geç"
@@ -4310,7 +4310,7 @@ msgid "recording..."
 msgstr "kaydediliyor..."
 
 msgid "remove a nameserver entry"
-msgstr ""
+msgstr "isim sunucusu kaydı silin"
 
 msgid "remove after this position"
 msgstr "bu noktadan sonrasını kaldır"
@@ -4389,10 +4389,10 @@ msgid "select image from server"
 msgstr "imajı sunucudan seç"
 
 msgid "select interface"
-msgstr ""
+msgstr "arayüzü seçin"
 
 msgid "select menu entry"
-msgstr ""
+msgstr "menü girişini seçin"
 
 msgid "select movie"
 msgstr "film seç"
@@ -4518,7 +4518,7 @@ msgid "text"
 msgstr "metin"
 
 msgid "this recording"
-msgstr ""
+msgstr "bu kaydın"
 
 msgid "this service is protected by a parental control pin"
 msgstr "bu kanal ebeveyn kontrol şifresiyle korunuyor"
@@ -4527,7 +4527,7 @@ msgid "toggle a cut mark at the current position"
 msgstr ""
 
 msgid "toggle time, chapter, audio, subtitle info"
-msgstr ""
+msgstr "zaman, bölüm, ses, altyazı bilgisini aç/kapa"
 
 msgid "unconfirmed"
 msgstr "doğrulanamadı"
@@ -4597,6 +4597,13 @@ msgstr "kanal değiştirildi"
 #~ msgid "\"?"
 #~ msgstr "\"?"
 
+#~ msgid "* Only available if more then one interface is active."
+#~ msgstr "* Yalnızca birden fazla arayüz olduğunda kullanılabilir."
+
+#~ msgid "* Only available when entering hidden ssid or network key"
+#~ msgstr ""
+#~ "* Yalnızca gizlenmiş SSID veya ağ anahtarı girildiğinde kullanılabilir"
+
 #~ msgid ""
 #~ "Are you sure you want to enable WLAN support?\n"
 #~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
@@ -4679,9 +4686,21 @@ msgstr "kanal değiştirildi"
 #~ "Dreambox'un yerel ağ bağlantısını aç.\n"
 #~ "\n"
 
+#~ msgid "Enter WLAN networkname/SSID:"
+#~ msgstr "Kablosuz (WLAN) ağ adı/SSID girin:"
+
 #~ msgid "Exit wizard and configure later manually"
 #~ msgstr "Sihirbazdan çık ve ayarları daha sonra elle yap"
 
+#~ msgid ""
+#~ "No working local networkadapter found.\n"
+#~ "Please verify that you have attached a network cable and your Network is "
+#~ "configured correctly."
+#~ msgstr ""
+#~ "Çalışan yerel ağ donanımı bulunamadı.\n"
+#~ "Lütfen ağ kablonuzun bağlı olduğundan ve ağ ayarlarınızın doğru "
+#~ "yapılandırıldığından emin olun."
+
 #~ msgid ""
 #~ "No working wireless interface found.\n"
 #~ " Please verify that you have attached a compatible WLAN USB Stick or "
@@ -4691,6 +4710,15 @@ msgstr "kanal değiştirildi"
 #~ " Uyumlu WLAN USB donanımının takılı olduğundan emin olun veya yeral ağ "
 #~ "arayüzünü kullanın."
 
+#~ msgid ""
+#~ "No working wireless interface found.\n"
+#~ " Please verify that you have attached a compatible WLAN device or enable "
+#~ "you local network interface."
+#~ msgstr ""
+#~ "Çalışan kablosuz ağ arayüzü bulunamadı.\n"
+#~ " Uyumlu WLAN USB donanımının takılı olduğundan emin olun veya yerel ağ "
+#~ "arayüzünü kullanın."
+
 #~ msgid ""
 #~ "No working wireless interface found.\n"
 #~ " Please verify that you have attached a compatible WLAN device or enable "
@@ -4700,6 +4728,15 @@ msgstr "kanal değiştirildi"
 #~ " Uyumlu WLAN USB donanımının takılı olduğundan emin olun veya yerel ağ "
 #~ "arayüzünü kullanın."
 
+#~ msgid ""
+#~ "No working wireless networkadapter found.\n"
+#~ "Please verify that you have attached a compatible WLAN USB Stick and your "
+#~ "Network is configured correctly."
+#~ msgstr ""
+#~ "Çalışan kablosuz ağ donanımı bulunamadı.\n"
+#~ " Uyumlu WLAN USB donanımının takılı olduğundan emin olun ve ağ "
+#~ "ayarlarınızın doğru yapılandırıldığından emin olun."
+
 #~ msgid "No, let me choose default lists"
 #~ msgstr "Hayır, öntanımlı listeleri seçmeme izin ver"
 
@@ -4731,6 +4768,9 @@ msgstr "kanal değiştirildi"
 #~ msgid "Please select below the wireless network you want to connect to."
 #~ msgstr "Lütfen bağlanmak istediğiniz kablosuz ağı seçin."
 
+#~ msgid "Please wait while activating your network configuration..."
+#~ msgstr "Lütfen ağ yapılandırmanız etkinleştirilirken bekleyin..."
+
 #~ msgid ""
 #~ "Pressing OK enables the built in wireless LAN support of your Dreambox.\n"
 #~ "Wlan USB Sticks with Zydas ZD1211B and RAlink RT73 Chipset are "
@@ -4836,6 +4876,17 @@ msgstr "kanal değiştirildi"
 #~ "Yerel ağ üzerinden internet bağlantınız çalışmıyor\n"
 #~ "Lütfen ne yapmak istediğinizi bir sonraki adımda seçin"
 
+#~ msgid ""
+#~ "Your network configuration has been activated.\n"
+#~ "A second configured interface has been found.\n"
+#~ "\n"
+#~ "Do you want to disable the second networkinterface?"
+#~ msgstr ""
+#~ "Ağ yapılandırmanız etkinleştirildi.\n"
+#~ "Yapılandırılmış ikinci bir arayüz bulundu.\n"
+#~ "\n"
+#~ "İkinci ağ arayüzünüzü devre dışı bırakmak istiyor musunuz?"
+
 #~ msgid ""
 #~ "Your network is restarting.\n"
 #~ "You will be automatically forwarded to the next step."
@@ -4869,6 +4920,12 @@ msgstr "kanal değiştirildi"
 #~ msgid "equal to Socket A"
 #~ msgstr "Soket A'ya eşit"
 
+#~ msgid "exit networkadapter configuration"
+#~ msgstr "ağ donanımı yapılandırmasından çık"
+
+#~ msgid "exit networkinterface list"
+#~ msgstr "ağ arayüzleri listesinden çık"
+
 #~ msgid "full /etc directory"
 #~ msgstr "/etc klasörünün tamamı"